minios: in non-x86 case, use wmb to enforce ordering between

evtchn_upcall_pending and evtchn_pending_sel stores.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
This commit is contained in:
Keir Fraser committed 2008-05-08 11:55:13 +01:00
1 parent b585b4dfa7
commit aec0c76f22
1 file changed
+5 -1
+5 -1
View File
@@ -46,7 +46,11 @@ void do_hypervisor_callback(struct pt_regs *regs)
in_callback = 1;
vcpu_info->evtchn_upcall_pending = 0;
/* NB. No need for a barrier here -- XCHG is a barrier on x86. */
/* NB x86. No need for a barrier here -- XCHG is a barrier on x86. */
#if !defined(__i386__) && !defined(__x86_64__)
/* Clear master flag /before/ clearing selector flag. */
wmb();
#endif
l1 = xchg(&vcpu_info->evtchn_pending_sel, 0);
while ( l1 != 0 )
{
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.