[PATCH 1/2] xen: Improve calculation of beginning of virtual address space
Daniel Kiper
daniel.kiper at oracle.com
Fri Mar 15 11:09:21 EDT 2013
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") &&
More information about the kexec
mailing list