Hello, From: Dave Anderson <anderson@xxxxxxxxxx> Subject: Re: crash with Xen dom0 image from kdump Date: Fri, 02 Jun 2006 09:28:07 -0400 > Kazuo Moriwaka wrote: > > > Hello Dave, > > # I append crash-utility list to Cc > > > > From: Dave Anderson <anderson@xxxxxxxxxx> > > Subject: Re: crash with Xen dom0 image from kdump > > Date: Thu, 01 Jun 2006 08:39:01 -0400 > > > > > Kazuo Moriwaka wrote: > > > > > > > Hello, > > > > > > > > From: Dave Anderson <anderson@xxxxxxxxxx> > > > > Subject: Re: crash with Xen dom0 image from kdump > > > > Date: Wed, 31 May 2006 16:20:15 -0400 > > > > > > > > > > > > > > Hey guys, > > > > > > > > > > I've got the vmcore file from which Kazuo generated the > > > > > "simulated" xendump dumpfile. I have a question regarding > > > > > the makeup of the the vmcore file -- are the physical addresses > > > > > referred to by each PT_LOAD segment based upon: > > > > > > > > > > 1. machine addresses, or > > > > > 2. pseudo-physical addresses as perceived by the dom0 vmlinux kernel? > > > > > > > > > > Dave > > > > > > > > It's 1. > > > > vmcore is made by kexec-ed linux kernel (not on xen, but on machine) kdump. > > > > The kernel doesn't know about xen or domains except register info. > > > > Register info is for dom0. > > > > > > > > > > Ok, good... > > > > > > Next question -- how did you find dom0's phys_to_machine_mapping[] > > > array from the vmcore in order to create the xendump? > > > > I use xen executable binary with symbols to find 'dom0' global symbol > > in xen. > > In x86_32 arch, dom0->vcpu[0].arch->guest_table has pagetable address > > for domain0 guest kernel. > > After it, I found 'phys_to_machine_mapping'. > > For other domains, 'domain_list' is point list of struct domain. > > > > I'll attach my latest dom0cut script. 'dom0cut_x86_32.py' contains > > names of symbols and structs to get dom0 image. > > The problem is that we're just going to want to work with the > /proc/vmcore and vmlinux file as always. Having to drag the xen > executable binary into the picture should be unnecessary. > > With a xendump, the phys_to_machine_mapping array can be > found by following the page tables from any of the cr3 values > found in the dump header. Yes. It's enough to read dom0. I hoped that treating xen exec in this stage makes smooth path to support xen hypervisor, but embedding cr3 of dom0 seems considerable shortcut for dom0 crash analysis. > It would seem simple enough to have the xen/kdump code store > a legitimate dom0 cr3 value somewhere in the ELF header. Would > that be possible to explore? Note that I'm not really interested Now the vmcore doesn't have cr3 values in header. It needs some changes for dump. > in the other guest domains, at least at this point, but I could see > it potentially helpful to recreate the crash environment for the > guest domains as well, so perhap an array of per-domain cr3 > values in an ELF header note section would be possible? I think writing cr3 values can be done. But I'm not clear about restrictions around making dump images, Horms can answer this question. regards, -- Kazuo Moriwaka <moriwaka@xxxxxxxxxxxxx>