* Robert Millan <[EMAIL PROTECTED]> [071106 21:28]:
> 
> Hi!
> 
> Rudolf reported that GRUB doesn't start on LBv2 because it attempts to find
> the memory map table at 0x500, and it isn't always there.  For him it is at
> 0x530, but looking at the code it seems not to be hardcoded, but instead
> right after a GDT that does live at 0x500.  See:
> 
>   http://grub.enbug.org/LinuxBIOS
> 
> Is there a spec on something on what should payloads do about this?  Probe
> 0x500 and 0x530 or ... ?

See LinuxBIOSv2/util/lxbios/lbtable.c - The table can be anywhere in
(low?) memory, at a 16byte aligned memory address. It can be probed by
looking for the LBIO signature and the checksum.

v2 may use different places for the LB table, while v3 always puts it at
0x500 so far. This is not gonna stay like that, though, as we might want
to enhance bios compatibility by filling the EBDA at 0x500 (after the
BDA at 0x400) at some point.

Stefan

-- 
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
      Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: [EMAIL PROTECTED]  • http://www.coresystems.de/
Registergericht: Amtsgericht Freiburg • HRB 7656
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866

-- 
linuxbios mailing list
[email protected]
http://www.linuxbios.org/mailman/listinfo/linuxbios

Reply via email to