[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.025 / U:58.504 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site