[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-ia64-devel] [Patch] Fix PA() in purgatory-ia64.c
Hi, I met the issue that kdump didn't work on Xen/HVM guest. I investigated the cause, found that PA() in purgatory-ia64.c is used in Physical mode. The PA() currently use PAGE_OFFSET fixed size(0xe000000000000000UL). So the PA() don't work properly if it is called in Physcal mode. inline unsigned long PA(unsigned long addr) { return addr - PAGE_OFFSET; } I make the patch to fix this issue. How about this? Signed-off-by: Akio Takebe <takebe_akio@xxxxxxxxxxxxxx> Best Regards, Akio Takebe --- --- kexec-tools-testing-20071030.orig/purgatory/arch/ia64/purgatory-ia64.c 2007-10-17 12:16:16.000000000 +0900 +++ kexec-tools-testing-20071030/purgatory/arch/ia64/purgatory-ia64.c 2007-11-09 18:20:27.000000000 +0900 @@ -21,7 +21,7 @@ #include <string.h> #include "purgatory-ia64.h" -#define PAGE_OFFSET 0xe000000000000000UL +#define RGN_MASK 0xf000000000000000UL #define EFI_PAGE_SHIFT 12 #define EFI_PAGE_SIZE (1UL<<EFI_PAGE_SHIFT) @@ -147,7 +147,7 @@ setup_arch(void) inline unsigned long PA(unsigned long addr) { - return addr - PAGE_OFFSET; + return addr|~RGN_MASK; } void _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |