[Crash-utility] [PATCH 1/2] Add x86_64 linux-2.6.27 support: Catch up the PAGE_OFFSET change.

Ken'ichi Ohmichi oomichi at mxs.nes.nec.co.jp
Tue Sep 2 03:00:04 UTC 2008


Hi,

Since linux-2.6.27 of x86_64, PAGE_OFFSET has been changed to
0xffff880000000000 from 0xffff810000000000.
This patch catches up this change.

I tested it on linux-2.6.27-rc5, and it works fine.


Thanks
Ken'ichi Ohmichi

Signed-off-by: Ken'ichi Ohmichi <oomichi at mxs.nes.nec.co.jp>
---
diff -rpuN crash-4.0-7.1.orig/defs.h crash-4.0-7.1/defs.h
--- crash-4.0-7.1.orig/defs.h	2008-09-01 20:19:06.000000000 +0900
+++ crash-4.0-7.1/defs.h	2008-09-01 20:22:07.000000000 +0900
@@ -2124,6 +2124,8 @@ struct load_module {
 #define VMEMMAP_VADDR_2_6_24       0xffffe20000000000
 #define VMEMMAP_END_2_6_24         0xffffe2ffffffffff
 
+#define PAGE_OFFSET_2_6_27         0xffff880000000000
+
 #define USERSPACE_TOP_XEN          0x0000800000000000
 #define PAGE_OFFSET_XEN            0xffff880000000000
 #define VMALLOC_START_ADDR_XEN     0xffffc20000000000
diff -rpuN crash-4.0-7.1.orig/x86_64.c crash-4.0-7.1/x86_64.c
--- crash-4.0-7.1.orig/x86_64.c	2008-09-01 20:19:06.000000000 +0900
+++ crash-4.0-7.1/x86_64.c	2008-09-01 20:32:14.000000000 +0900
@@ -178,7 +178,6 @@ x86_64_init(int when)
 		case VM_2_6_11:
 			/* 2.6.11 layout */
 			machdep->machspec->userspace_top = USERSPACE_TOP_2_6_11;
-			machdep->machspec->page_offset = PAGE_OFFSET_2_6_11;
 			machdep->machspec->vmalloc_start_addr = VMALLOC_START_ADDR_2_6_11;
 			machdep->machspec->vmalloc_end = VMALLOC_END_2_6_11;
 			machdep->machspec->modules_vaddr = MODULES_VADDR_2_6_11;
@@ -190,6 +189,13 @@ x86_64_init(int when)
 			if (symbol_exists("vmemmap_populate"))
 				machdep->flags |= VMEMMAP;
 
+			if (symbol_exists("end_pfn"))
+				/* 2.6.11 layout */
+				machdep->machspec->page_offset = PAGE_OFFSET_2_6_11;
+			else
+				/* 2.6.27 layout */
+				machdep->machspec->page_offset = PAGE_OFFSET_2_6_27;
+
 	        	machdep->uvtop = x86_64_uvtop_level4;
 			break;
 
---






More information about the Crash-utility mailing list