On Wed, Apr 17, 2013 at 02:53:33PM +0100, David Vrabel wrote: > On 17/04/13 13:56, Daniel Kiper wrote: > > On Tue, Apr 09, 2013 at 11:20:36PM +0200, Daniel Kiper wrote: > >> > >> arch = (kexec_flags & KEXEC_ARCH_MASK) >> 16; > > > > What is wrong with this line? > > Why did not you applied it? > > I haven't reposted the kexec-tools patches so it's not clear what you > are expecting this to be applied to. arch = (kexec_flags >> 16) & 0xffff; should be changed to: arch = (kexec_flags & KEXEC_ARCH_MASK) >> 16; or add comment what are you doing but I think that former is better. Additionally I found in kexec-tools git tree something like that: kexec/crashdump-xen.c: ... #ifdef HAVE_LIBXENCTRL int get_xen_vmcoreinfo(uint64_t *addr, uint64_t *len) { ... } and in kexec/crashdump.c: ... #ifndef HAVE_LIBXENCTRL int get_xen_vmcoreinfo(uint64_t *addr, uint64_t *len) { return get_vmcoreinfo("/sys/hypervisor/vmcoreinfo", addr, len); } #endif Move get_xen_vmcoreinfo() from kexec/crashdump.c to kexec/crashdump-xen.c and make it return -1 ifndef HAVE_LIBXENCTRL. /sys/hypervisor/vmcoreinfo is valid for legacy kexec implementation only. Please repost next time Xen and kexec-tools patches. Daniel