This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[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

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;

Xen-ia64-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-ia64-devel] [Patch] Fix PA() in purgatory-ia64.c, Akio Takebe <=