|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Re: xen_hvm_callback_vector
On Mon, 30 Aug 2010, Jeremy Fitzhardinge wrote:
> On 08/30/2010 02:37 AM, Stefano Stabellini wrote:
> >> smp_xen_hvm_callback_vector is just missing, so I think it should be
> >> using BUILD_INTERRUPT3 with the third arg being xen_evtchn_do_upcall.
> > BUILD_INTERRUPT3 is an x86_32 only MACRO, that's why I am using
> > apicinterrupt instead.
>
> My original problem was that my 32-bit builds were failing because
> smp_xen_hvm_callback_vector was missing. I wonder if its the collision
> of two sets of patches.
I think you are just missing a patch like this one:
---
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S
index 1bf0911..a626344 100644
--- a/arch/x86/kernel/entry_64.S
+++ b/arch/x86/kernel/entry_64.S
@@ -1365,7 +1365,7 @@ ENTRY(xen_failsafe_callback)
END(xen_failsafe_callback)
apicinterrupt XEN_HVM_EVTCHN_CALLBACK \
- xen_hvm_callback_vector smp_xen_hvm_callback_vector
+ xen_hvm_callback_vector xen_evtchn_do_upcall
#endif /* CONFIG_XEN */
diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index b4a00bf..743e08f 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -1414,21 +1414,6 @@ int xen_set_callback_via(uint64_t via)
}
EXPORT_SYMBOL_GPL(xen_set_callback_via);
-void smp_xen_hvm_callback_vector(struct pt_regs *regs)
-{
- struct pt_regs *old_regs = set_irq_regs(regs);
-
- exit_idle();
-
- irq_enter();
-
- __xen_evtchn_do_upcall(regs);
-
- irq_exit();
-
- set_irq_regs(old_regs);
-}
-
/* Vector callbacks are better than PCI interrupts to receive event
* channel notifications because we can receive vector callbacks on any
* vcpu and we don't need PCI support or APIC interactions. */
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|