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 <[EMAIL PROTECTED]>
--

diff -r eff5fcfa69bc xen/arch/ia64/linux-xen/efi.c
--- a/xen/arch/ia64/linux-xen/efi.c     Wed Aug 06 15:19:13 2008 +0100
+++ b/xen/arch/ia64/linux-xen/efi.c     Thu Aug 07 15:28:22 2008 -0600
@@ -485,11 +485,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 -r eff5fcfa69bc xen/arch/ia64/xen/dom_fw_common.c
--- a/xen/arch/ia64/xen/dom_fw_common.c Wed Aug 06 15:19:13 2008 +0100
+++ b/xen/arch/ia64/xen/dom_fw_common.c Thu Aug 07 15:28:22 2008 -0600
@@ -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 -r eff5fcfa69bc xen/include/asm-ia64/linux-xen/linux/efi.h
--- a/xen/include/asm-ia64/linux-xen/linux/efi.h        Wed Aug 06 15:19:13 
2008 +0100
+++ b/xen/include/asm-ia64/linux-xen/linux/efi.h        Thu Aug 07 15:28:22 
2008 -0600
@@ -217,7 +217,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;



_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel

Reply via email to