ACPI spec. states that the location of the RSDP structure is found by searching * The first 1 KB of the Extended BIOS Data Area (EBDA). * The BIOS read-only memory space between 0E0000h and 0FFFFFh The EBDA scan looks wrong. The patch below against 2.6.12 should correct this. -Udo. --- Calculate correct EBDA address for ACPI RSDP scan. The word at BIOS Data Area 40:0E is the segment address of the EBDA. Signed-off-by: Udo A. Steinberg <[email protected]> --- linux-2.6.12/arch/i386/kernel/acpi/boot.c.old 2005-07-20 17:28:32.000000000 +0200 +++ linux-2.6.12/arch/i386/kernel/acpi/boot.c 2005-07-20 17:31:15.000000000 +0200 @@ -648,7 +648,7 @@ * Scan memory looking for the RSDP signature. First search EBDA (low * memory) paragraphs and then search upper memory (E0000-FFFFF). */ - rsdp_phys = acpi_scan_rsdp (0, 0x400); + rsdp_phys = acpi_scan_rsdp (*(u16*) 0x40E << 4, 0x400); if (!rsdp_phys) rsdp_phys = acpi_scan_rsdp (0xE0000, 0x20000);
Attachment:
pgpieoRo11y1n.pgp
Description: PGP signature
- Prev by Date: Re: restricting skb allocation to a specific zone
- Next by Date: Re: Synaptics and TrackPoint problems in 2.6.12
- Previous by thread: [new] kernel-desktop 2.6.12-1.1398_FC4.desktop_1
- Next by thread: BUG triggered in Real-Time Preemption, -RT-2.6.12-final-V0.7.51-32
- Index(es):