diff options
author | Isaku Yamahata <yamahata@valinux.co.jp> | 2008-08-08 11:38:17 +0900 |
---|---|---|
committer | Isaku Yamahata <yamahata@valinux.co.jp> | 2008-08-08 11:38:17 +0900 |
commit | bd2f7cf2517f7839367859ccf7434d4085d3386a (patch) | |
tree | 098db8fcd6f2f98507a179f34b7309a383655b88 | |
parent | 283fe01effc343e25125b10902525a2f2ef87711 (diff) | |
download | xen-bd2f7cf2517f7839367859ccf7434d4085d3386a.tar.gz xen-bd2f7cf2517f7839367859ccf7434d4085d3386a.tar.bz2 xen-bd2f7cf2517f7839367859ccf7434d4085d3386a.zip |
[IA64] backport EFI version warning fix
We have boxes that report EFI version 2.00 now, so adopt upstream linux
patch to only warn on versions less that 1.00. Based on linux-2.6.git
873ec746158403af82c57ce26780166aafc159e1.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
-rw-r--r-- | xen/arch/ia64/linux-xen/efi.c | 10 | ||||
-rw-r--r-- | xen/arch/ia64/xen/dom_fw_common.c | 2 | ||||
-rw-r--r-- | xen/include/asm-ia64/linux-xen/linux/efi.h | 1 |
3 files changed, 6 insertions, 7 deletions
diff --git a/xen/arch/ia64/linux-xen/efi.c b/xen/arch/ia64/linux-xen/efi.c index d28fed89b6..3f0717489c 100644 --- a/xen/arch/ia64/linux-xen/efi.c +++ b/xen/arch/ia64/linux-xen/efi.c @@ -539,11 +539,11 @@ efi_init (void) panic("Woah! Can't find EFI system table.\n"); if (efi.systab->hdr.signature != EFI_SYSTEM_TABLE_SIGNATURE) panic("Woah! EFI system table signature incorrect\n"); - if ((efi.systab->hdr.revision ^ EFI_SYSTEM_TABLE_REVISION) >> 16 != 0) - printk(KERN_WARNING "Warning: EFI system table major version mismatch: " - "got %d.%02d, expected %d.%02d\n", - efi.systab->hdr.revision >> 16, efi.systab->hdr.revision & 0xffff, - EFI_SYSTEM_TABLE_REVISION >> 16, EFI_SYSTEM_TABLE_REVISION & 0xffff); + if ((efi.systab->hdr.revision >> 16) == 0) + printk(KERN_WARNING "Warning: EFI system table version " + "%d.%02d, expected 1.00 or greater\n", + efi.systab->hdr.revision >> 16, + efi.systab->hdr.revision & 0xffff); config_tables = __va(efi.systab->tables); diff --git a/xen/arch/ia64/xen/dom_fw_common.c b/xen/arch/ia64/xen/dom_fw_common.c index c76a6a3c4b..d7929f0dff 100644 --- a/xen/arch/ia64/xen/dom_fw_common.c +++ b/xen/arch/ia64/xen/dom_fw_common.c @@ -416,7 +416,7 @@ dom_fw_init(domain_t *d, /* EFI systab. */ tables->efi_systab.hdr.signature = EFI_SYSTEM_TABLE_SIGNATURE; - tables->efi_systab.hdr.revision = EFI_SYSTEM_TABLE_REVISION; + tables->efi_systab.hdr.revision = ((1 << 16) | 00); /* EFI 1.00 */ tables->efi_systab.hdr.headersize = sizeof(tables->efi_systab.hdr); memcpy(tables->fw_vendor,FW_VENDOR,sizeof(FW_VENDOR)); diff --git a/xen/include/asm-ia64/linux-xen/linux/efi.h b/xen/include/asm-ia64/linux-xen/linux/efi.h index 02ebb78c9c..1cbc86f02b 100644 --- a/xen/include/asm-ia64/linux-xen/linux/efi.h +++ b/xen/include/asm-ia64/linux-xen/linux/efi.h @@ -215,7 +215,6 @@ typedef struct { } efi_config_table_t; #define EFI_SYSTEM_TABLE_SIGNATURE ((u64)0x5453595320494249ULL) -#define EFI_SYSTEM_TABLE_REVISION ((1 << 16) | 00) typedef struct { efi_table_hdr_t hdr; |