[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [linux-2.6.18-xen] [IA64] Support timer vector IPIs in PV code
# HG changeset patch # User Isaku Yamahata <yamahata@xxxxxxxxxxxxx> # Date 1217210023 -32400 # Node ID c4b12c90de0e72ae0611cb6240d0745c965c417f # Parent 8a3dc4fdb4785447398e983c22241c38f128663b [IA64] Support timer vector IPIs in PV code Add support for IA64_TIMER_VECTOR as a paravirtualized IPI target Necessary for the latest upstream Linux implementation of check_sal_cache_flush() 3463a93def55c309f3c0d0a8aaf216be3be42d64 Upstream Linux recently added this change: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3463a93def55c309f3c0d0a8aaf216be3be42d64 Now, for a platform bug check, we issue an IPI for the IA64_TIMER_VECTOR and wait for it to show up in the IRR. Since a PV kernel doesn't support a timer IPI, this never happens. The fix is simply to tie this into xen_send_ipi() for this case. This doesn't actually happen on 2.6.18, but since vendors are backporting changes from upstream, I think it's good to have this in the reference tree Signed-off-by: Alex Williamson <alex.williamson@xxxxxx> --- arch/ia64/kernel/irq_ia64.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff -r 8a3dc4fdb478 -r c4b12c90de0e arch/ia64/kernel/irq_ia64.c --- a/arch/ia64/kernel/irq_ia64.c Tue Jul 22 11:59:42 2008 +0100 +++ b/arch/ia64/kernel/irq_ia64.c Mon Jul 28 10:53:43 2008 +0900 @@ -534,12 +534,11 @@ xen_platform_send_ipi(int cpu, int vecto xen_platform_send_ipi(int cpu, int vector, int delivery_mode, int redirect) { int irq = -1; + extern void xen_send_ipi(int cpu, int vec); #ifdef CONFIG_SMP /* TODO: we need to call vcpu_up here */ if (unlikely(vector == ap_wakeup_vector)) { - extern void xen_send_ipi (int cpu, int vec); - /* XXX * This should be in __cpu_up(cpu) in ia64 smpboot.c * like x86. But don't want to modify it, @@ -566,6 +565,9 @@ xen_platform_send_ipi(int cpu, int vecto case IA64_CPEP_VECTOR: irq = per_cpu(ipi_to_irq, cpu)[CPEP_VECTOR]; break; + case IA64_TIMER_VECTOR: + xen_send_ipi(cpu, vector); + return; default: printk(KERN_WARNING "Unsupported IPI type 0x%x\n", vector); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |