The page offset of Linux and Xen are different. Currently purgatory is hard
coded with the Linux value. This hack changes thie hardcoded value to the
Xen variant.

This is just a stop-gap measure, the value should probably be passed into
purgatory at run time somehow.

With this patch  kexec from Xen to Xen can work using the port of kexec to
Xen that I have been working on - updated patches to xen-devel soon.
However, with this patch applied kexec from Linux to Linux is no longer
possible. Kexec from Linux to Xen or Xen to Linux has other PAGE_OFFSET
related problems.

http://permalink.gmane.org/gmane.linux.ports.ia64/14995

Once again, this patch is a hack. Please use with caution.

diff --git a/purgatory/arch/ia64/purgatory-ia64.c 
b/purgatory/arch/ia64/purgatory-ia64.c
index dbf77a6..fabd728 100644
--- a/purgatory/arch/ia64/purgatory-ia64.c
+++ b/purgatory/arch/ia64/purgatory-ia64.c
@@ -21,7 +21,12 @@ #include <stdint.h>
 #include <string.h>
 #include "purgatory-ia64.h"
 
+#define XEN
+#ifdef XEN
+#define PAGE_OFFSET             0xf000000000000000UL
+#else
 #define PAGE_OFFSET             0xe000000000000000UL
+#endif
 
 #define EFI_PAGE_SHIFT          12
 #define EFI_PAGE_SIZE          (1UL<<EFI_PAGE_SHIFT)

--

-- 
Horms
  H: http://www.vergenet.net/~horms/
  W: http://www.valinux.co.jp/en/

_______________________________________________
fastboot mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/fastboot

Reply via email to