[Patch] Fix PA() in purgatory-ia64.c
Akio Takebe
takebe_akio at jp.fujitsu.com
Fri Nov 9 04:34:11 EST 2007
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 at jp.fujitsu.com>
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
More information about the kexec
mailing list