diff options
author | Bjorn Helgaas <bjorn.helgaas@hp.com> | 2007-05-08 03:29:57 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-08 14:15:10 -0400 |
commit | 873ec746158403af82c57ce26780166aafc159e1 (patch) | |
tree | a1e853e61ac328ac7dbfb7329f6a776ddf3149fb /arch/ia64 | |
parent | f038f9a361a764ed013447174b7170073f89cbe9 (diff) |
EFI: warn only for pre-1.00 system tables
We used to warn unless the EFI system table major revision was exactly 1.
But EFI 2.00 firmware is starting to appear, and the 2.00 changes don't
affect anything in Linux.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Andi Kleen <ak@suse.de>
Cc: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/hp/sim/boot/fw-emu.c | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/efi.c | 10 |
2 files changed, 6 insertions, 6 deletions
diff --git a/arch/ia64/hp/sim/boot/fw-emu.c b/arch/ia64/hp/sim/boot/fw-emu.c index 5a0a7afcfc3a..300acd913d9c 100644 --- a/arch/ia64/hp/sim/boot/fw-emu.c +++ b/arch/ia64/hp/sim/boot/fw-emu.c | |||
@@ -287,7 +287,7 @@ sys_fw_init (const char *args, int arglen) | |||
287 | 287 | ||
288 | memset(efi_systab, 0, sizeof(efi_systab)); | 288 | memset(efi_systab, 0, sizeof(efi_systab)); |
289 | efi_systab->hdr.signature = EFI_SYSTEM_TABLE_SIGNATURE; | 289 | efi_systab->hdr.signature = EFI_SYSTEM_TABLE_SIGNATURE; |
290 | efi_systab->hdr.revision = EFI_SYSTEM_TABLE_REVISION; | 290 | efi_systab->hdr.revision = ((1 << 16) | 00); |
291 | efi_systab->hdr.headersize = sizeof(efi_systab->hdr); | 291 | efi_systab->hdr.headersize = sizeof(efi_systab->hdr); |
292 | efi_systab->fw_vendor = __pa("H\0e\0w\0l\0e\0t\0t\0-\0P\0a\0c\0k\0a\0r\0d\0\0"); | 292 | efi_systab->fw_vendor = __pa("H\0e\0w\0l\0e\0t\0t\0-\0P\0a\0c\0k\0a\0r\0d\0\0"); |
293 | efi_systab->fw_revision = 1; | 293 | efi_systab->fw_revision = 1; |
diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c index 78d29b79947d..75ec3478d8a2 100644 --- a/arch/ia64/kernel/efi.c +++ b/arch/ia64/kernel/efi.c | |||
@@ -445,11 +445,11 @@ efi_init (void) | |||
445 | panic("Woah! Can't find EFI system table.\n"); | 445 | panic("Woah! Can't find EFI system table.\n"); |
446 | if (efi.systab->hdr.signature != EFI_SYSTEM_TABLE_SIGNATURE) | 446 | if (efi.systab->hdr.signature != EFI_SYSTEM_TABLE_SIGNATURE) |
447 | panic("Woah! EFI system table signature incorrect\n"); | 447 | panic("Woah! EFI system table signature incorrect\n"); |
448 | if ((efi.systab->hdr.revision ^ EFI_SYSTEM_TABLE_REVISION) >> 16 != 0) | 448 | if ((efi.systab->hdr.revision >> 16) == 0) |
449 | printk(KERN_WARNING "Warning: EFI system table major version mismatch: " | 449 | printk(KERN_WARNING "Warning: EFI system table version " |
450 | "got %d.%02d, expected %d.%02d\n", | 450 | "%d.%02d, expected 1.00 or greater\n", |
451 | efi.systab->hdr.revision >> 16, efi.systab->hdr.revision & 0xffff, | 451 | efi.systab->hdr.revision >> 16, |
452 | EFI_SYSTEM_TABLE_REVISION >> 16, EFI_SYSTEM_TABLE_REVISION & 0xffff); | 452 | efi.systab->hdr.revision & 0xffff); |
453 | 453 | ||
454 | config_tables = __va(efi.systab->tables); | 454 | config_tables = __va(efi.systab->tables); |
455 | 455 | ||