Subject: Re: Bootloader TODO list
To: Chris Gilbert <chris@paradox.demon.co.uk>
From: Reinoud Zandijk <imago@kabel065011.kabel.utwente.nl>
List: port-arm32
Date: 02/05/2001 00:47:15
Hi hi Chris,

On Sun, 4 Feb 2001, Chris Gilbert wrote:

> > Yep ... that's correct... I'm currenly thinking of maybe moving the kernel
> > up in the SDRAM when on a Kinetic, but i've got to have a look since that
> > can give additional problems; maybe i need to ``invent'' a DRAM report for
> > it. The current code allways assumes its in the lowest DRAM block so that
> > has to be messed around with... Still very happy we've got it working at
> > last at the Kinetic .... now still the screencolor and the wierd debug
> > kernel stuff....
> 
> That could be done by the kernel, and may actually require to be done by the 
> kernel if castle provide info on how to unlock the 4MB readonly segment of 
> the kinetic.

Please not in the kernel !! Thats what one of reasons that the new
bootloader was build! No, I think its really better to change the
bootloader to put it in a different DRAM block....

The 4Mb locked by the Kinetic card is very easily unlocked by putting the
memory area in read/write mode ... thats all. The algorithm that i would
like to use for detecting the locked away 4Mb is to select the SDRAM bank
that isn't a power of 2 .... this only fails if the SDRAM is 2*4Mb or
2*8Mb which is quite .... unlikely.

> >   - make the bootloader a bit more user friendly ? ideas ?
> 
> Hmmm, is it possible to cheat and reuse the existing bootloader frontend in 
> some way?

Yeah .. that could be done only that the frontend is written on an old
library that is not available anymore... but a new frontend can be build
quite easily i guess allthough i was more thinking about command like
stuff.

> >   - fixing that strange red text colour on booting
> 
> Hmm, is this because the kernel assumes the palete has been setup by the 
> booter in some way?

Maybe but as far as i know the ``normal'' 256 colour palettes cant be
changed anyway, so why would the WIMP do that? Could be that the WIMP
changes it as soon as i start to print anything in a command window but
thats quite unlikely.

Swapping the virtual console once gets rid of the colour really :)

> >   - changing the bootconfig structure to give a more acurate status of the
> >     machine including support for more DRAM/SDRAM/VRAM blocks
> 
> Shouldn't be too hard a lot of the code already checks the number of 
> dram/vram blocks, however we've got hard coded sizes for the arrays.

Maybe overdementioning will fix a lot .... for now ?

> >   - not very important but still : fixing that strange slow printing
> >     before page swapping L1/L2 pages when running debugged kernels...
> >     Might give a clue/hint to a hidden bug somewhere.
> 
> Could just be an oddity of our console driver.  For along time it's been 
> talked about that we should switch to wscons, perhaps you should leave the 
> cons alone until we've done the page swap?

There is some code for wscons somewhere.... maybe it would be nice to
expiriment with it too; the current vidcconsole is pretty fast but is in
ways sometimes a bit ... troublesome :(

> > Hmm... well as long as there is noone reporting a boot-failure it could be
> > safe to switch over to the new one for the ARM[6,7,SA] Acorn derivatives
> > ..... however i would like more ppl to test it first....
> 
> Well it works, but the vidc seems to go horribly wrong when booting, eg the 
> awful noise and the mouse pointer going to pot, thinking about it it could be 
> the way that I've got the VM arranged on my code.  I suppose that any changes 
> to the VM layout need to be reflected back to the bootloader.  Much as the 
> old bootloader had it's quirks, pretty much the first thing it did was sort 
> out it's Page tables so that things were in the right place.

Nope, thats not nessisary. The mouse pointer gets freaked out for its
memory dissapears and i think the screen just squeeks for it needs to be
reinitialised on the new position .... during the relocation process the
VIDC is displaying from (non existent?) memory (well I guess from the 1Mb
VRAM) but the RAM isnt mapped where it's expecting it.... that might give
the squeeky noise... one of the first things the new bootloader does it to
set up the screen to a valid address etc... maybe i can tweek in the
screenblanker or so ... hmm... nah i think that would give the same
squeeking and i dont like the idea really to have dedicated VIDC stuff in
the bootloader really.... its not allways there and doesnt have to be on
the same place either !!!

> > Status so far for all ARM[6,7,SA] Acorn derivative's :
> >   machine		once	support	confirmed/comment
> >   -----------------------------------------------------------------
> >   A7000(+)		YES	X	Please test again
> >   RSt. R7500(+)		???	??	Isn't this a A7000 ?
> >   ARM6 RiscPC		???	X	Should run (where is it!)
> >   ARM7 RiscPC		YES	X	YES, developpers machine
> >   SA RiscPC		YES	X	YES (see next)
> >   SA Kinetic RiscPC	YES	X	YES
> >   NC's			YES	X	Port busy but should work
> >   RSt. Networx (HD)		??	Unknown
> 
> Also Netstation etc

Any details about this machine known ? has someone tried it ?

> 
> >   MicD. Omega,			??	Unknown
> >   MicD. Mico	  		??	Unknown
> >
> > RiscPC's tested with and without 2Mb VRAM ... would also like some results
> > with RiscPC's with 1Mb VRAM or no VRAM ...
> 
> Yes I've only got 1MB VRAM, would be nice to have 2 so that demos can be in a 
> few more colours :)

*grin* YEAH! ... so that is covered then too... 

> > So i would like ppl with all different kinds of machines to test the new
> > bootloader (needs the new rpc_machdep.c at minimum) and report the results
> > / problems ?
> 
> well it's all booted, but the console seems slower, is red, and when the 
> switch from bootloader to kernel happens it makes a rather nasty noise and 
> mangles the pointer (kind of seems like it's crashed, but hadn't ;)

Hmmm.... the speed could well be the difference between running the kernel
in DRAM or SDRAM i guess.... it uses the same VRAM !... the reddish colour
will vanish as soon as you switch consoles... thats why i think its just a
wierd thing... definatally a colourmap think hehe....

Thanks for your feedback,
Cheers,
Reinoud