[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-ia64-devel] [PATCH][LINUX] Support timer vector IPIs in PV code



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.  Thanks,

Alex


Add support for IA64_TIMER_VECTOR as a paravirtualized IPI target

Necessary for the latest upstream Linux implementation of
check_sal_cache_flush() 3463a93def55c309f3c0d0a8aaf216be3be42d64

Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
--

diff -r 8a3dc4fdb478 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       Thu Jul 24 12:19:05 2008 -0600
@@ -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-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.