>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? I'm afraid that I don't have such a stuff, but it will be very helpful for maintenance and clean-up since initial() was getting complex by additional features. So I will appreciate your work. Thanks Atsushi Kumagai