[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [Xen-users] crashkernel doesn't work with linux-2.6.32-dom0

On Tue, Feb 14, 2012 at 10:07 AM, Eric Camachat <eric.camachat@xxxxxxxxx> wrote:
> On Tue, Feb 14, 2012 at 12:07 AM, Philipp Hahn <hahn@xxxxxxxxxxxxx> wrote:
>> Hello,
>> On Tuesday 14 February 2012 02:09:37 Eric Camachat wrote:
>>> I followed xen-4.1.2/docs/misc/kexec_and_kdump.txt, but I cannot see
>>> "Crash kernel" in /dev/iomem.
>>> Is this a known issue?
>> As far as I know crashdump only works with a non-pv-ops-dom0-kernels (2.6.18
>> or 2.6.26), but not with the newer pv-ops-som0-kernels. Thats the important
>> information missing in all those documentations I read, including that file
>> you mentioned above.
> Thanks for your information!
> It's true, no where mentioned that even xen/docs.
> Eric

Try to use HYPERVISOR_kexec_op() to find out where crash buffer is.
But it returned address that outside of total memory!

Test bed:
Xen-4.1.2, Linux-, x86_64

Test result:
found SMP MP-table at [ffff8800000ff780] ff780
Found 128MB of memory at 9069MB for crashkernel (System RAM: 7802MB)
Found 1MB of memory at 3027MB of XEN hypervisor (NCPUS = 4/4).
Found 0MB of vmcore at 3028MB of XEN hypervisor.
Zone PFN ranges:

My code:
xen_kexec_range_t range;
xen_platform_op_t op;
struct resource *res;
unsigned int k = 0, nr = 0;
int rc;

if (xen_start_info->flags & SIF_INITDOMAIN) {
 Â/* fill in crashk_res if range is reserved by hypervisor */
 Âmemset(&range, 0, sizeof(range));
 Ârange.range = KEXEC_RANGE_MA_CRASH;

 Âif (HYPERVISOR_kexec_op(KEXEC_CMD_kexec_get_range, &range)
   Â|| !range.size) {
   Âprintk(KERN_INFO "No CRASH range!\n");

 Âcrashk_res.start = range.start;
 Âcrashk_res.end  = range.start + range.size - 1;

 Âprintk(KERN_INFO "Found %ldMB of memory at %ldMB "
 Â"for crashkernel (System RAM: %ldMB)\n",
 Â(unsigned long)(range.size >> 20),
 Â(unsigned long)(range.start >> 20),
 Â(unsigned long)(get_total_mem() >> 20));

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.