[lkml]   [2001]   [Jun]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRE: For comment: draft BIOS use document for the kernel
Looks somewhat familiar.  8;)
(compare (blatant

Some comments below.

> -----Original Message-----
> From: Alan Cox []

> Linux 2.4 BIOS usage reference
> Boot Sequence
> -------------
> int 0x10 service 3 is used during the boot loading sequence
> to obtain the
> cursor position. int 0x10 service 13 is used to display
s/13/0x13/ 0x13

> loading messages
> as the loading procedure continues. int 0x10 AH=0xE is used
> to display a
> progress bar of '=' characters during the bootstrap
s/=/./ '.'

> Memory Sizing
> -------------
> Firstly a call is made to BIOS INT 15 AX=0xE820 in order to read the

> E820 map. A maximum of 32 blocks are supported by current kernels. The
> 'SMAP' signature is required and tested. In addition the SMAP
> signature
> is restored each call, although not required by the
> specification in order to handle some know BIOS bugs.
> If the E820 call fails then the INT 15 AX=0xE801 service is

> called and the
> results are sanity checked. In particular the code zeroes the
> CX/DX return
> values in order to detect BIOS implementations that do not set them
> usable memory data. It also handles older BIOSes that return
> AX/BX but not AX/BX data.
??? CX/DX instead?

> Peripherals
> -----------
> Having completed video set up the hard disk data for hda and
> hdb is copied
> from the low memory BIOS area into the kernel tables. INT
> 0x13 AH-0x15 is

> 32bit Bootstrap
> ---------------
> In the majority of systems the kernel will directly invoke
> type 1 or type 2
> configuration. In this situation the kernel will search for a $PIR PCI
> IRQ routing table in the BIOS area (0xF0000->0xFFFFF) with a
> revision of 0x100 (1.0).

However, the $PIR table is a Windows 98 requirement. Hence it
is not required for newer versions of Windows and also does not
apply to MP systems (unless the MP BIOS table is not being used).

$PIR *is* still used in Windows 2000 if available:

> Power Management and BIOS Bugs
> ------------------------------

> Finally the battery status querying can be disabled to work
> around a small
> number of BIOSes which crash when this function is used from
> 32bit space.
> These options can be keyed from the DMI table scanner, so
> that, if we are
> made aware of BIOSes requiring options set specific ways we can
> automatically set the options correctly for that BIOS without user
> intervention.

Didn't you disable DMI scan recently, in favor of userspace
DMI tools?

> Future Paths
> ------------
> Intel are currently working on ACPI support for Linux. While
> much of this is
> functional it is not yet stable enough that vendors enable
> it. Linux does
> not require APM services to do minimal power management, nor
> does it require
> PnPBIOS services to function happily. It does however need to
> know about
> interrupt routing. For minimal Linux compatibility a 'legacy
> free' BIOS
> should probably provide the $PIR table, even if it does not
> provide non ACPI versions of other services.

Sorry, legacy-free => ACPI, certainly not a $PIR table IMO.

Personally I'd like to explore adding support to Linux for
the Simple Boot Flag spec.

(not speaking for Intel)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 12:55    [W:0.050 / U:0.820 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site