Xen changeset 26447 (x86: re-introduce map_domain_page() et al) once again altered virtual address space. Current algorithm calculating its start could not cope with that change. New version establishes this value on the base of image start address and is more generic. Signed-off-by: Daniel Kiper <daniel.kiper at oracle.com> diff -Npru crash-6.1.4.orig/xen_hyper.c crash-6.1.4/xen_hyper.c --- crash-6.1.4.orig/xen_hyper.c 2013-02-14 21:38:54.000000000 +0100 +++ crash-6.1.4/xen_hyper.c 2013-03-15 13:11:16.595713662 +0100 @@ -43,10 +43,14 @@ xen_hyper_init(void) #endif #ifdef X86_64 - if (xen_major_version() >= 4) - xht->xen_virt_start = 0xffff82c480000000; - else - xht->xen_virt_start = 0xffff828c80000000; + xht->xen_virt_start = symbol_value("start"); + + /* + * Xen virtual mapping is aligned to 1 GiB boundary. + * Image starts no more than 1 GiB below + * beginning of virtual address space. + */ + xht->xen_virt_start &= 0xffffffffc0000000; #endif if (machine_type("X86_64") &&