|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   xen-ia64-devel
Re: [Xen-devel] [patch] make hypercall_preempt_check() a little	more sen 
| On Fri, 2006-03-31 at 10:33 +0100, Keir Fraser wrote:
> On 30 Mar 2006, at 18:17, Hollis Blanchard wrote:
> 
> I'd rather move event_pending() into asm/event.h and then you can 
> monkey with it as you like. That'll also catch other uses of 
> event_pending() where you probably also want the same extra check. I 
> don't really want a proliferation of extra little functions called 
> arch_xxx.
OK. Compile-tested on x86.
-- 
Hollis Blanchard
IBM Linux Technology Center
Make event_pending() architecture-specific.
PowerPC needs this because the domain can directly modify the hardware's
"interrupts enabled" bit, and we don't want to patch Linux to replace
all those accesses to use evtchn_upcall_mask instead.
Signed-off-by: Hollis Blanchard <hollisb@xxxxxxxxxx>
diff -r 4ed269ac7d84 xen/include/asm-ia64/event.h
--- a/xen/include/asm-ia64/event.h      Mon Apr 10 13:24:58 2006 +0100
+++ b/xen/include/asm-ia64/event.h      Mon Apr 10 14:09:16 2006 -0500
@@ -32,4 +32,9 @@ static inline void evtchn_notify(struct 
        vcpu_pend_interrupt(v, v->vcpu_info->arch.evtchn_vector);
 }
 
+/* Note: Bitwise operations result in fast code with no branches. */
+#define event_pending(v)                        \
+    (!!(v)->vcpu_info->evtchn_upcall_pending &  \
+      !(v)->vcpu_info->evtchn_upcall_mask)
+
 #endif
diff -r 4ed269ac7d84 xen/include/asm-x86/event.h
--- a/xen/include/asm-x86/event.h       Mon Apr 10 13:24:58 2006 +0100
+++ b/xen/include/asm-x86/event.h       Mon Apr 10 14:09:16 2006 -0500
@@ -26,4 +26,9 @@ static inline void evtchn_notify(struct 
         smp_send_event_check_cpu(v->processor);
 }
 
+/* Note: Bitwise operations result in fast code with no branches. */
+#define event_pending(v)                        \
+    (!!(v)->vcpu_info->evtchn_upcall_pending &  \
+      !(v)->vcpu_info->evtchn_upcall_mask)
+
 #endif
diff -r 4ed269ac7d84 xen/include/xen/event.h
--- a/xen/include/xen/event.h   Mon Apr 10 13:24:58 2006 +0100
+++ b/xen/include/xen/event.h   Mon Apr 10 14:09:16 2006 -0500
@@ -38,11 +38,6 @@ extern void send_guest_global_virq(struc
  */
 extern void send_guest_pirq(struct domain *d, int pirq);
 
-/* Note: Bitwise operations result in fast code with no branches. */
-#define event_pending(v)                        \
-    (!!(v)->vcpu_info->evtchn_upcall_pending &  \
-      !(v)->vcpu_info->evtchn_upcall_mask)
-
 #define evtchn_pending(d, p)                    \
     (test_bit((p), &(d)->shared_info->evtchn_pending[0]))
 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 | 
 
| <Prev in Thread] | Current Thread | [Next in Thread> |  | 
Re: [Xen-devel] [patch] make hypercall_preempt_check() a little	more sensitive,
Hollis Blanchard <=
 |  |  | 
  
    |  |  |