[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 0/4] kexec-tools: add support for Xen 4.3
On 02/21/13 12:57, David Vrabel wrote: I did not find a fix/change to get_xen_vmcoreinfo() to call on xc_kexec_get_range(xc, KEXEC_RANGE_MA_VMCOREINFO, ...The series adds support for the new hypercall ABI which should be provided by Xen 4.3. Images are loaded into Xen directly with no kernel involvement. Do not apply until the hypervisor side patches are applied to Xen. Patch 1 is unrelated but kexec wouldn't work for me without it. Not sure why I had problems, perhaps a toolstack specific issue? Patch 2 makes libxc 4.3 mandatory for Xen support. Patch 3 removes a use of /proc/iomem in favour of libxc. Patch 4 adds the support for loading an image into Xen. This series explicitly drops support for older version of libxc/Xen as supporting kexec on these hypervisors requires kernel support that will never be available upstream. David _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel I found the following to work. -Don Slutz From 2cabc018d7613b0d2ac487cbf2a2e9438a441a8d Mon Sep 17 00:00:00 2001 From: Don Slutz <Don@xxxxxxxxxxxxxxx> Date: Fri, 22 Feb 2013 22:27:03 -0500Subject: [PATCH 1/2] Switch to use xc_kexec_get_range for get_xen_vmcoreinfo. Signed-off-by: Don Slutz <Don@xxxxxxxxxxxxxxx> --- kexec/crashdump-xen.c | 20 ++++++++++++++++++++ kexec/crashdump.c | 2 ++ 2 files changed, 22 insertions(+), 0 deletions(-) diff --git a/kexec/crashdump-xen.c b/kexec/crashdump-xen.c index 56b0653..8179b72 100644 --- a/kexec/crashdump-xen.c +++ b/kexec/crashdump-xen.c@@ -161,6 +161,26 @@ unsigned long xen_architecture(struct crash_elf_info *elf_info) } #ifdef HAVE_LIBXENCTRL +int get_xen_vmcoreinfo(uint64_t *addr, uint64_t *len) +{ + xc_interface *xc; + int ret = 0; + + xc = xc_interface_open(NULL, NULL, 0); + if ( !xc ) { + fprintf(stderr, "failed to open xen control interface.\n"); + return -1; + } ++ ret = xc_kexec_get_range(xc, KEXEC_RANGE_MA_VMCOREINFO, 0, len, addr); + + xc_interface_close(xc); + + if (ret < 0) + return -1; + return 0; +} + int xen_get_nr_phys_cpus(void) { xc_interface *xc; diff --git a/kexec/crashdump.c b/kexec/crashdump.c index 847d080..3d2c1b9 100644 --- a/kexec/crashdump.c +++ b/kexec/crashdump.c @@ -142,7 +142,9 @@ int get_kernel_vmcoreinfo(uint64_t *addr, uint64_t *len) return get_vmcoreinfo("/sys/kernel/vmcoreinfo", addr, len); } +#ifndef HAVE_LIBXENCTRL int get_xen_vmcoreinfo(uint64_t *addr, uint64_t *len) { return get_vmcoreinfo("/sys/hypervisor/vmcoreinfo", addr, len); } +#endif -- 1.7.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |