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
