j820, the saga

Francois-Rene Rideau fare@tunes.org
Sun Mar 28 12:41:51 CEST 2004

On Sun, Mar 28, 2004 at 01:15:22AM +0100, Oleg Gusev wrote:
> The VRAM is _physically_ on sa1101, and is visible "logically"
> only for writing as a bank 1. Done with a hardware wizardry.
> It can be probably seen as a 16MB RAM too, while the writes 
> above 2MB are trapped by the kernel ?
Yes, I think the SA1101 is cheating the SA1100 wrt the VRAM.
The question to me is, can't we cheat it too, so as to add 128MB chips,
and "convince" it that it has 128MB on all banks, even though bank 0
only has 16MB - or maybe activate only bank 2 when in "128MB" mode,
and the two banks when in 16MB*2 mode.

> What really happens when you read/write the nonexistent memory?
I can't tell for sure.
One reason why it was crashing the kernel could be
that it raises some interrupt.
Another could be that because Linux enabled cacheing,
my routines were detecting "memory"
that was only a cache to the bit bucket.
It would require a debugger on the serial console to know.
But doing it in init.S, I can tell you what happens there:
1) when accessing a RAM address and there is no bank,
the register is filled with some kind of junk,
and you can't read back what you write.
2) when accessing a RAM address past the point where the bank ends,
memory wraps up to the beginning of the bank (in other words,
higher address lines are unused -- if they are not even wired in
on the mainboard, this could be a showstopper as to dreams of 128MB RAM).

>> * this j820/init.S can be construed as the last part of the bootloader.
> Ok, then we need to move all this code into the bootloader.
Hacking hpcboot so as to support ramdisk would be a lot of work
for little incremental comfort if at all. Note that kernel 2.4
assumes ATAGs are at a wired-in address, while 2.6 is meant to
take it from address @r1 or so. I guess hacking on 2.6
is more urgent, anyway, as is having a stable userland base.

[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
[  TUNES project for a Free Reflective Computing System  | http://tunes.org  ]
Rightful liberty is unobstructed action according to our will within limits
drawn around us by equal rights of others. I do not add "within the limits of
the law" because law is often but the tyrant's will, and always so when it
violates the rights of the individual.
	-- Thomas Jefferson

More information about the Jornada820 mailing list