History log of /src/sys/arch/acorn32/stand/boot32/boot32.c |
Revision | | Date | Author | Comments |
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
|