Hi,

xen_ssm_i() has barrier() after xen_set_virtual_psr_i().
I think xen_rsm_i() also need barrier().
Is this correct?

Signed-off-by: Akio Takebe <[EMAIL PROTECTED]>

Best Regards,

Akio Takebe

diff -r b865b15fb54b include/asm-ia64/xen/privop.h
--- a/include/asm-ia64/xen/privop.h     Mon Dec 10 15:04:49 2007 +0000
+++ b/include/asm-ia64/xen/privop.h     Wed Dec 12 23:18:00 2007 +0900
@@ -229,7 +229,10 @@ extern void xen_set_eflag(unsigned long)
 
 /* turning off interrupts can be paravirtualized simply by writing
  * to a memory-mapped virtual psr.i bit (implemented as a 16-bit bool) */
-#define xen_rsm_i()    xen_set_virtual_psr_i(0)
+#define xen_rsm_i()                                                    \
+{      xen_set_virtual_psr_i(0);                                       \
+       barrier();                                                      \
+}
 
 /* turning on interrupts is a bit more complicated.. write to the
  * memory-mapped virtual psr.i bit first (to avoid race condition),

Attachment: barrier_in_xen_rsm_i.patch
Description: Binary data

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel

Reply via email to