[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [IA64] backport EFI version warning fix



# HG changeset patch
# User Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
# Date 1218163097 -32400
# Node ID 853476b12f5623beaddae5670aa97994f6f37d81
# Parent  36c274bbc5dffc7bea88cd1d18faca0ab2750e08
[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@xxxxxx>
---
 xen/arch/ia64/linux-xen/efi.c              |   10 +++++-----
 xen/arch/ia64/xen/dom_fw_common.c          |    2 +-
 xen/include/asm-ia64/linux-xen/linux/efi.h |    1 -
 3 files changed, 6 insertions(+), 7 deletions(-)

diff -r 36c274bbc5df -r 853476b12f56 xen/arch/ia64/linux-xen/efi.c
--- a/xen/arch/ia64/linux-xen/efi.c     Fri Aug 08 11:38:08 2008 +0900
+++ b/xen/arch/ia64/linux-xen/efi.c     Fri Aug 08 11:38:17 2008 +0900
@@ -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 -r 36c274bbc5df -r 853476b12f56 xen/arch/ia64/xen/dom_fw_common.c
--- a/xen/arch/ia64/xen/dom_fw_common.c Fri Aug 08 11:38:08 2008 +0900
+++ b/xen/arch/ia64/xen/dom_fw_common.c Fri Aug 08 11:38:17 2008 +0900
@@ -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 36c274bbc5df -r 853476b12f56 xen/include/asm-ia64/linux-xen/linux/efi.h
--- a/xen/include/asm-ia64/linux-xen/linux/efi.h        Fri Aug 08 11:38:08 
2008 +0900
+++ b/xen/include/asm-ia64/linux-xen/linux/efi.h        Fri Aug 08 11:38:17 
2008 +0900
@@ -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;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.