From ccd6099112f38eab768d1ce481e9fe3000ba7fda Mon Sep 17 00:00:00 2001 From: Don Slutz Date: Wed, 6 Nov 2013 14:55:21 +0000 Subject: kexec/xen: switch to use xc_kexec_get_range for get_xen_vmcoreinfo. Signed-off-by: Don Slutz Signed-off-by: David Vrabel Reviewed-by: Daniel Kiper Signed-off-by: Simon Horman --- kexec/crashdump-xen.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'kexec/crashdump-xen.c') diff --git a/kexec/crashdump-xen.c b/kexec/crashdump-xen.c index 8185423..79b68e0 100644 --- a/kexec/crashdump-xen.c +++ b/kexec/crashdump-xen.c @@ -164,6 +164,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; @@ -206,6 +226,11 @@ out: return cpu; } #else +int get_xen_vmcoreinfo(uint64_t *addr, uint64_t *len) +{ + return -1; +} + int xen_get_nr_phys_cpus(void) { return -1; -- cgit