Can't load bzImage crashkernel on xen system with 32 bit kernel

Anthony Wright anthony at overnetdata.com
Tue Jul 8 03:34:51 PDT 2014


After successfully modifying kexec-tools to get it to load a crashkernel
on a standard 32 bit linux 3.10.17 kernel, I tried to get it to load the
same crashkernel on the same 32 bit linux kernel running under xen
4.4.0, but get the error "Cannot load <kernel-path>".

I've patched the code to include some diagnostics, and the problem is
caused by add_memmap() reporting that it's been called with overlapping
memory.

It's called twice, the first time it's called with:
	address: 0x00000000
	size:    0x0009f800
	type:    0

This comes from info->backup_src_*

The second time it is passed
	address: 0x00000000
	size:    0x00000000
	type:    0

This is derived from the crash_reserved_mem[] array, which has one
element with the values:
	start: 0x0000000000000000 (16 0's)
	end:   0xffffffffffffffff (16 f's)

The problem isn't caused by the zero size because the maths in
add_memmap, uses size to calculate end which overflows back again, and
(partially) cancels out the error. The problem is caused by the two
memory blocks being based at 0x0, causing the blocks to overlap.

I'm not sure what the correct functionality should be.

Thanks,

Anthony.


-- 
Founder, Overnet Data Ltd
+44-1604-807545
www.overnetdata.com



More information about the kexec mailing list