Home | History | Annotate | only in /src/sys/arch/acorn32/stand
History log of /src/sys/arch/acorn32/stand
RevisionDateAuthorComments
 1.4 13-Aug-2018  mrg include the boot32 and nbfs boot programs for eabi, as acorn32
with eabi still wants them.

not tested. someone, please test. this fixes the acorn32 build
since it was switched to eabi.
 1.3 01-May-2013  matt branches: 1.3.34; 1.3.36;
Fix abi/arch/float-abi so can be built from any arm port.
Force MACHINE to acorn32
Only build little-endian non-earm.
 1.2 04-Jul-2006  bjh21 branches: 1.2.98; 1.2.108;
Descend into nbfs -- I think it's useful now.
 1.1 28-Dec-2002  reinoud branches: 1.1.2; 1.1.20; 1.1.34; 1.1.38; 1.1.46;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.46.1 13-Jul-2006  gdamore Merge from HEAD.
 1.1.38.1 11-Aug-2006  yamt sync with head
 1.1.34.1 09-Sep-2006  rpaulo sync with head
 1.1.20.1 30-Dec-2006  yamt sync with head.
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file Makefile was added on branch nathanw_sa on 2002-12-29 19:15:05 +0000
 1.2.108.1 23-Jun-2013  tls resync from head
 1.2.98.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.3.36.1 10-Jun-2019  christos Sync with HEAD
 1.3.34.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.27 07-Sep-2020  mrg -march=armv3m option is obsolete. remove it from commented kernel
configurations (we haven't supported those machines lately anyway),
and, for GCC >= 9, from the one caller.
 1.26 26-Apr-2020  rin Adjust for binutils 2.34 in the same manner as efiboot:
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/stand/efiboot/Makefile.efiboot#rev1.12

XXX
Compile test only.
 1.25 24-Oct-2019  christos 1. All Makefiles that use ARM_APCS_FLAGS add -marm unconditionally and
bsd.own.mk also adds it for gcc only (so we end up with 2 -marm for gcc).
Just add -marm unconditionally in bsd.own.mk in ARM_APCS_FLAGS and remove
it from everywhere else.
2. gcc-8 now warns about thumb internetwork in APCS mode. This does not make
sense because the documentation says that this flag does not make a
difference in apcs mode, but might produce larger code in non-APCS mode.
So we just add it to silence the warnings.
 1.24 09-Apr-2017  christos branches: 1.24.14;
Put back KLINK_MACHINE
 1.23 08-Apr-2017  christos centralize vers.c building for standalone programs.
 1.22 22-Feb-2017  maya GC gcc < 4.8 logic.

-marm implies -mno-thumb, and -mno-thumb-interwork is a GCC default.
 1.21 12-Jan-2014  tsutsui branches: 1.21.6; 1.21.10; 1.21.14;
Add empty LIBCRTI= as LIBCRT0 to build sa programs without installed DESTDIR.

XXX: probabry we should have bsd.saprog.mk or something.
 1.20 15-Dec-2013  joerg Move flags for ARM's APCS ABI into a common variable. Add some forces to
deal with limitations in the Clang <-> LLVM backend interaction to pick
the correct ABI and target assembler.
 1.19 04-Nov-2013  christos explicitly add -marm
 1.18 04-Nov-2013  christos no-thumb-interlock is the default, and no-thumb does not exist in gcc 4.8
 1.17 15-Aug-2013  matt Add CPPFLAGS+= -mno-thumb -mno-thumb-interwork
 1.16 02-May-2013  matt branches: 1.16.4;
use KLINK_MACHINE
 1.15 01-May-2013  matt Fix abi/arch/float-abi so can be built from any arm port.
Force MACHINE to acorn32
Only build little-endian non-earm.
 1.14 22-Jan-2011  joerg branches: 1.14.4; 1.14.14;
Drop bootprog_maker (formerly enabled by -M) and bootprog_date (formerly
disabled by -D) from the output of newvers_stand.sh. Change -D to the
inverted logic, so that it adds the date to bootprog_rev in ().

Change all platforms accordingly. -D is added if MKREPRO is not yes and
wasn't present before. Platforms that didn't use -D don't depend on
MKREPRO now either.
 1.13 03-Apr-2009  tsutsui branches: 1.13.4; 1.13.6; 1.13.8;
Remove obsolete LIBSA_USE_MEMCPY and LIBSA_USE_MEMSET.
They were removed from <lib/libsa/stand.h> on December 2007.
 1.12 02-Apr-2006  bjh21 branches: 1.12.68; 1.12.76; 1.12.82;
Circular references are almost inevitable between libsa and libriscos.
Solve them the easy way, using --start-group and --end-group.
 1.11 01-Apr-2006  bjh21 Add code to support access to RISC OS disk devices from libsa. This is
sufficient to allow a small wrapper program to access files on the NetBSD
partition of a shared disk. NetBSD-only disks don't work (FileCore objects
to the lack of a boot block), and there's no code to actually use this
facility yet.
 1.10 29-Mar-2006  bjh21 Provide a default for MKMODULE.
 1.9 28-Mar-2006  bjh21 Add infrastructure for building real RISC OS relocatable modules, since I've
worked out how to do it. boot32 doesn't use this mechanism because converting
it would take a fair amount of effort for little gain at this stage.
 1.8 11-Dec-2005  christos branches: 1.8.4; 1.8.6; 1.8.8; 1.8.10; 1.8.12;
merge ktrace-lwp.
 1.7 23-Nov-2003  bjh21 branches: 1.7.16;
Remove spurious whitespace.
 1.6 23-Nov-2003  bjh21 Create the "machine" and "arm" links directly from the .BEGIN rule, rather
