From: Petr Tesarik <petr@xxxxxxxxxxx> Xen dumps fail, because the p2m mapping is initialized too late. The dependency goes like this: - Xen uses FLATMEM - get_mm_flatmem() uses info->dom0_mapnr to initialize mm structures - get_dom0_mapnr() needs p2m mappings to read from a VADDR - the p2m list is initialized in get_machdep_info() Signed-off-by: Petr Tesarik <ptesarik at suse.cz> --- makedumpfile.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/makedumpfile.c b/makedumpfile.c index e91583d..1117598 100644 --- a/makedumpfile.c +++ b/makedumpfile.c @@ -3181,13 +3181,16 @@ out: if (!is_xen_memory() && !cache_init()) return FALSE; + if (debug_info && !get_machdep_info()) + return FALSE; + + if (is_xen_memory() && !get_dom0_mapnr()) + return FALSE; + if (debug_info) { if (info->flag_sadump) (void) sadump_virt_phys_base(); - if (!get_machdep_info()) - return FALSE; - if (info->flag_sadump) { int online_cpus; @@ -3233,9 +3236,6 @@ out: return FALSE; } - if (is_xen_memory() && !get_dom0_mapnr()) - return FALSE; - if (!get_value_for_old_linux()) return FALSE; -- 1.8.4.5