On Fri, 28 Mar 2014 08:18:13 +0000 Atsushi Kumagai <kumagai-atsushi at mxc.nes.nec.co.jp> wrote: > Hello Petr, > > >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..d3f5237 100644 > >--- a/makedumpfile.c > >+++ b/makedumpfile.c > >@@ -3128,6 +3128,12 @@ out: > > if (!get_max_mapnr()) > > return FALSE; > > > >+ if (debug_info && !get_machdep_info()) > >+ return FALSE; > > You have to move get_machdep_info() after cache_init() > since get_machdep_info() calls readmem() on some architectures. > Otherwise, readmem() calls cache_alloc() without the cache > initialization. *sigh* I suspected that the dependencies may be more complex... Out of curiosity, do you already have an overview (dependency graph or similar)? And if not, would you appreciate it if I created one? Petr T