Messages in this thread | | | Date | Fri, 15 May 2015 15:27:11 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [v4 3/3] x86, irq: Define a global vector for VT-d Posted-Interrupts |
| |
On Thu, 30 Apr 2015, Feng Wu wrote: > #ifdef CONFIG_HAVE_KVM > +void (*wakeup_handler_callback)(void); > +EXPORT_SYMBOL_GPL(wakeup_handler_callback);
The matching entry in a header file is going to come later again?
> /* > * Handler for POSTED_INTERRUPT_VECTOR. > */ > @@ -256,6 +259,30 @@ __visible void smp_kvm_posted_intr_ipi(struct pt_regs *regs) > > set_irq_regs(old_regs); > } > + > +/* > + * Handler for POSTED_INTERRUPT_WAKEUP_VECTOR. > + */ > +__visible void smp_kvm_posted_intr_wakeup_ipi(struct pt_regs *regs) > +{ > + struct pt_regs *old_regs = set_irq_regs(regs); > + > + ack_APIC_irq(); > + > + irq_enter(); > + > + exit_idle();
entering_ack_irq() please
> + inc_irq_stat(kvm_posted_intr_wakeup_ipis); > + > + if (wakeup_handler_callback) > + wakeup_handler_callback(); > + > + irq_exit(); > + > + set_irq_regs(old_regs); > +}
Thanks,
tglx
| |