On 13/10/15 23:59, gregkh@xxxxxxxxxxxxxxxxxxx wrote: > > This is a note to let you know that I've just added the patch titled > > x86/xen: Support kexec/kdump in HVM guests by doing a soft reset > > to the 4.2-stable tree which can be found at: > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary > > The filename of the patch is: > x86-xen-support-kexec-kdump-in-hvm-guests-by-doing-a-soft-reset.patch > and it can be found in the queue-4.2 subdirectory. > > If you, or anyone else, feels it should not be added to the stable tree, > please let <stable@xxxxxxxxxxxxxxx> know about it. > > > From 0b34a166f291d255755be46e43ed5497cdd194f2 Mon Sep 17 00:00:00 2001 > From: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> > Date: Fri, 25 Sep 2015 11:59:52 +0200 > Subject: x86/xen: Support kexec/kdump in HVM guests by doing a soft reset > > From: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> > > commit 0b34a166f291d255755be46e43ed5497cdd194f2 upstream. > > Currently there is a number of issues preventing PVHVM Xen guests from > doing successful kexec/kdump: > > - Bound event channels. > - Registered vcpu_info. > - PIRQ/emuirq mappings. > - shared_info frame after XENMAPSPACE_shared_info operation. > - Active grant mappings. > > Basically, newly booted kernel stumbles upon already set up Xen > interfaces and there is no way to reestablish them. In Xen-4.7 a new > feature called 'soft reset' is coming. A guest performing kexec/kdump > operation is supposed to call SCHEDOP_shutdown hypercall with > SHUTDOWN_soft_reset reason before jumping to new kernel. Hypervisor > (with some help from toolstack) will do full domain cleanup (but > keeping its memory and vCPU contexts intact) returning the guest to > the state it had when it was first booted and thus allowing it to > start over. > > Doing SHUTDOWN_soft_reset on Xen hypervisors which don't support it is > probably OK as by default all unknown shutdown reasons cause domain > destroy with a message in toolstack log: 'Unknown shutdown reason code > 5. Destroying domain.' which gives a clue to what the problem is and > eliminates false expectations. [...] > --- a/arch/x86/xen/enlighten.c > +++ b/arch/x86/xen/enlighten.c > @@ -33,6 +33,10 @@ > #include <linux/memblock.h> > #include <linux/edd.h> > > +#ifdef CONFIG_KEXEC_CORE > +#include <linux/kexec.h> > +#endif > + > #include <xen/xen.h> > #include <xen/events.h> > #include <xen/interface/xen.h> > @@ -1800,6 +1804,21 @@ static struct notifier_block xen_hvm_cpu > .notifier_call = xen_hvm_cpu_notify, > }; > > +#ifdef CONFIG_KEXEC_CORE This should be CONFIG_KEXEC in 4.2 and earlier, CONFIG_EXEC_CORE was introduced in 4.3. Do you want an updated patch? David -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html