WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] [IA64] re-add efi support to acpi_os_get_

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] re-add efi support to acpi_os_get_root_pointer()
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 13 Jun 2008 14:10:13 -0700
Delivery-date: Fri, 13 Jun 2008 14:10:17 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1213281861 -3600
# Node ID 4ebd8f3774263b4cd10fd9b1b7a93864acf88ab0
# Parent  0089fe3d209d13d752215b0214c9a7c9f5ee4fad
[IA64] re-add efi support to acpi_os_get_root_pointer()

On ia64 RSDP address is obtained from efi table instead of
memory scan. Otherwise it may use wrong table to fail to find
tables.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
 xen/drivers/acpi/osl.c        |   25 ++++++++++++++++++++++---
 xen/include/asm-ia64/config.h |    1 +
 2 files changed, 23 insertions(+), 3 deletions(-)

diff -r 0089fe3d209d -r 4ebd8f377426 xen/drivers/acpi/osl.c
--- a/xen/drivers/acpi/osl.c    Thu Jun 12 15:42:09 2008 +0100
+++ b/xen/drivers/acpi/osl.c    Thu Jun 12 15:44:21 2008 +0100
@@ -37,6 +37,9 @@
 #include <acpi/platform/aclinux.h>
 #include <xen/spinlock.h>
 #include <xen/domain_page.h>
+#ifdef __ia64__
+#include <linux/efi.h>
+#endif
 
 #define _COMPONENT             ACPI_OS_SERVICES
 ACPI_MODULE_NAME("osl")
@@ -82,9 +85,25 @@ void acpi_os_vprintf(const char *fmt, va
 
 acpi_physical_address __init acpi_os_get_root_pointer(void)
 {
-       acpi_physical_address pa = 0;
-       acpi_find_root_pointer(&pa);
-       return pa;
+#ifdef __ia64__
+       if (efi_enabled) {
+               if (efi.acpi20 != EFI_INVALID_TABLE_ADDR)
+                       return efi.acpi20;
+               else if (efi.acpi != EFI_INVALID_TABLE_ADDR)
+                       return efi.acpi;
+               else {
+                       printk(KERN_ERR PREFIX
+                              "System description tables not found\n");
+                       return 0;
+               }
+       } else
+#endif
+       {
+               acpi_physical_address pa = 0;
+
+               acpi_find_root_pointer(&pa);
+               return pa;
+       }
 }
 
 void __iomem *
diff -r 0089fe3d209d -r 4ebd8f377426 xen/include/asm-ia64/config.h
--- a/xen/include/asm-ia64/config.h     Thu Jun 12 15:42:09 2008 +0100
+++ b/xen/include/asm-ia64/config.h     Thu Jun 12 15:44:21 2008 +0100
@@ -17,6 +17,7 @@
 // this needs to be on to run on system with large memory hole
 #define        CONFIG_VIRTUAL_FRAME_TABLE
 
+#define CONFIG_EFI
 #define CONFIG_EFI_PCDP
 #define CONFIG_SERIAL_SGI_L1_CONSOLE
 

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] [IA64] re-add efi support to acpi_os_get_root_pointer(), Xen patchbot-unstable <=