[LinuxBIOS] Specifications?

Stefan Reinauer stepan at coresystems.de
Tue Jun 12 09:49:10 CEST 2007


* Brendan Trotter <btrotter at gmail.com> [070612 06:23]:
> Hi,
> 
> I'm wondering if there's a specification describing the state of the
> computer at the hand-off between LinuxBIOS and a payload.
> 
> So far I've got LinxBIOS booting a dummy "for(;;)" payload in Bochs,
> and I've found out there's a "LinuxBIOS Table" and that it can be
> found by searching for "LBIO" in the first 4 KB of RAM and in the area
> between 0xF000 and 0xFFFFF. I don't know if there's a checksum or any
> other validation, and have been unable to find anything describing
> what this table contains.

check LinuxBIOSv2/util/lbtdump

> I assume there may also be ACPI, MP specification, PIRQ routing and/or
> (possibly) SMI/DMI tables, and I'm guessing that (if present) these
> tables can be searched for using the same methods as described in
> their corresponding specifications.

They're not used by payloads (except the Linux kernel)

> - will an 80x86 system always be in 32-bit protected mode for 32-bit
> ELF payloads, and is long mode possible for ELF64 payloads (and if so,
> how is paging setup)?

long mode is not yet possible. If you know how to do it and have time,
we'd appreciate any patches though!

> - are any parameters passed on the stack to the payload's entry function?

no

> - are AP CPUs started (or waiting for a SIPI sequence)?

yes, hardware is completely up when linuxbios is done.

> - can the payload assume anything about the state of the PIC, I/O
> APIC/s and local APIC/s, PIT, RTC, ISA DMA controllers, serial ports,
> etc?

yes. they're initialized.

> - what state are PCI buses and devices left in (would a payload need
> to do full PCI bus enumeration, or..)?

They have their resources.

What do you mean by full pci bus enumeration? What would be the
opposite? 

> - is there anything in the LinuxBIOS table that could be used to
> determine if the computer is "headless" and which serial port or other
> device to use if it is?

Not at the moment. But in General this is easy. If no VGA class PCI
device is there, the machine is 99.99% headless.

> - can anything be assumed about AGP and the first video card (if the
> computer isn't headless)?

What would you like to assume?

> - is there any form of "LinuxBIOS API" that can be used by the payload
> for generic low level disk access (floppy/ATA/ATAPI/SCSI)?

No. No Callbacks. That's our intended design.

We don't have functions to access floppy or SCSI in LinuxBIOS anyways
(and in v3 we also dropped ATA)

-- 
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
      Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: info at coresystems.dehttp://www.coresystems.de/




More information about the coreboot mailing list