[PATCH] /sys/firmware/efi/systab giving incorrect value for smbios

From: Matthew Garrett
Date: Sat Mar 04 2006 - 12:58:04 EST


On my Intel imac, /sys/firmware/efi/systab is the following:

ACPI20=0x1fefd014
ACPI=0x1fefd000
SMBIOS=0x9fec9000

if I have a kernel with a 2:2 user/kernel split, and

SMBIOS=0x5fec9000

if I have a kernel with a 3:1 split. The correct value is 0x1fec9000,
which is what the kernel prints at boot time. The following trivial
patch seems to fix things.

Signed-off-by: Matthew Garrett <mjg59@xxxxxxxxxxxxx>

diff --git a/arch/i386/kernel/efi.c b/arch/i386/kernel/efi.c
index ecad519..6be705e 100644
--- a/arch/i386/kernel/efi.c
+++ b/arch/i386/kernel/efi.c
@@ -391,7 +391,7 @@ void __init efi_init(void)
printk(KERN_INFO " ACPI=0x%lx ", config_tables[i].table);
} else
if (efi_guidcmp(config_tables[i].guid, SMBIOS_TABLE_GUID) == 0) {
- efi.smbios = (void *) config_tables[i].table;
+ efi.smbios = __va(config_tables[i].table);
printk(KERN_INFO " SMBIOS=0x%lx ", config_tables[i].table);
} else
if (efi_guidcmp(config_tables[i].guid, HCDP_TABLE_GUID) == 0) {

--
Matthew Garrett | mjg59@xxxxxxxxxxxxx
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/