ia64/xen-unstable

changeset 15867:aaae02dbe269

x86: Handle 'self-IPI' on legacy UP systems with no APIC.
Signed-off-by: Keir Fraser <keir@xensource.com>
author kfraser@localhost.localdomain
date Mon Sep 10 17:49:58 2007 +0100 (2007-09-10)
parents 1c85fe14169f
children 154769114a82
files xen/arch/x86/smp.c
line diff
     1.1 --- a/xen/arch/x86/smp.c	Mon Sep 10 16:51:20 2007 +0100
     1.2 +++ b/xen/arch/x86/smp.c	Mon Sep 10 17:49:58 2007 +0100
     1.3 @@ -279,6 +279,19 @@ int on_selected_cpus(
     1.4  
     1.5      ASSERT(local_irq_is_enabled());
     1.6  
     1.7 +    /* Legacy UP system with no APIC to deliver IPIs? */
     1.8 +    if ( unlikely(!cpu_has_apic) )
     1.9 +    {
    1.10 +        ASSERT(num_online_cpus() == 1);
    1.11 +        if ( cpu_isset(0, selected) )
    1.12 +        {
    1.13 +            local_irq_disable();
    1.14 +            func(info);
    1.15 +            local_irq_enable();
    1.16 +        }
    1.17 +        return 0;
    1.18 +    }
    1.19 +
    1.20      if ( nr_cpus == 0 )
    1.21          return 0;
    1.22