than in dependencies of it, since .BEGIN is apparently only special for
its commands, not its dependencies. This should get boot26, and probably
boot32, compiling again.
 1.5 26-Oct-2003  lukem Use ${HOST_SH} instead of `sh'.

If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
 1.4 08-Oct-2003  simonb Define LIB{CRT0,C,CRTBEGIN,CRTEND} as nothing, we don't need to link
against them.
 1.3 21-Sep-2003  matt Fix some GCC3.3.1 nits (-ffreestanding, #include <lib/libkern/libkern.h>)
 1.2 20-Apr-2003  bjh21 branches: 1.2.2;
Create a symlink to sys/arch/arm/include alongside the one to
sys/arch/${MACHINE}/include.
 1.1 28-Dec-2002  reinoud branches: 1.1.2;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file Makefile.buildboot was added on branch nathanw_sa on 2002-12-29 19:15:05 +0000
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.7.16.1 21-Jun-2006  yamt sync with head.
 1.8.12.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.8.12.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.8.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.8.8.2 11-Apr-2006  yamt sync with head
 1.8.8.1 01-Apr-2006  yamt sync with head.
 1.8.6.1 22-Apr-2006  simonb Sync with head.
 1.8.4.1 09-Sep-2006  rpaulo sync with head
 1.12.82.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.12.76.1 28-Apr-2009  skrll Sync with HEAD.
 1.12.68.1 04-May-2009  yamt sync with head.
 1.13.8.1 08-Feb-2011  bouyer Sync with HEAD
 1.13.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.13.4.1 05-Mar-2011  rmind sync with head
 1.14.14.3 03-Dec-2017  jdolecek update from HEAD
 1.14.14.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.14.14.1 23-Jun-2013  tls resync from head
 1.14.4.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.16.4.2 18-May-2014  rmind sync with head
 1.16.4.1 28-Aug-2013  rmind sync with head
 1.21.14.1 21-Apr-2017  bouyer Sync with HEAD
 1.21.10.2 26-Apr-2017  pgoyette Sync with HEAD
 1.21.10.1 20-Mar-2017  pgoyette Sync with HEAD
 1.21.6.1 28-Aug-2017  skrll Sync with HEAD
 1.24.14.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.6 09-May-2002  jdolecek This is now in distrib/acorn32/stand/BtNetBSD.
 1.5 09-May-2002  jdolecek seems like a ``cd .'' is necessary in non-interactive shell
to get PWD set in /bin/sh

XXX this should really be converted to Makefile, and avoid non-intree
XXX tools like zip
 1.4 15-Feb-2002  reinoud Create a .zip file next to the .tar file special for those Acorn folks who
can download a free unzipper but dont have access to a .tar.gz file.
 1.3 12-Feb-2002  reinoud Get rid of the verbose flag ... this only clobbers the output.
 1.2 11-Feb-2002  reinoud Update the bootloader extraction program to be more friendly and to provide
a way to include the bootloader in the release structure

XXX it needs to honour DESTDIR one day
 1.1 05-Oct-2001  reinoud branches: 1.1.4; 1.1.6;
Initial commit of the splitting off of arch/acorn32 from arch/arm32.

The IOMD/VIDC combination is now moved to arch/arm/iomd together. These
files still need a lot of cleaning up :( .... esp. the RC7500 support that
is still dormant in it; this needs either to be removed or split out for
RC7500's ``VIDC'' video/audio variant.

Apart from the RC7500 support wich is still in arch/arm32 the
iomd,vidc,riscpc and podulebus subdirectories of arch/arm32 can be removed.

This split still uses some small parts of arch/arm32 .... those are the MI
parts that haven't been moved yet.

RiscPC/A7000 have been tested and confirmed to build as should NC.
 1.1.6.4 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.6.3 16-Mar-2002  jdolecek Catch up with -current.
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 05-Oct-2001  thorpej file export-BtNetBSD was added on branch kqueue on 2002-01-10 19:36:41 +0000
 1.1.4.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.4.2 28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1 05-Oct-2001  nathanw file export-BtNetBSD was added on branch nathanw_sa on 2002-02-28 04:05:59 +0000
 1.2 09-May-2002  jdolecek This is now in distrib/acorn32/stand/BtNetBSD.
 1.1 05-Oct-2001  reinoud branches: 1.1.4; 1.1.6;
Initial commit of the splitting off of arch/acorn32 from arch/arm32.

The IOMD/VIDC combination is now moved to arch/arm/iomd together. These
files still need a lot of cleaning up :( .... esp. the RC7500 support that
is still dormant in it; this needs either to be removed or split out for
RC7500's ``VIDC'' video/audio variant.

Apart from the RC7500 support wich is still in arch/arm32 the
iomd,vidc,riscpc and podulebus subdirectories of arch/arm32 can be removed.

This split still uses some small parts of arch/arm32 .... those are the MI
parts that haven't been moved yet.

RiscPC/A7000 have been tested and confirmed to build as should NC.
 1.1.6.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.6.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.6.1 05-Oct-2001  thorpej file import-BtNetBSD was added on branch kqueue on 2002-01-10 19:36:41 +0000
 1.1.4.2 20-Jun-2002  nathanw Catch up to -current.
 1.1.4.1 05-Oct-2001  nathanw file import-BtNetBSD was added on branch nathanw_sa on 2002-06-20 03:37:21 +0000
 1.2 29-Dec-2018  christos Adjust for binutils-2.31.1
 1.1 28-Mar-2006  bjh21 branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.14; 1.1.20; 1.1.166; 1.1.168;
Add infrastructure for building real RISC OS relocatable modules, since I've
worked out how to do it. boot32 doesn't use this mechanism because converting
it would take a fair amount of effort for little gain at this stage.
 1.1.168.1 10-Jun-2019  christos Sync with HEAD
 1.1.166.1 18-Jan-2019  pgoyette Synch with HEAD
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 28-Mar-2006  rpaulo file module.ldscript was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:36:41 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 28-Mar-2006  yamt file module.ldscript was added on branch yamt-lazymbuf on 2006-06-21 14:47:48 +0000
 1.1.8.2 22-Apr-2006  simonb Sync with head.
 1.1.8.1 28-Mar-2006  simonb file module.ldscript was added on branch simonb-timecounters on 2006-04-22 11:37:10 +0000
 1.1.6.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.6.1 28-Mar-2006  elad file module.ldscript was added on branch elad-kernelauth on 2006-04-19 02:31:57 +0000
 1.1.4.2 11-Apr-2006  yamt sync files somehow mis-tagged by yamt-pdpolicy-base2.
 1.1.4.1 28-Mar-2006  yamt file module.ldscript was added on branch yamt-pdpolicy on 2006-04-11 12:20:51 +0000
 1.1.2.2 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.1.2.1 28-Mar-2006  tron file module.ldscript was added on branch peter-altq on 2006-03-31 09:44:55 +0000
 1.7 06-Feb-2021  joerg Modernize acorn32 boot code to work directly with LLVM's assembler.
 1.6 02-Aug-2019  joerg branches: 1.6.8;
Force use of GNU as for acorn32 boot code (pre-unified assembly)
 1.5 01-Apr-2006  bjh21 branches: 1.5.156;
Add code to support access to RISC OS disk devices from libsa. This is
sufficient to allow a small wrapper program to access files on the NetBSD
partition of a shared disk. NetBSD-only disks don't work (FileCore objects
to the lack of a boot block), and there's no code to actually use this
facility yet.
 1.4 11-Dec-2005  christos branches: 1.4.4; 1.4.6; 1.4.8; 1.4.10; 1.4.12;
merge ktrace-lwp.
 1.3 18-May-2004  gavan branches: 1.3.12;
Claim maximum available memory during boot32 startup. This removes
the need to explicitly set the WIMP slot size before running the bootloader.

Conditional on BOOT_MAXIMISE_MEMORY, so as not to interfere with potential
future uses of libriscos.

Also remove references to increasing WIMP slot size, as this is now
meaningless.
 1.2 26-Oct-2003  lukem branches: 1.2.2;
Use ${HOST_SH} instead of `sh'.

If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
 1.1 28-Dec-2002  reinoud branches: 1.1.2; 1.1.4;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.4.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.4.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.4.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file Makefile was added on branch nathanw_sa on 2002-12-29 19:15:06 +0000
 1.2.2.1 22-May-2004  he Pull up revision 1.3 (requested by abs in ticket #365):
Claim maximum available memory during boot32 startup. This
removes the need to explicitly set the WIMP slot size before
running the bootloader.
Conditional on BOOT_MAXIMISE_MEMORY, so as not to interfere
with potential future uses of libriscos.
Also remove references to increasing WIMP slot size, as
this is now meaningless.
 1.3.12.1 21-Jun-2006  yamt sync with head.
 1.4.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.4.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.4.8.1 11-Apr-2006  yamt sync with head
 1.4.6.1 22-Apr-2006  simonb Sync with head.
 1.4.4.1 09-Sep-2006  rpaulo sync with head
 1.5.156.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.6.8.1 03-Apr-2021  thorpej Sync with HEAD.
 1.50 24-May-2022  andvar fix various typos in comments, docs and log messages.
 1.49 29-Apr-2022  rin Fix fallout from libsa change; stand.h includes <sys/param.h> now.

Use '\0' instead of NULL for NUL-character.
 1.48 10-Nov-2021  msaitoh s/compatability/compatibility/ in comment.
 1.47 27-Dec-2019  msaitoh s/suport/support/
 1.46 23-Jan-2019  sborrill Don't call OS_ReadSysInfo Platform class call on RISC OS 3
 1.45 30-Oct-2018  christos no param names in prototype.
 1.44 30-Oct-2018  christos provide a main prototype (this is standalone)
 1.43 24-Jan-2018  skrll branches: 1.43.2; 1.43.4;
Remove port-acorn26

OK core@
 1.42 11-Jun-2016  dholland PR 51200 gets in libsa considered harmful: use kgets
 1.41 21-Mar-2014  christos branches: 1.41.6;
kill sprintf
 1.40 04-Nov-2013  christos remove unused variable
 1.39 10-May-2012  skrll branches: 1.39.2; 1.39.4;
_int*_t -> uint*_t

Same code before and after.
 1.38 22-Jan-2011  joerg branches: 1.38.4; 1.38.8;
Drop bootprog_maker (formerly enabled by -M) and bootprog_date (formerly
disabled by -D) from the output of newvers_stand.sh. Change -D to the
inverted logic, so that it adds the date to bootprog_rev in ().

Change all platforms accordingly. -D is added if MKREPRO is not yes and
wasn't present before. Platforms that didn't use -D don't depend on
MKREPRO now either.
 1.37 02-Aug-2009  gavan branches: 1.37.4; 1.37.6; 1.37.8;
Don't reset devices if booting an Iyonix. It's fine for acorn32 devices
because we know how to configure all of the hardware, but as we don't know
how to configure the Iyonix graphics card we must rely on RISC OS to do
it for us.

While we're here, space separate the kernel arguments. It's a bit hard
parsing them in the kernel when they're all run together.
 1.36 18-Mar-2009  cegger bzero -> memset
 1.35 23-Nov-2008  chris branches: 1.35.4;
Stop attempts to boot a kernel that is bigger than the first DRAM block.

At the moment too much stuff assumes that the kernel is contiguous in
physical memory.

While this doesn't make an INSTALL kernel work for me it at least now
indicates what the fault is, and I can swap the memory sticks round.
 1.34 12-Apr-2008  chris branches: 1.34.4; 1.34.10; 1.34.12;
Ignore size alignment issues, as we're never going to have a case where
copying a three extra bytes will cause an issue.
 1.33 03-Feb-2008  chris branches: 1.33.6;
Fix-up boot32 to work on A7000+

Logically the previous code should have worked but didn't. It appeared to
fail when reading the relocation table from physical memory.

To work-around this issue we now compact the relocation table (it shrinks
from ~800 entries to ~15 on a 2.5MB kernel) The compacted table is small
enough to copy into the page of memory we use to do the relocations. The
relocation code can now find the table, and carry out the relocations.

To help with debugging the screen border will change colour:
Red: Running without the MMU turned on (IE 1-1 physical mapping)
Note that the border will stay red a while as we're copying the
kernel over at this point.
Green: We've finished copying the kernel over (unless the code breaks
this will be rarely seen)
Blue: We're running on the bootstrap L1 table, and just about to call
the kernel.

Other tweaks include:
* copy the kernel 32bits at a time, rather than 8 bits at a time.
* assert that the relocations are 32bit aligned (so the above works)
* flush the cache and write buffers before turning off the MMU.

Tested by myself on an A7000+. Tested by skrll@ on Risc-PC and A7000.
 1.32 26-Jan-2008  chris Fix support for kinetic in the bootloader.

With these changes the kinetic dram blocks are correctly identified and
passed into the kernel.

Note that I've a pending kernel change to understand the kinetic blocks
and do something useful with them.
 1.31 21-Jan-2008  chris Zero out the whole of the structure, not just the first 4 bytes. IE use
sizeof(*bconfig) not sizeof(bconfig)

Now a small kernel will boot up on my RISC-PC, an install kernel won't
though, it hangs at the switch from RISC-OS to NetBSD.
 1.30 04-Mar-2007  christos branches: 1.30.16; 1.30.20; 1.30.22; 1.30.28; 1.30.34;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.29 19-Aug-2006  bjh21 branches: 1.29.6; 1.29.8; 1.29.12; 1.29.16;
Add support to boot32 for passing a real vsync frequency to NetBSD.
Unfortunately, RISC OS doesn't seem to provide a sensible way to ask what
frame rate it's using so we resort to measuring it ourselves.
 1.28 25-Jun-2006  christos GCC4 fixes from Mike Pumford
 1.27 25-Mar-2006  bjh21 branches: 1.27.4;
Don't rely on first_mapped_PODRAM_page_index being zero on systems without
PODRAM, especially since it's initialised to -1. Instead, use
(podram_blocks != 0) to decide when to use it. This still doesn't make
my Risc PC boot, but it generates a believable relocation table now.
 1.26 25-Mar-2006  bjh21 When looking for somewhere to put the relocation table, reset the counter of
contingous pages to zero when we find a non-contiguous one. This way, we'll
actually find a contiguous block of the correct size (assuming there is one).
The updated version still boots my NC correctly, and fails slightly more
pleasantly on mr Risc PC.
 1.25 23-Mar-2006  bjh21 Use normal array subscripting syntax in place of addition and dereferencing.
No binary code change.
 1.24 23-Mar-2006  bjh21 Ah yes, _that's_ why we don't use field widths in printf() here: libsa's
printf() doesn't support them. Revert to using print0() while I ponder the
matter.
 1.23 23-Mar-2006  bjh21 Use slightly more advanced printf() formats to replace the horrid print0()
function.
 1.22 23-Mar-2006  bjh21 Substantial syntactic KNF, mostly removing surplus punctuation.
Generated code is unchanged.
 1.21 23-Mar-2006  bjh21 Reduce to 80 columns again. It's over two years since Reinoud touched this
code, so I hope this won't affect him too adversely.

Compiled binaries are (modulo date stamps) the same before and after.
 1.20 11-Dec-2005  christos branches: 1.20.4; 1.20.6; 1.20.8; 1.20.10; 1.20.12;
merge ktrace-lwp.
 1.19 26-May-2004  abs branches: 1.19.12;
Adjust the reserved heap space based on memory size. This avoids running out
of heap on machines with large amounts of memory. Tested on 33MB RISC OS 4
and 128MB RISC OS 5 machines. Updated version to 3.40.
 1.18 19-May-2004  abs Add qsort to libsa (taken from sys/dev/vinum/vinumqsort.c) and use instead of
bubblesort in acorn32 bootloader. Reduces time to sort memory on A710 equipped
RiscPC from over twenty seconds to effectively instantaneous.
Update boot version to 3.30
 1.17 18-May-2004  gavan Claim maximum available memory during boot32 startup. This removes
the need to explicitly set the WIMP slot size before running the bootloader.

Conditional on BOOT_MAXIMISE_MEMORY, so as not to interfere with potential
future uses of libriscos.

Also remove references to increasing WIMP slot size, as this is now
meaningless.
 1.16 20-Jul-2003  reinoud branches: 1.16.2;
First step towards more KNF; but most of all hopefully solving PR
acorn32/15850
 1.15 03-Jun-2003  reinoud branches: 1.15.2;
Cleanup DRAM video memory allocation. This needed to be done anyway and it
also ought to solve bootproblems with the A7000(+) family.

