Xen 
 
Home About Xen.org Xen Xen Summit Wiki Mailing List Bug Tracker Xen Downloads
 
   
 

xen-ia64-devel

[Xen-ia64-devel] [Patch] Fix PA() in purgatory-ia64.c

To: kexec@xxxxxxxxxxxxxxxxxxx, xen-ia64-devel <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-ia64-devel] [Patch] Fix PA() in purgatory-ia64.c
From: Akio Takebe <takebe_akio@xxxxxxxxxxxxxx>
Date: Fri, 09 Nov 2007 18:34:11 +0900
Delivery-date: Fri, 09 Nov 2007 01:35:42 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
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 <=