Re: Breaking the 64MB barrier

Alan Cox (alan@lxorguk.ukuu.org.uk)
Sun, 18 Oct 1998 00:14:28 +0100 (BST)


> We could check memory by writing some bytes ( hexadecimal values FF, AA,
> 55, 00 ) into each byte at addresses above 64MB RAM and then reading and
> comparing. If these addresses contain memory, these bytes will be stored
> and the comparison will be successfull.
> If we enter adresses without memory the values written will be lost and
> we will read some garbage, so the comparison will fail.
> Thus we can detect the right memory_end.
>
> Maybe there are some difficulties as the processor uses cache so we have
> to prevent that we read back only from processor-cache.

That is an understatement. You have to deal with mirroring of devices,
two devices decoding at the same invalid address, bus capacitance making
you read back what you wrote, devices that partially mirror or misdecode
in high space and more.

The x86 bios fixed the problem a long time ago. 2.0.x in the 36 series
has caught up.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/