As an extra benefit, the surplus memory of the screen is returned to the
memorypool.
 1.14 20-Apr-2003  bjh21 KNF doesn't apply to Reinoud -- back out my last two changes.
 1.13 20-Apr-2003  bjh21 KNF
 1.12 20-Apr-2003  bjh21 80 columns, dammit!
 1.11 15-Jan-2003  reinoud Small typo and add initialisation for the `bank' counter
 1.10 08-Jan-2003  reinoud Fixup serious loading problems (together with the former commit of start.S)
major code cleanup esp. types used. Also cleanup up a major BUG that for
some odd reason worked :-/ makes me puzzled. It signifies that there might
be copies around in physical space of the DRAM ??? and thus its function
was motherboard dependent? It must have been old cruft from before the
cleanup of the relocation engine.
 1.9 06-Jan-2003  reinoud Fix miscelanious small errors that arose from having non Mb aligned memory
for the videoscreen.
 1.8 06-Jan-2003  reinoud Small fixes that showed up during boot-testing of a Pace DSL4000 running
the RISC OS-STB 4.0.0 version of RISC OS.
 1.7 06-Jan-2003  reinoud We have version 3.02 now : just a small fix for bootkernel name guessing.
 1.6 30-Dec-2002  reinoud In the case there is just one SIMM and one memory bank from the SIMM things
got wrong when no VRAM was there.

Placing the video DRAM in front of the kernel is OK when its 1Mb since the
kernel wants to be on a Mb boundary. Placing the video DRAM in the last
SIMM bank at the front is also OK unless there is just one SIMM and just one
bank; then it got in the way again!

Solution is to put the DRAM at the end of the SIMM instead of the beginning!
This however can result in the non 16 kb alignment of the top of physical
RAM where the temporary L1 page tables are situated. If its not 16 kb aligned
then move the L1 page table address down and down until it is 16 kb aligned.
This memory will be reused later on anyway.

What to do when we really support changing screensizes... see it as a max?
or use a different sceme alltogether? It might not even be a bootloader
problem then allthough its memory is not showing up in the DRAM/VRAM
block counts wich needs to be fixed one day.
 1.5 30-Dec-2002  reinoud Since we dont support switching screenmodes (yet) we might as well claim
just enough for the screenmemory to be in instead of the maximum of 1Mb.
Small machines like my 8Mb NC get a 700 kb back and thats really noticeable.
 1.4 30-Dec-2002  reinoud If we don't have VRAM then at least account the screensize correctly :) it goes
pretty wierd if it is set wrongly.
 1.3 30-Dec-2002  reinoud If we nick memory from the DRAM for video then please account it correctly!
 1.2 29-Dec-2002  reinoud branches: 1.2.2;
The unique machine ID is used in some networking stuff to generate a
unique-ish number, so better add it again!
 1.1 28-Dec-2002  reinoud Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.2.2.7 17-Jan-2003  thorpej Sync with HEAD.
 1.2.2.6 15-Jan-2003  thorpej Sync with HEAD.
 1.2.2.5 07-Jan-2003  thorpej Sync with HEAD.
 1.2.2.4 06-Jan-2003  reinoud Pull up the bootloader to -current
 1.2.2.3 03-Jan-2003  thorpej Sync with HEAD.
 1.2.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.2.2.1 29-Dec-2002  thorpej file boot32.c was added on branch nathanw_sa on 2002-12-29 19:15:06 +0000
 1.15.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.15.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.15.2.1 03-Aug-2004  skrll Sync with HEAD
 1.16.2.3 29-May-2004  tron Pull up revision 1.19 (requested by abs in ticket #404):
Adjust the reserved heap space based on memory size. This avoids running out
of heap on machines with large amounts of memory. Tested on 33MB RISC OS 4
and 128MB RISC OS 5 machines. Updated version to 3.40.
 1.16.2.2 22-May-2004  he Pull up revision 1.18 (requested by abs in ticket #369):
Add qsort to libsa (taken from sys/dev/vinum/vinumqsort.c)
and use instead of bubblesort in acorn32 bootloader. Reduces
time to sort memory on A710 equipped RiscPC from over twenty
seconds to effectively instantaneous. Update boot version
to 3.30
 1.16.2.1 22-May-2004  he Pull up revision 1.17 (requested by abs in ticket #365):
Claim maximum available memory during boot32 startup. This
removes the need to explicitly set the WIMP slot size before
running the bootloader.
Conditional on BOOT_MAXIMISE_MEMORY, so as not to interfere
with potential future uses of libriscos.
Also remove references to increasing WIMP slot size, as
this is now meaningless.
 1.19.12.5 04-Feb-2008  yamt sync with head.
 1.19.12.4 21-Jan-2008  yamt sync with head
 1.19.12.3 03-Sep-2007  yamt sync with head.
 1.19.12.2 30-Dec-2006  yamt sync with head.
 1.19.12.1 21-Jun-2006  yamt sync with head.
 1.20.12.1 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.20.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.20.8.3 03-Sep-2006  yamt sync with head.
 1.20.8.2 26-Jun-2006  yamt sync with head.
 1.20.8.1 01-Apr-2006  yamt sync with head.
 1.20.6.1 22-Apr-2006  simonb Sync with head.
 1.20.4.1 09-Sep-2006  rpaulo sync with head
 1.27.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.29.16.1 23-Feb-2008  bouyer Pull up following revision(s) (requested by chris in ticket #1063):
sys/arch/acorn32/stand/boot32/boot32.c: revision 1.31
Zero out the whole of the structure, not just the first 4 bytes. IE use
sizeof(*bconfig) not sizeof(bconfig)
Now a small kernel will boot up on my RISC-PC, an install kernel won't
though, it hangs at the switch from RISC-OS to NetBSD.
 1.29.12.1 03-Jun-2008  skrll Sync with netbsd-4.
 1.29.8.1 12-Mar-2007  rmind Sync with HEAD.
 1.29.6.1 23-Feb-2008  bouyer Pull up following revision(s) (requested by chris in ticket #1063):
sys/arch/acorn32/stand/boot32/boot32.c: revision 1.31
Zero out the whole of the structure, not just the first 4 bytes. IE use
sizeof(*bconfig) not sizeof(bconfig)
Now a small kernel will boot up on my RISC-PC, an install kernel won't
though, it hangs at the switch from RISC-OS to NetBSD.
 1.30.34.1 23-Jan-2008  bouyer Sync with HEAD.
 1.30.28.1 18-Feb-2008  mjf Sync with HEAD.
 1.30.22.1 23-Mar-2008  matt sync with HEAD
 1.30.20.2 09-Feb-2008  chris Sync to HEAD.
 1.30.20.1 27-Jan-2008  chris Sync to HEAD.
 1.30.16.1 28-Feb-2008  rjs Sync with HEAD.
 1.33.6.2 17-Jan-2009  mjf Sync with HEAD.
 1.33.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.34.12.2 28-Apr-2009  skrll Sync with HEAD.
 1.34.12.1 19-Jan-2009  skrll Sync with HEAD.
 1.34.10.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.34.4.2 19-Aug-2009  yamt sync with head.
 1.34.4.1 04-May-2009  yamt sync with head.
 1.35.4.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.37.8.1 08-Feb-2011  bouyer Sync with HEAD
 1.37.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.37.4.1 05-Mar-2011  rmind sync with head
 1.38.8.1 02-Jun-2012  mrg sync to latest -current.
 1.38.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.38.4.1 23-May-2012  yamt sync with head.
 1.39.4.1 18-May-2014  rmind sync with head
 1.39.2.2 03-Dec-2017  jdolecek update from HEAD
 1.39.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.41.6.1 09-Jul-2016  skrll Sync with HEAD
 1.43.4.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.43.4.1 10-Jun-2019  christos Sync with HEAD
 1.43.2.2 26-Jan-2019  pgoyette Sync with HEAD
 1.43.2.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 18-Nov-2003  gavan Mark module as 32-bit compatible
 1.2 08-Jan-2003  reinoud branches: 1.2.2;
From the comment :
/*
* The size of the code/data to be moved is not `end - rmbase' but
* `__bss_start__ - rmbase' for the module is loaded into RISC OS
* based on the filesize where as NetBSD doesn't have to include all
* the bss space into the file itself. In some odd cases the
* relocatable module area can be smaller than the module + bss and
* thus bomb out.
*/
 1.1 28-Dec-2002  reinoud branches: 1.1.2;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.2.3 15-Jan-2003  thorpej Sync with HEAD.
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file rmheader.S was added on branch nathanw_sa on 2002-12-29 19:15:07 +0000
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.6 09-Feb-2024  andvar s/discriptor/descriptor/ in comments.
 1.5 20-Aug-2021  andvar fix various typos in comments and log messages.
 1.4 06-Feb-2021  joerg Modernize acorn32 boot code to work directly with LLVM's assembler.
 1.3 03-Feb-2008  chris branches: 1.3.110;
Fix-up boot32 to work on A7000+

Logically the previous code should have worked but didn't. It appeared to
fail when reading the relocation table from physical memory.

To work-around this issue we now compact the relocation table (it shrinks
from ~800 entries to ~15 on a 2.5MB kernel) The compacted table is small
enough to copy into the page of memory we use to do the relocations. The
relocation code can now find the table, and carry out the relocations.

To help with debugging the screen border will change colour:
Red: Running without the MMU turned on (IE 1-1 physical mapping)
Note that the border will stay red a while as we're copying the
kernel over at this point.
Green: We've finished copying the kernel over (unless the code breaks
this will be rarely seen)
Blue: We're running on the bootstrap L1 table, and just about to call
the kernel.

Other tweaks include:
* copy the kernel 32bits at a time, rather than 8 bits at a time.
* assert that the relocations are 32bit aligned (so the above works)
* flush the cache and write buffers before turning off the MMU.

Tested by myself on an A7000+. Tested by skrll@ on Risc-PC and A7000.
 1.2 25-Jan-2008  chris Leave the SA's clockswitching enabled. It allows the SA to run at full
speed when running things from cache, rather than being in step with the
memory clock.
 1.1 28-Dec-2002  reinoud branches: 1.1.2; 1.1.20; 1.1.78; 1.1.82; 1.1.84; 1.1.90;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.90.1 18-Feb-2008  mjf Sync with HEAD.
 1.1.84.1 23-Mar-2008  matt sync with HEAD
 1.1.82.2 09-Feb-2008  chris Sync to HEAD.
 1.1.82.1 27-Jan-2008  chris Sync to HEAD.
 1.1.78.1 28-Feb-2008  rjs Sync with HEAD.
 1.1.20.1 04-Feb-2008  yamt sync with head.
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file start.S was added on branch nathanw_sa on 2002-12-29 19:15:07 +0000
 1.3.110.1 03-Apr-2021  thorpej Sync with HEAD.
 1.12 23-Nov-2008  chris Stop attempts to boot a kernel that is bigger than the first DRAM block.

At the moment too much stuff assumes that the kernel is contiguous in
physical memory.

While this doesn't make an INSTALL kernel work for me it at least now
indicates what the fault is, and I can swap the memory sticks round.
 1.11 19-Aug-2006  bjh21 branches: 1.11.58; 1.11.62; 1.11.68; 1.11.70;
Add support to boot32 for passing a real vsync frequency to NetBSD.
Unfortunately, RISC OS doesn't seem to provide a sensible way to ask what
frame rate it's using so we resort to measuring it ourselves.
 1.10 11-Dec-2005  christos branches: 1.10.4; 1.10.8;
merge ktrace-lwp.
 1.9 26-May-2004  abs branches: 1.9.12;
Adjust the reserved heap space based on memory size. This avoids running out
of heap on machines with large amounts of memory. Tested on 33MB RISC OS 4
and 128MB RISC OS 5 machines. Updated version to 3.40.
 1.8 19-May-2004  abs Add qsort to libsa (taken from sys/dev/vinum/vinumqsort.c) and use instead of
bubblesort in acorn32 bootloader. Reduces time to sort memory on A710 equipped
RiscPC from over twenty seconds to effectively instantaneous.
Update boot version to 3.30
 1.7 03-Jun-2003  reinoud branches: 1.7.2; 1.7.4;
Cleanup DRAM video memory allocation. This needed to be done anyway and it
also ought to solve bootproblems with the A7000(+) family.

As an extra benefit, the surplus memory of the screen is returned to the
memorypool.
 1.6 08-Jan-2003  reinoud Fixup serious loading problems (together with the former commit of start.S)
major code cleanup esp. types used. Also cleanup up a major BUG that for
some odd reason worked :-/ makes me puzzled. It signifies that there might
be copies around in physical space of the DRAM ??? and thus its function
was motherboard dependent? It must have been old cruft from before the
cleanup of the relocation engine.
 1.5 06-Jan-2003  reinoud Fix miscelanious small errors that arose from having non Mb aligned memory
for the videoscreen.
 1.4 06-Jan-2003  reinoud Small fixes that showed up during boot-testing of a Pace DSL4000 running
the RISC OS-STB 4.0.0 version of RISC OS.
 1.3 06-Jan-2003  reinoud We have version 3.02 now : just a small fix for bootkernel name guessing.
 1.2 02-Jan-2003  reinoud Oeps... forgot the versions file
 1.1 28-Dec-2002  reinoud branches: 1.1.2;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.2.6 15-Jan-2003  thorpej Sync with HEAD.
 1.1.2.5 07-Jan-2003  thorpej Sync with HEAD.
 1.1.2.4 06-Jan-2003  reinoud Pull up the bootloader to -current
 1.1.2.3 03-Jan-2003  thorpej Sync with HEAD.
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file version was added on branch nathanw_sa on 2002-12-29 19:15:10 +0000
 1.7.4.2 29-May-2004  tron Pull up revision 1.9 (requested by abs in ticket #404):
Adjust the reserved heap space based on memory size. This avoids running out
of heap on machines with large amounts of memory. Tested on 33MB RISC OS 4
and 128MB RISC OS 5 machines. Updated version to 3.40.
 1.7.4.1 22-May-2004  he Pull up revision 1.8 (requested by abs in ticket #369):
Add qsort to libsa (taken from sys/dev/vinum/vinumqsort.c)
and use instead of bubblesort in acorn32 bootloader. Reduces
time to sort memory on A710 equipped RiscPC from over twenty
seconds to effectively instantaneous. Update boot version
to 3.30
 1.7.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.7.2.1 03-Aug-2004  skrll Sync with HEAD
 1.9.12.1 30-Dec-2006  yamt sync with head.
 1.10.8.1 03-Sep-2006  yamt sync with head.
 1.10.4.1 09-Sep-2006  rpaulo sync with head
 1.11.70.1 19-Jan-2009  skrll Sync with HEAD.
 1.11.68.1 13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.11.62.1 04-May-2009  yamt sync with head.
 1.11.58.1 17-Jan-2009  mjf Sync with HEAD.
 1.6 22-Mar-2016  mrg remove a bunch of "@echo done" from the tail of rules. these messages
were vaguely useful back when we didn't run make -j, but now you end
up with a single line "done" every so often, with no idea what it is
for. very few other targets claim they're done so just remove these.
 1.5 07-Sep-2015  uebayasi Order library object build.
 1.4 07-Sep-2015  uebayasi Sprinkle more done messages.
 1.3 01-Apr-2006  bjh21 branches: 1.3.112; 1.3.132;
Add code to support access to RISC OS disk devices from libsa. This is
sufficient to allow a small wrapper program to access files on the NetBSD
partition of a shared disk. NetBSD-only disks don't work (FileCore objects
to the lack of a boot block), and there's no code to actually use this
facility yet.
 1.2 28-Mar-2006  bjh21 Add infrastructure for building real RISC OS relocatable modules, since I've
worked out how to do it. boot32 doesn't use this mechanism because converting
it would take a fair amount of effort for little gain at this stage.
 1.1 28-Dec-2002  reinoud branches: 1.1.2; 1.1.20; 1.1.34; 1.1.36; 1.1.38; 1.1.40; 1.1.42;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.42.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.42.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.1.40.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.38.2 11-Apr-2006  yamt sync with head
 1.1.38.1 01-Apr-2006  yamt sync with head.
 1.1.36.1 22-Apr-2006  simonb Sync with head.
 1.1.34.1 09-Sep-2006  rpaulo sync with head
 1.1.20.1 21-Jun-2006  yamt sync with head.
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file Makefile was added on branch nathanw_sa on 2002-12-29 19:15:11 +0000
 1.3.132.2 22-Apr-2016  skrll Sync with HEAD
 1.3.132.1 22-Sep-2015  skrll Sync with HEAD
 1.3.112.1 03-Dec-2017  jdolecek update from HEAD
 1.6 13-Jun-2018  christos revert previous MAKEOBJDIRPREFIX massaging
 1.5 11-Jun-2018  christos Switch from using MAKEOBJDIRPREFIX to MAKEOBJDIR
 1.4 27-May-2018  christos - Introduce :q modifier for make variables and make it double escape $'s so
that passing variables to recursive makes with :q works as expected.
- Revert :Q to work as before.
- Adjust makefiles that use recursive make to use :q

Discussed on tech-toolchain@
XXX: pullup 8
 1.3 22-Mar-2016  mrg branches: 1.3.10; 1.3.16;
remove a bunch of "@echo done" from the tail of rules. these messages
were vaguely useful back when we didn't run make -j, but now you end
up with a single line "done" every so often, with no idea what it is
for. very few other targets claim they're done so just remove these.
 1.2 06-Sep-2015  uebayasi In kernel lib build, print message when things not only start bug also end.
 1.1 28-Dec-2002  reinoud branches: 1.1.2; 1.1.176;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.176.2 22-Apr-2016  skrll Sync with HEAD
 1.1.176.1 22-Sep-2015  skrll Sync with HEAD
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file Makefile.inc was added on branch nathanw_sa on 2002-12-29 19:15:11 +0000
 1.3.16.1 25-Jun-2018  pgoyette Sync with HEAD
 1.3.10.1 09-Jun-2018  martin Pull up following revision(s) (requested by christos in ticket #870):

sys/lib/libgnuefi/Makefile.inc: revision 1.5
external/mit/xorg/xorg-pkg-ver.mk: revision 1.9
sys/arch/i386/stand/lib/Makefile.inc: revision 1.17
sys/compat/common/Makefile.inc: revision 1.25
usr.bin/make/unit-tests/varquote.exp: revision 1.1, 1.2
sys/lib/libsa/Makefile.inc: revision 1.24
usr.bin/make/var.c: revision 1.220
sys/arch/ia64/stand/efi/libefi/Makefile.inc: revision 1.5
sys/arch/hppa/spmath/Makefile.inc: revision 1.10
usr.bin/make/unit-tests/varquote.mk: revision 1.1, 1.2
usr.bin/make/unit-tests/Makefile: revision 1.53
sys/lib/libkern/Makefile.inc: revision 1.45
sys/arch/acorn32/stand/lib/Makefile.inc: revision 1.4
sys/arch/m68k/fpsp/Makefile.inc: revision 1.21
usr.bin/make/make.1: revision 1.273
sys/lib/libz/Makefile.inc: revision 1.17

- Introduce :q modifier for make variables and make it double escape $'s so
that passing variables to recursive makes with :q works as expected.
- Adjust makefiles that use recursive make to use :q

Discussed on tech-toolchain@

XXX: pullup 8
 1.3 05-Apr-2006  bjh21 Use ctype macros.
 1.2 01-Apr-2006  bjh21 Add code to support access to RISC OS disk devices from libsa. This is
sufficient to allow a small wrapper program to access files on the NetBSD
partition of a shared disk. NetBSD-only disks don't work (FileCore objects
to the lack of a boot block), and there's no code to actually use this
facility yet.
 1.1 28-Dec-2002  reinoud branches: 1.1.2; 1.1.20; 1.1.34; 1.1.36; 1.1.38; 1.1.40; 1.1.42;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.42.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.40.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.38.1 11-Apr-2006  yamt sync with head
 1.1.36.1 22-Apr-2006  simonb Sync with head.
 1.1.34.1 09-Sep-2006  rpaulo sync with head
 1.1.20.1 21-Jun-2006  yamt sync with head.
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file devopen.c was added on branch nathanw_sa on 2002-12-29 19:15:12 +0000
 1.3 08-Feb-2024  christos PR/57912: Jan-Benedict Glaw: Use repro epoch for generating date string
 1.2 30-Apr-2008  martin Convert TNF licenses to new 2 clause variant
 1.1 28-Dec-2002  reinoud branches: 1.1.2; 1.1.108; 1.1.110; 1.1.112;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.112.1 16-May-2008  yamt sync with head.
 1.1.110.1 18-May-2008  yamt sync with head.
 1.1.108.1 02-Jun-2008  mjf Sync with HEAD.
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file newvers_rm.sh was added on branch nathanw_sa on 2002-12-29 19:15:13 +0000
 1.12 23-Jan-2019  sborrill Add xosmodule_enumeratewithversion() to allow operating systems modules
to be enumerated along with their version numbers.
 1.11 18-Oct-2018  skrll Use unified syntax
 1.10 19-Aug-2006  bjh21 branches: 1.10.148; 1.10.150;
Add support to boot32 for passing a real vsync frequency to NetBSD.
Unfortunately, RISC OS doesn't seem to provide a sensible way to ask what
frame rate it's using so we resort to measuring it ourselves.
 1.9 20-Jul-2006  bjh21 Silly error: xos_cli() should call XOS_CLI, not OS_CLI.
 1.8 13-Jul-2006  bjh21 Pass the argument to OSModule_Free in the correct register. This stops
NBFS leaking memory.
 1.7 04-Jul-2006  bjh21 Add some definitions necessary for the latest NBFS, plus a couple of
functions that my boot32 hacks are likely to require.
 1.6 01-Apr-2006  bjh21 branches: 1.6.4;
Add code to support access to RISC OS disk devices from libsa. This is
sufficient to allow a small wrapper program to access files on the NetBSD
partition of a shared disk. NetBSD-only disks don't work (FileCore objects
to the lack of a boot block), and there's no code to actually use this
facility yet.
 1.5 11-Dec-2005  christos branches: 1.5.4; 1.5.6; 1.5.8; 1.5.10; 1.5.12;
merge ktrace-lwp.
 1.4 23-Nov-2003  bjh21 branches: 1.4.16;
Remove a spurious commented-out line.
 1.3 23-Nov-2003  bjh21 Rename os_CLI() and xos_CLI() to os_cli() and xos_cli() for consistency with
everything else.
 1.2 19-Nov-2003  gavan Save arguments passed into scratch registers, rather than scratch
registers into arguments passed.

Avoids corruption of anything pointed to by r3 and r4 on entry to
os_get_env, and allows pass-by-reference values to be returned.
 1.1 28-Dec-2002  reinoud branches: 1.1.2; 1.1.4;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.4.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.4.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.4.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file riscoscalls.S was added on branch nathanw_sa on 2002-12-29 19:15:13 +0000
 1.4.16.2 30-Dec-2006  yamt sync with head.
 1.4.16.1 21-Jun-2006  yamt sync with head.
 1.5.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.5.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.5.8.3 03-Sep-2006  yamt sync with head.
 1.5.8.2 11-Aug-2006  yamt sync with head
 1.5.8.1 11-Apr-2006  yamt sync with head
 1.5.6.1 22-Apr-2006  simonb Sync with head.
 1.5.4.1 09-Sep-2006  rpaulo sync with head
 1.6.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.10.150.1 10-Jun-2019  christos Sync with HEAD
 1.10.148.2 26-Jan-2019  pgoyette Sync with HEAD
 1.10.148.1 20-Oct-2018  pgoyette Sync with head
 1.13 23-Jan-2019  sborrill Add xosmodule_enumeratewithversion() to allow operating systems modules
to be enumerated along with their version numbers.
 1.12 10-May-2012  skrll branches: 1.12.38; 1.12.40;
_int*_t -> uint*_t

Same code before and after.
 1.11 02-Aug-2009  gavan branches: 1.11.12; 1.11.16;
Don't reset devices if booting an Iyonix. It's fine for acorn32 devices
because we know how to configure all of the hardware, but as we don't know
how to configure the Iyonix graphics card we must rely on RISC OS to do
it for us.

While we're here, space separate the kernel arguments. It's a bit hard
parsing them in the kernel when they're all run together.
 1.10 04-Mar-2007  christos branches: 1.10.46;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.9 19-Aug-2006  bjh21 branches: 1.9.8;
Add support to boot32 for passing a real vsync frequency to NetBSD.
Unfortunately, RISC OS doesn't seem to provide a sensible way to ask what
frame rate it's using so we resort to measuring it ourselves.
 1.8 13-Jul-2006  bjh21 Add Service_FSRedeclare.
 1.7 04-Jul-2006  bjh21 Add some definitions necessary for the latest NBFS, plus a couple of
functions that my boot32 hacks are likely to require.
 1.6 06-Apr-2006  bjh21 branches: 1.6.4;
Use more manifest constants.
 1.5 01-Apr-2006  bjh21 Add code to support access to RISC OS disk devices from libsa. This is
sufficient to allow a small wrapper program to access files on the NetBSD
partition of a shared disk. NetBSD-only disks don't work (FileCore objects
to the lack of a boot block), and there's no code to actually use this
facility yet.
 1.4 11-Dec-2005  christos branches: 1.4.4; 1.4.6; 1.4.8; 1.4.10; 1.4.12;
merge ktrace-lwp.
 1.3 18-May-2004  gavan branches: 1.3.12;
Claim maximum available memory during boot32 startup. This removes
the need to explicitly set the WIMP slot size before running the bootloader.

Conditional on BOOT_MAXIMISE_MEMORY, so as not to interfere with potential
future uses of libriscos.

Also remove references to increasing WIMP slot size, as this is now
meaningless.
 1.2 23-Nov-2003  bjh21 branches: 1.2.2;
Rename os_CLI() and xos_CLI() to os_cli() and xos_cli() for consistency with
everything else.
 1.1 28-Dec-2002  reinoud branches: 1.1.2; 1.1.4;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.4.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.4.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.4.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file riscoscalls.h was added on branch nathanw_sa on 2002-12-29 19:15:14 +0000
 1.2.2.1 22-May-2004  he Pull up revision 1.3 (requested by abs in ticket #365):
Claim maximum available memory during boot32 startup. This
removes the need to explicitly set the WIMP slot size before
running the bootloader.
Conditional on BOOT_MAXIMISE_MEMORY, so as not to interfere
with potential future uses of libriscos.
Also remove references to increasing WIMP slot size, as
this is now meaningless.
 1.3.12.3 03-Sep-2007  yamt sync with head.
 1.3.12.2 30-Dec-2006  yamt sync with head.
 1.3.12.1 21-Jun-2006  yamt sync with head.
 1.4.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.4.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.4.8.3 03-Sep-2006  yamt sync with head.
 1.4.8.2 11-Aug-2006  yamt sync with head
 1.4.8.1 11-Apr-2006  yamt sync with head
 1.4.6.1 22-Apr-2006  simonb Sync with head.
 1.4.4.1 09-Sep-2006  rpaulo sync with head
 1.6.4.1 13-Jul-2006  gdamore Merge from HEAD.
 1.9.8.1 12-Mar-2007  rmind Sync with HEAD.
 1.10.46.1 19-Aug-2009  yamt sync with head.
 1.11.16.1 02-Jun-2012  mrg sync to latest -current.
 1.11.12.1 23-May-2012  yamt sync with head.
 1.12.40.1 10-Jun-2019  christos Sync with HEAD
 1.12.38.1 26-Jan-2019  pgoyette Sync with HEAD
 1.1 28-Dec-2002  reinoud branches: 1.1.2;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file riscoscons.c was added on branch nathanw_sa on 2002-12-29 19:15:15 +0000
 1.4 17-Jul-2011  joerg Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.3 12-Jan-2009  tsutsui Use <machine/stdarg.h> rather than <stdarg.h> to allow build without DESTDIR.
 1.2 01-Apr-2006  bjh21 branches: 1.2.64; 1.2.68; 1.2.76;
Add code to support access to RISC OS disk devices from libsa. This is
sufficient to allow a small wrapper program to access files on the NetBSD
partition of a shared disk. NetBSD-only disks don't work (FileCore objects
to the lack of a boot block), and there's no code to actually use this
facility yet.
 1.1 28-Dec-2002  reinoud branches: 1.1.2; 1.1.20; 1.1.34; 1.1.36; 1.1.38; 1.1.40; 1.1.42;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.42.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.40.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.38.1 11-Apr-2006  yamt sync with head
 1.1.36.1 22-Apr-2006  simonb Sync with head.
 1.1.34.1 09-Sep-2006  rpaulo sync with head
 1.1.20.1 21-Jun-2006  yamt sync with head.
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file riscosdisk.c was added on branch nathanw_sa on 2002-12-29 19:15:15 +0000
 1.2.76.1 19-Jan-2009  skrll Sync with HEAD.
 1.2.68.1 04-May-2009  yamt sync with head.
 1.2.64.1 17-Jan-2009  mjf Sync with HEAD.
 1.1 28-Dec-2002  reinoud branches: 1.1.2;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file riscosdisk.h was added on branch nathanw_sa on 2002-12-29 19:15:16 +0000
 1.1 28-Dec-2002  reinoud branches: 1.1.2;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file riscoserrors.c was added on branch nathanw_sa on 2002-12-29 19:15:17 +0000
 1.4 25-Jan-2006  christos free -> dealloc
unsigned -> size_t for alloc/dealloc
 1.3 11-Dec-2005  christos branches: 1.3.2;
merge ktrace-lwp.
 1.2 21-Aug-2003  he branches: 1.2.16;
Adapt to const-ification of first arg of open function in fs_ops.
 1.1 28-Dec-2002  reinoud branches: 1.1.2; 1.1.4;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.4.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.4.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.4.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file riscosfile.c was added on branch nathanw_sa on 2002-12-29 19:15:17 +0000
 1.2.16.1 21-Jun-2006  yamt sync with head.
 1.3.2.1 01-Feb-2006  yamt sync with head.
 1.3 11-Dec-2005  christos merge ktrace-lwp.
 1.2 21-Aug-2003  he Adapt to const-ification of first arg of open function in fs_ops.
 1.1 28-Dec-2002  reinoud branches: 1.1.2; 1.1.4;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.4.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.4.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.4.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file riscosfile.h was added on branch nathanw_sa on 2002-12-29 19:15:18 +0000
 1.6 29-Sep-2020  msaitoh s/occurence/occurrence/
 1.5 14-May-2012  skrll Remove printf that snuck in somehow.
 1.4 10-May-2012  skrll KNF
 1.3 25-Nov-2010  skrll branches: 1.3.8; 1.3.12;
Use partition_cyl_high and partition_cyl_low to find the "RiscBSD"
partition.

Makes nbfs somewhat work on my RiscPC.
 1.2 25-Jun-2006  christos branches: 1.2.6; 1.2.76; 1.2.88;
GCC4 fixes from Mike Pumford
 1.1 01-Apr-2006  bjh21 branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10; 1.1.12; 1.1.14;
Add code to support access to RISC OS disk devices from libsa. This is
sufficient to allow a small wrapper program to access files on the NetBSD
partition of a shared disk. NetBSD-only disks don't work (FileCore objects
to the lack of a boot block), and there's no code to actually use this
facility yet.
 1.1.14.3 30-Dec-2006  yamt sync with head.
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 01-Apr-2006  yamt file riscospart.c was added on branch yamt-lazymbuf on 2006-06-21 14:47:48 +0000
 1.1.12.1 13-Jul-2006  gdamore Merge from HEAD.
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 01-Apr-2006  tron file riscospart.c was added on branch peter-altq on 2006-05-24 15:47:49 +0000
 1.1.6.2 22-Apr-2006  simonb Sync with head.
 1.1.6.1 01-Apr-2006  simonb file riscospart.c was added on branch simonb-timecounters on 2006-04-22 11:37:10 +0000
 1.1.4.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.4.1 01-Apr-2006  elad file riscospart.c was added on branch elad-kernelauth on 2006-04-19 02:31:57 +0000
 1.1.2.3 26-Jun-2006  yamt sync with head.
 1.1.2.2 11-Apr-2006  yamt sync with head
 1.1.2.1 01-Apr-2006  yamt file riscospart.c was added on branch yamt-pdpolicy on 2006-04-11 11:53:25 +0000
 1.2.88.1 05-Mar-2011  rmind sync with head
 1.2.76.1 21-Dec-2010  riz Pull up following revision(s) (requested by skrll in ticket #1495):
sys/arch/acorn32/stand/lib/riscospart.c: revision 1.3
Use partition_cyl_high and partition_cyl_low to find the "RiscBSD"
partition.
Makes nbfs somewhat work on my RiscPC.
 1.2.6.2 09-Sep-2006  rpaulo sync with head
 1.2.6.1 25-Jun-2006  rpaulo file riscospart.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:36:42 +0000
 1.3.12.1 02-Jun-2012  mrg sync to latest -current.
 1.3.8.1 23-May-2012  yamt sync with head.
 1.1 01-Apr-2006  bjh21 branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10; 1.1.14; 1.1.20;
Add code to support access to RISC OS disk devices from libsa. This is
sufficient to allow a small wrapper program to access files on the NetBSD
partition of a shared disk. NetBSD-only disks don't work (FileCore objects
to the lack of a boot block), and there's no code to actually use this
facility yet.
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 01-Apr-2006  rpaulo file riscospart.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:36:42 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 01-Apr-2006  yamt file riscospart.h was added on branch yamt-lazymbuf on 2006-06-21 14:47:48 +0000
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 01-Apr-2006  tron file riscospart.h was added on branch peter-altq on 2006-05-24 15:47:49 +0000
 1.1.6.2 22-Apr-2006  simonb Sync with head.
 1.1.6.1 01-Apr-2006  simonb file riscospart.h was added on branch simonb-timecounters on 2006-04-22 11:37:10 +0000
 1.1.4.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.4.1 01-Apr-2006  elad file riscospart.h was added on branch elad-kernelauth on 2006-04-19 02:31:57 +0000
 1.1.2.2 11-Apr-2006  yamt sync with head
 1.1.2.1 01-Apr-2006  yamt file riscospart.h was added on branch yamt-pdpolicy on 2006-04-11 11:53:25 +0000
 1.3 04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.2 25-Jun-2006  christos branches: 1.2.6; 1.2.12;
GCC4 fixes from Mike Pumford
 1.1 28-Mar-2006  bjh21 branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.12; 1.1.14;
Add infrastructure for building real RISC OS relocatable modules, since I've
worked out how to do it. boot32 doesn't use this mechanism because converting
it would take a fair amount of effort for little gain at this stage.
 1.1.14.4 03-Sep-2007  yamt sync with head.
 1.1.14.3 30-Dec-2006  yamt sync with head.
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 28-Mar-2006  yamt file rmreloc.c was added on branch yamt-lazymbuf on 2006-06-21 14:47:48 +0000
 1.1.12.1 13-Jul-2006  gdamore Merge from HEAD.
 1.1.8.2 22-Apr-2006  simonb Sync with head.
 1.1.8.1 28-Mar-2006  simonb file rmreloc.c was added on branch simonb-timecounters on 2006-04-22 11:37:10 +0000
 1.1.6.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.6.1 28-Mar-2006  elad file rmreloc.c was added on branch elad-kernelauth on 2006-04-19 02:31:57 +0000
 1.1.4.3 26-Jun-2006  yamt sync with head.
 1.1.4.2 11-Apr-2006  yamt sync files somehow mis-tagged by yamt-pdpolicy-base2.
 1.1.4.1 28-Mar-2006  yamt file rmreloc.c was added on branch yamt-pdpolicy on 2006-04-11 12:20:51 +0000
 1.1.2.2 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.1.2.1 28-Mar-2006  tron file rmreloc.c was added on branch peter-altq on 2006-03-31 09:44:55 +0000
 1.2.12.1 12-Mar-2007  rmind Sync with HEAD.
 1.2.6.2 09-Sep-2006  rpaulo sync with head
 1.2.6.1 25-Jun-2006  rpaulo file rmreloc.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:36:42 +0000
 1.4 11-Dec-2005  christos merge ktrace-lwp.
 1.3 13-Jun-2004  abs Add BOOT_LEAVE_MEMORY (desired memory left unused) and BOOT_MIN_AVAIL_MEMORY
(minimum desired free memory), default them to 5M and 10M respectively.
On a machine with more than (BOOT_LEAVE_MEMORY + BOOT_MIN_AVAIL_MEMORY) free
BOOT_LEAVE_MEMORY will be left unused.
Allows a kernel to be booted from SparkFS on a machine with more than 15M
of free memory (SparkFS needs to be able to allocate memory for the
uncompressed kernel)
 1.2 18-May-2004  gavan Claim maximum available memory during boot32 startup. This removes
the need to explicitly set the WIMP slot size before running the bootloader.

Conditional on BOOT_MAXIMISE_MEMORY, so as not to interfere with potential
future uses of libriscos.

Also remove references to increasing WIMP slot size, as this is now
meaningless.
 1.1 28-Dec-2002  reinoud branches: 1.1.2; 1.1.4; 1.1.6;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.6.2 17-Jun-2004  tron Pull up revision 1.3 (requested by abs in ticket #497):
Add BOOT_LEAVE_MEMORY (desired memory left unused) and BOOT_MIN_AVAIL_MEMORY
(minimum desired free memory), default them to 5M and 10M respectively.
On a machine with more than (BOOT_LEAVE_MEMORY + BOOT_MIN_AVAIL_MEMORY) free
BOOT_LEAVE_MEMORY will be left unused.
Allows a kernel to be booted from SparkFS on a machine with more than 15M
of free memory (SparkFS needs to be able to allocate memory for the
uncompressed kernel)
 1.1.6.1 22-May-2004  he Pull up revision 1.2 (requested by abs in ticket #365):
Claim maximum available memory during boot32 startup. This
removes the need to explicitly set the WIMP slot size before
running the bootloader.
Conditional on BOOT_MAXIMISE_MEMORY, so as not to interfere
with potential future uses of libriscos.
Also remove references to increasing WIMP slot size, as
this is now meaningless.
 1.1.4.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.1.4.2 18-Sep-2004  skrll Sync with HEAD.
 1.1.4.1 03-Aug-2004  skrll Sync with HEAD
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file srt0.S was added on branch nathanw_sa on 2002-12-29 19:15:19 +0000
 1.2 28-Mar-2006  bjh21 Don't declare HIMEM as a variable if it's a macro already.
 1.1 28-Dec-2002  reinoud branches: 1.1.2; 1.1.20; 1.1.34; 1.1.36; 1.1.38; 1.1.40; 1.1.42;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.42.1 31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.1.40.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.38.1 01-Apr-2006  yamt sync with head.
 1.1.36.1 22-Apr-2006  simonb Sync with head.
 1.1.34.1 09-Sep-2006  rpaulo sync with head
 1.1.20.1 21-Jun-2006  yamt sync with head.
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file srt0.h was added on branch nathanw_sa on 2002-12-29 19:15:20 +0000
 1.6 14-Mar-2009  dsl Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
 1.5 11-Dec-2005  christos branches: 1.5.80; 1.5.88; 1.5.94;
merge ktrace-lwp.
 1.4 24-Mar-2004  drochner remove license clauses 3 and 4 from my cpoyright notices
 1.3 21-Sep-2003  matt Fix some GCC3.3.1 nits (-ffreestanding, #include <lib/libkern/libkern.h>)
 1.2 06-Jan-2003  reinoud branches: 1.2.2;
Small fixes that showed up during boot-testing of a Pace DSL4000 running
the RISC OS-STB 4.0.0 version of RISC OS.
 1.1 28-Dec-2002  reinoud branches: 1.1.2;
Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
 1.1.2.3 07-Jan-2003  thorpej Sync with HEAD.
 1.1.2.2 29-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1 28-Dec-2002  thorpej file srt1.c was added on branch nathanw_sa on 2002-12-29 19:15:20 +0000
 1.2.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.2.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.2.2.1 03-Aug-2004  skrll Sync with HEAD
 1.5.94.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.5.88.1 28-Apr-2009  skrll Sync with HEAD.
 1.5.80.1 04-May-2009  yamt sync with head.
 1.5 06-Feb-2021  joerg Modernize acorn32 boot code to work directly with LLVM's assembler.
 1.4 02-Aug-2019  joerg branches: 1.4.8;
Force use of GNU as for acorn32 boot code (pre-unified assembly)
 1.3 04-Jul-2006  bjh21 branches: 1.3.6; 1.3.154;
We don't actually use NEWVERSWHAT, but we should still try to make it correct.
 1.2 02-Jul-2006  bjh21 Define LIBSA_NO_TWIDDLE, since NBFS really shouldn't twiddle().
 1.1 05-Apr-2006  bjh21 branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10; 1.1.12; 1.1.14;
Very rough initial attempt at a RISC OS filing system based on libsa, to
allow the loading of kernels from a NetBSD file system by a RISC-OS-based
bootloader. Currently, there's just about enough functionality to allow
BtNetBSD (and hence presumably boot32 on systems where it works) to load
a kernel. This code has the great advantages over our existing UnixFS
that we actually have the source and can compile it under NetBSD.
 1.1.14.3 30-Dec-2006  yamt sync with head.
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 05-Apr-2006  yamt file Makefile was added on branch yamt-lazymbuf on 2006-06-21 14:48:00 +0000
 1.1.12.1 13-Jul-2006  gdamore Merge from HEAD.
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 05-Apr-2006  tron file Makefile was added on branch peter-altq on 2006-05-24 15:47:49 +0000
 1.1.6.2 22-Apr-2006  simonb Sync with head.
 1.1.6.1 05-Apr-2006  simonb file Makefile was added on branch simonb-timecounters on 2006-04-22 11:37:10 +0000
 1.1.4.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.4.1 05-Apr-2006  elad file Makefile was added on branch elad-kernelauth on 2006-04-19 02:31:57 +0000
 1.1.2.3 11-Aug-2006  yamt sync with head
 1.1.2.2 11-Apr-2006  yamt sync with head
 1.1.2.1 05-Apr-2006  yamt file Makefile was added on branch yamt-pdpolicy on 2006-04-11 11:53:25 +0000
 1.3.154.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.6.2 09-Sep-2006  rpaulo sync with head
 1.3.6.1 04-Jul-2006  rpaulo file Makefile was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:36:53 +0000
 1.4.8.1 03-Apr-2021  thorpej Sync with HEAD.
 1.11 21-Mar-2014  christos kill sprintf
 1.10 10-Jun-2013  mrg branches: 1.10.2;
s/DIRBLKSIZE/UFS_&/.

HI DH! :-)
 1.9 10-May-2012  skrll branches: 1.9.2;
Bit more KNF
 1.8 10-May-2012  skrll KNF
 1.7 13-Jul-2006  bjh21 branches: 1.7.6; 1.7.100; 1.7.104;
Fix error handling in nbfs_close().
 1.6 13-Jul-2006  bjh21 Sensible error handling, with libsa errors being mapped to useful RISC OS
errors. Also centralise our filing system number (as yet unassigned) in
nbfs.h.
 1.5 04-Jul-2006  bjh21 Add suppport for FSEntry_file 255, loading whole files. Now I can open
/etc/passwd in Zap.
 1.4 02-Jul-2006  bjh21 Add support or FSEntry_Func 14 and FSEntry_Func 15, which seem to be the
important directory-listing entry points.
 1.3 06-Apr-2006  bjh21 branches: 1.3.2; 1.3.4; 1.3.6; 1.3.10; 1.3.12; 1.3.14;
Fix a couple of typos.
 1.2 06-Apr-2006  bjh21 Use more manifest constants.
 1.1 05-Apr-2006  bjh21 Very rough initial attempt at a RISC OS filing system based on libsa, to
allow the loading of kernels from a NetBSD file system by a RISC-OS-based
bootloader. Currently, there's just about enough functionality to allow
BtNetBSD (and hence presumably boot32 on systems where it works) to load
a kernel. This code has the great advantages over our existing UnixFS
that we actually have the source and can compile it under NetBSD.
 1.3.14.3 30-Dec-2006  yamt sync with head.
 1.3.14.2 21-Jun-2006  yamt sync with head.
 1.3.14.1 06-Apr-2006  yamt file nbfs.c was added on branch yamt-lazymbuf on 2006-06-21 14:48:00 +0000
 1.3.12.1 13-Jul-2006  gdamore Merge from HEAD.
 1.3.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.3.10.1 06-Apr-2006  tron file nbfs.c was added on branch peter-altq on 2006-05-24 15:47:49 +0000
 1.3.6.2 22-Apr-2006  simonb Sync with head.
 1.3.6.1 06-Apr-2006  simonb file nbfs.c was added on branch simonb-timecounters on 2006-04-22 11:37:10 +0000
 1.3.4.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.3.4.1 06-Apr-2006  elad file nbfs.c was added on branch elad-kernelauth on 2006-04-19 02:31:57 +0000
 1.3.2.3 11-Aug-2006  yamt sync with head
 1.3.2.2 11-Apr-2006  yamt sync with head
 1.3.2.1 06-Apr-2006  yamt file nbfs.c was added on branch yamt-pdpolicy on 2006-04-11 11:53:25 +0000
 1.7.104.1 02-Jun-2012  mrg sync to latest -current.
 1.7.100.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.7.100.1 23-May-2012  yamt sync with head.
 1.7.6.2 09-Sep-2006  rpaulo sync with head
 1.7.6.1 13-Jul-2006  rpaulo file nbfs.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:36:53 +0000
 1.9.2.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.2.1 23-Jun-2013  tls resync from head
 1.10.2.1 18-May-2014  rmind sync with head
 1.2 13-Jul-2006  bjh21 branches: 1.2.6;
Sensible error handling, with libsa errors being mapped to useful RISC OS
errors. Also centralise our filing system number (as yet unassigned) in
nbfs.h.
 1.1 05-Apr-2006  bjh21 branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10; 1.1.12; 1.1.14;
Very rough initial attempt at a RISC OS filing system based on libsa, to
allow the loading of kernels from a NetBSD file system by a RISC-OS-based
bootloader. Currently, there's just about enough functionality to allow
BtNetBSD (and hence presumably boot32 on systems where it works) to load
a kernel. This code has the great advantages over our existing UnixFS
that we actually have the source and can compile it under NetBSD.
 1.1.14.3 30-Dec-2006  yamt sync with head.
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 05-Apr-2006  yamt file nbfs.h was added on branch yamt-lazymbuf on 2006-06-21 14:48:00 +0000
 1.1.12.1 13-Jul-2006  gdamore Merge from HEAD.
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 05-Apr-2006  tron file nbfs.h was added on branch peter-altq on 2006-05-24 15:47:49 +0000
 1.1.6.2 22-Apr-2006  simonb Sync with head.
 1.1.6.1 05-Apr-2006  simonb file nbfs.h was added on branch simonb-timecounters on 2006-04-22 11:37:10 +0000
 1.1.4.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.4.1 05-Apr-2006  elad file nbfs.h was added on branch elad-kernelauth on 2006-04-19 02:31:57 +0000
 1.1.2.3 11-Aug-2006  yamt sync with head
 1.1.2.2 11-Apr-2006  yamt sync with head
 1.1.2.1 05-Apr-2006  yamt file nbfs.h was added on branch yamt-pdpolicy on 2006-04-11 11:53:25 +0000
 1.2.6.2 09-Sep-2006  rpaulo sync with head
 1.2.6.1 13-Jul-2006  rpaulo file nbfs.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:36:53 +0000
 1.2 13-Jul-2006  bjh21 branches: 1.2.6;
RCS ID header.
 1.1 05-Apr-2006  bjh21 branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10; 1.1.12; 1.1.14;
Very rough initial attempt at a RISC OS filing system based on libsa, to
allow the loading of kernels from a NetBSD file system by a RISC-OS-based
bootloader. Currently, there's just about enough functionality to allow
BtNetBSD (and hence presumably boot32 on systems where it works) to load
a kernel. This code has the great advantages over our existing UnixFS
that we actually have the source and can compile it under NetBSD.
 1.1.14.3 30-Dec-2006  yamt sync with head.
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 05-Apr-2006  yamt file rmalloc.c was added on branch yamt-lazymbuf on 2006-06-21 14:48:00 +0000
 1.1.12.1 13-Jul-2006  gdamore Merge from HEAD.
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 05-Apr-2006  tron file rmalloc.c was added on branch peter-altq on 2006-05-24 15:47:49 +0000
 1.1.6.2 22-Apr-2006  simonb Sync with head.
 1.1.6.1 05-Apr-2006  simonb file rmalloc.c was added on branch simonb-timecounters on 2006-04-22 11:37:10 +0000
 1.1.4.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.4.1 05-Apr-2006  elad file rmalloc.c was added on branch elad-kernelauth on 2006-04-19 02:31:57 +0000
 1.1.2.3 11-Aug-2006  yamt sync with head
 1.1.2.2 11-Apr-2006  yamt sync with head
 1.1.2.1 05-Apr-2006  yamt file rmalloc.c was added on branch yamt-pdpolicy on 2006-04-11 11:53:25 +0000
 1.2.6.2 09-Sep-2006  rpaulo sync with head
 1.2.6.1 13-Jul-2006  rpaulo file rmalloc.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:36:53 +0000
 1.5 06-Feb-2021  joerg Modernize acorn32 boot code to work directly with LLVM's assembler.
 1.4 13-Jul-2006  bjh21 branches: 1.4.6; 1.4.166;
Handle Service_FSRedeclare correctly. NBFS now works after restarting
FileSwitch.
 1.3 13-Jul-2006  bjh21 Sensible error handling, with libsa errors being mapped to useful RISC OS
errors. Also centralise our filing system number (as yet unassigned) in
nbfs.h.
 1.2 02-Jul-2006  bjh21 Add a *NBFS command to select NBFS as current filing system.
 1.1 05-Apr-2006  bjh21 branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10; 1.1.12; 1.1.14;
Very rough initial attempt at a RISC OS filing system based on libsa, to
allow the loading of kernels from a NetBSD file system by a RISC-OS-based
bootloader. Currently, there's just about enough functionality to allow
BtNetBSD (and hence presumably boot32 on systems where it works) to load
a kernel. This code has the great advantages over our existing UnixFS
that we actually have the source and can compile it under NetBSD.
 1.1.14.3 30-Dec-2006  yamt sync with head.
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 05-Apr-2006  yamt file rmheader.S was added on branch yamt-lazymbuf on 2006-06-21 14:48:00 +0000
 1.1.12.1 13-Jul-2006  gdamore Merge from HEAD.
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 05-Apr-2006  tron file rmheader.S was added on branch peter-altq on 2006-05-24 15:47:49 +0000
 1.1.6.2 22-Apr-2006  simonb Sync with head.
 1.1.6.1 05-Apr-2006  simonb file rmheader.S was added on branch simonb-timecounters on 2006-04-22 11:37:10 +0000
 1.1.4.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.4.1 05-Apr-2006  elad file rmheader.S was added on branch elad-kernelauth on 2006-04-19 02:31:57 +0000
 1.1.2.3 11-Aug-2006  yamt sync with head
 1.1.2.2 11-Apr-2006  yamt sync with head
 1.1.2.1 05-Apr-2006  yamt file rmheader.S was added on branch yamt-pdpolicy on 2006-04-11 11:53:25 +0000
 1.4.166.1 03-Apr-2021  thorpej Sync with HEAD.
 1.4.6.2 09-Sep-2006  rpaulo sync with head
 1.4.6.1 13-Jul-2006  rpaulo file rmheader.S was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:36:53 +0000
 1.4 13-Jul-2006  bjh21 branches: 1.4.6;
Bump version number for today's changes.
 1.3 04-Jul-2006  bjh21 Fix missing newline at end of file.
 1.2 04-Jul-2006  bjh21 Add suppport for FSEntry_file 255, loading whole files. Now I can open
/etc/passwd in Zap.
 1.1 05-Apr-2006  bjh21 branches: 1.1.2; 1.1.4; 1.1.6; 1.1.10; 1.1.12; 1.1.14;
Very rough initial attempt at a RISC OS filing system based on libsa, to
allow the loading of kernels from a NetBSD file system by a RISC-OS-based
bootloader. Currently, there's just about enough functionality to allow
BtNetBSD (and hence presumably boot32 on systems where it works) to load
a kernel. This code has the great advantages over our existing UnixFS
that we actually have the source and can compile it under NetBSD.
 1.1.14.3 30-Dec-2006  yamt sync with head.
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 05-Apr-2006  yamt file version was added on branch yamt-lazymbuf on 2006-06-21 14:48:00 +0000
 1.1.12.1 13-Jul-2006  gdamore Merge from HEAD.
 1.1.10.2 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.1.10.1 05-Apr-2006  tron file version was added on branch peter-altq on 2006-05-24 15:47:49 +0000
 1.1.6.2 22-Apr-2006  simonb Sync with head.
 1.1.6.1 05-Apr-2006  simonb file version was added on branch simonb-timecounters on 2006-04-22 11:37:10 +0000
 1.1.4.2 19-Apr-2006  elad sync with head - hopefully this will work
 1.1.4.1 05-Apr-2006  elad file version was added on branch elad-kernelauth on 2006-04-19 02:31:57 +0000
 1.1.2.3 11-Aug-2006  yamt sync with head
 1.1.2.2 11-Apr-2006  yamt sync with head
 1.1.2.1 05-Apr-2006  yamt file version was added on branch yamt-pdpolicy on 2006-04-11 11:53:25 +0000
 1.4.6.2 09-Sep-2006  rpaulo sync with head
 1.4.6.1 13-Jul-2006  rpaulo file version was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:36:53 +0000

RSS XML Feed