From: Matthew G. <mj...@sr...> - 2006-03-04 19:00:39
|
Or, as an alternative, remove the virtual to physical mapping that efivars does. This requires fixing up IA64 to match. I've no idea which approach is right. Signed-off-by: Matthew Garrett <mj...@sr...> diff --git a/drivers/firmware/efivars.c b/drivers/firmware/efivars.c index bda5bce..ba598af 100644 --- a/drivers/firmware/efivars.c +++ b/drivers/firmware/efivars.c @@ -575,7 +575,7 @@ systab_read(struct subsystem *entry, cha if (efi.acpi) str += sprintf(str, "ACPI=0x%lx\n", __pa(efi.acpi)); if (efi.smbios) - str += sprintf(str, "SMBIOS=0x%lx\n", __pa(efi.smbios)); + str += sprintf(str, "SMBIOS=0x%lx\n", efi.smbios); if (efi.hcdp) str += sprintf(str, "HCDP=0x%lx\n", __pa(efi.hcdp)); if (efi.boot_info) diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c index a3aa45c..ff3795b 100644 --- a/arch/ia64/kernel/efi.c +++ b/arch/ia64/kernel/efi.c @@ -451,7 +451,7 @@ efi_init (void) efi.acpi = __va(config_tables[i].table); printk(" ACPI=0x%lx", config_tables[i].table); } else if (efi_guidcmp(config_tables[i].guid, SMBIOS_TABLE_GUID) == 0) { - efi.smbios = __va(config_tables[i].table); + efi.smbios = config_tables[i].table; printk(" SMBIOS=0x%lx", config_tables[i].table); } else if (efi_guidcmp(config_tables[i].guid, SAL_SYSTEM_TABLE_GUID) == 0) { efi.sal_systab = __va(config_tables[i].table); -- Matthew Garrett | mj...@sr... |