ia64/xen-unstable

changeset 10099:3d3e5a3008f6

Check `global' property of the arch specific virqs.
Signed-off-by Kevin Tian <Kevin.tian@intel.com>
author kaf24@firebug.cl.cam.ac.uk
date Thu May 18 16:19:18 2006 +0100 (2006-05-18)
parents 48c0f5489d44
children aa17b7173325
files xen/common/event_channel.c xen/include/asm-ia64/event.h xen/include/asm-x86/event.h
line diff
     1.1 --- a/xen/common/event_channel.c	Thu May 18 11:39:03 2006 +0100
     1.2 +++ b/xen/common/event_channel.c	Thu May 18 16:19:18 2006 +0100
     1.3 @@ -60,6 +60,9 @@ static int virq_is_global(int virq)
     1.4      case VIRQ_XENOPROF:
     1.5          rc = 0;
     1.6          break;
     1.7 +    case VIRQ_ARCH_0 ... VIRQ_ARCH_7:
     1.8 +        rc = arch_virq_is_global(virq);
     1.9 +        break;
    1.10      default:
    1.11          rc = 1;
    1.12          break;
     2.1 --- a/xen/include/asm-ia64/event.h	Thu May 18 11:39:03 2006 +0100
     2.2 +++ b/xen/include/asm-ia64/event.h	Thu May 18 16:19:18 2006 +0100
     2.3 @@ -37,4 +37,21 @@ static inline void evtchn_notify(struct 
     2.4      (!!(v)->vcpu_info->evtchn_upcall_pending &  \
     2.5        !(v)->vcpu_info->evtchn_upcall_mask)
     2.6  
     2.7 +static inline int arch_virq_is_global(int virq)
     2.8 +{
     2.9 +    int rc;
    2.10 +
    2.11 +    switch ( virq )
    2.12 +    {
    2.13 +    case VIRQ_ITC:
    2.14 +        rc = 0;
    2.15 +        break;
    2.16 +    default:
    2.17 +        rc = 1;
    2.18 +        break;
    2.19 +    }
    2.20 +
    2.21 +    return rc;
    2.22 +}
    2.23 +
    2.24  #endif
     3.1 --- a/xen/include/asm-x86/event.h	Thu May 18 11:39:03 2006 +0100
     3.2 +++ b/xen/include/asm-x86/event.h	Thu May 18 16:19:18 2006 +0100
     3.3 @@ -31,4 +31,10 @@ static inline void evtchn_notify(struct 
     3.4      (!!(v)->vcpu_info->evtchn_upcall_pending &  \
     3.5        !(v)->vcpu_info->evtchn_upcall_mask)
     3.6  
     3.7 +/* No arch specific virq definition now. Default to global. */
     3.8 +static inline int arch_virq_is_global(int virq)
     3.9 +{
    3.10 +    return 1;
    3.11 +}
    3.12 +
    3.13  #endif