[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 05/11] xen/hvm kexec: unregister debugirq during reboot
On Thu, Jul 28, 2011 at 03:23:05PM +0200, Olaf Hering wrote: > Unregister the debugirq during kexec, otherwise the kexec kernel will > run into the BUG() in bind_virq_to_irq() when trying to bind to the > still registered virq. > > v2: > use kexec_is_loaded() function Is that really neccessary? I mean can you just do it without checking for that? As in, if you don't have a kexec kernel loaded what will happend to the guest? > > Signed-off-by: Olaf Hering <olaf@xxxxxxxxx> > > --- > arch/x86/xen/smp.c | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > Index: linux-3.0/arch/x86/xen/smp.c > =================================================================== > --- linux-3.0.orig/arch/x86/xen/smp.c > +++ linux-3.0/arch/x86/xen/smp.c > @@ -16,6 +16,8 @@ > #include <linux/err.h> > #include <linux/slab.h> > #include <linux/smp.h> > +#include <linux/kexec.h> > +#include <linux/syscore_ops.h> > > #include <asm/paravirt.h> > #include <asm/desc.h> > @@ -45,6 +47,25 @@ static DEFINE_PER_CPU(int, xen_debug_irq > static irqreturn_t xen_call_function_interrupt(int irq, void *dev_id); > static irqreturn_t xen_call_function_single_interrupt(int irq, void *dev_id); > > +static void xen_hvn_smp_shutdown(void) > +{ > + int cpu; > + > + if (!kexec_is_loaded()) > + return; > + > + for_each_online_cpu(cpu) { > + if (per_cpu(xen_debug_irq, cpu) < 0) > + continue; > + unbind_from_irqhandler(per_cpu(xen_debug_irq, cpu), NULL); > + per_cpu(xen_debug_irq, cpu) = -1; > + } > +} > + > +static struct syscore_ops xen_hvn_smp_syscore_ops = { > + .shutdown = xen_hvn_smp_shutdown, > +}; > + > /* > * Reschedule call back. > */ > @@ -525,6 +546,7 @@ static void __init xen_hvm_smp_prepare_c > return; > xen_init_lock_cpu(0); > xen_init_spinlocks(); > + register_syscore_ops(&xen_hvn_smp_syscore_ops); > } > > static int __cpuinit xen_hvm_cpu_up(unsigned int cpu) > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |