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@xxxxxxxxxxxxxxxxx> --- 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; --- -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility