|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-ia64-devel
[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
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread> |  
- [Xen-ia64-devel] [Patch] Fix PA() in purgatory-ia64.c,
Akio Takebe <=
  
 |  
  
 | 
    | 
  
  
    |   | 
    |