With early Xen setup, we can move the initialization of xen_phys_start
to the setup routine. This is cleaner, as we can get rid of ifdef'ed
arch-specific code in makedumpfile.c (which should IMO stay generic).

Signed-off-by: Petr Tesarik <[email protected]>

---
 arch/x86.c     |    9 +++++++++
 arch/x86_64.c  |    9 +++++++++
 makedumpfile.c |   16 ----------------
 3 files changed, 18 insertions(+), 16 deletions(-)

--- a/arch/x86.c
+++ b/arch/x86.c
@@ -296,6 +296,15 @@ int get_xen_basic_info_x86(void)
        unsigned long frame_table_vaddr;
        unsigned long xen_end;
 
+       if (!info->xen_phys_start) {
+               if (info->xen_crash_info_v < 2) {
+                       ERRMSG("Can't get Xen physical start address.\n"
+                              "Please use the --xen_phys_start option.");
+                       return FALSE;
+               }
+               info->xen_phys_start = info->xen_crash_info.v2->xen_phys_start;
+       }
+
        if (SYMBOL(pgd_l2) == NOT_FOUND_SYMBOL &&
            SYMBOL(pgd_l3) == NOT_FOUND_SYMBOL) {
                ERRMSG("Can't get pgd.\n");
--- a/arch/x86_64.c
+++ b/arch/x86_64.c
@@ -361,6 +361,15 @@ int get_xen_basic_info_x86_64(void)
        unsigned long frame_table_vaddr;
        unsigned long xen_end;
 
+       if (!info->xen_phys_start) {
+               if (info->xen_crash_info_v < 2) {
+                       ERRMSG("Can't get Xen physical start address.\n"
+                              "Please use the --xen_phys_start option.");
+                       return FALSE;
+               }
+               info->xen_phys_start = info->xen_crash_info.v2->xen_phys_start;
+       }
+
        if (SYMBOL(pgd_l4) == NOT_FOUND_SYMBOL) {
                ERRMSG("Can't get pml4.\n");
                return FALSE;
--- a/makedumpfile.c
+++ b/makedumpfile.c
@@ -5365,20 +5365,6 @@ init_xen_crash_info(void)
 }
 
 int
-get_xen_phys_start(void)
-{
-       if (info->xen_phys_start)
-               return TRUE;
-
-#if defined(__x86__) || defined(__x86_64__)
-       if (info->xen_crash_info_v >= 2)
-               info->xen_phys_start = info->xen_crash_info.v2->xen_phys_start;
-#endif
-
-       return TRUE;
-}
-
-int
 get_xen_info(void)
 {
        unsigned long domain;
@@ -5877,8 +5863,6 @@ initial_xen(void)
                if (!read_vmcoreinfo_from_vmcore(offset, size, TRUE))
                        return FALSE;
        }
-       if (!get_xen_phys_start())
-               return FALSE;
        if (!get_xen_info())
                return FALSE;
 



_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to