>>> On 24.11.15 at 13:57, <ptesarik@xxxxxxx> wrote: > V Tue, 24 Nov 2015 10:35:03 +0000 > Andrew Cooper <andrew.cooper3@xxxxxxxxxx> napsáno: > >> On 24/11/15 10:17, Petr Tesarik wrote: >> > On Tue, 24 Nov 2015 10:09:01 +0000 >> > David Vrabel <david.vrabel@xxxxxxxxxx> wrote: >> > >> >> On 24/11/15 09:55, Malcolm Crossley wrote: >> >>> On 24/11/15 08:59, Jan Beulich wrote: >> >>>>>>> On 24.11.15 at 07:55, <JGross@xxxxxxxx> wrote: >> >>>>> What about: >> >>>>> >> >>>>> 4) Instead of relying on the kernel maintained p2m list for m2p >> >>>>> conversion use the hypervisor maintained m2p list which should be >> >>>>> available in the dump as well. This is the way the alive kernel is >> >>>>> working, so mimic it during crash dump analysis. >> >>>> I fully agree; I have to admit that looking at the p2m when doing page >> >>>> table walks for a PV Dom0 (having all machine addresses in page table >> >>>> entries) seems kind of backwards. (But I say this knowing nothing >> >>>> about the tool.) >> >>>> >> >>> I don't think we can reliably use the m2p for PV domains because >> >>> PV domains don't always issue a m2p update hypercall when they change >> >>> their p2m mapping. >> >> This only applies to foreign pages which won't be very interesting to a >> >> crash tool. >> > True. I think the main reason crash hasn't done this is that it cannot >> > find the hypervisor maintained m2p list. It should be sufficient to add >> > some more fields to XEN_VMCOREINFO, so that crash can locate the >> > mapping in the dump. >> >> The M2P lives at an ABI-specified location in all virtual address spaces >> for PV guests. >> >> Either 0xF5800000 or 0xFFFF800000000000 depending on bitness. > > Hm, this is nice, but kind of chicken-and-egg problem. A system dump > contains a snapshot of the machine's RAM. But the addresses you > mentioned are virtual addresses. How do I translate them to physical > addresses without an m2p mapping? I need at least the value of CR3 for > that domain, and most likely a way to determine if it is a PV domain. This ought to also be present in Xen's master page table (idle_pg_table[]), and I suppose we can take for granted a symbol table being available. Jan -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility