|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] minios: in non-x86 case, use wmb to enfor
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1210244113 -3600
# Node ID 37cf8747f55bb1e18c01bca4ed6a2bb41c34adb6
# Parent addfc2db07a3bfaf4b117c3fc6a34a7eb7dc6ab8
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@xxxxxxxxxxxxx>
---
extras/mini-os/hypervisor.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletion(-)
diff -r addfc2db07a3 -r 37cf8747f55b extras/mini-os/hypervisor.c
--- a/extras/mini-os/hypervisor.c Thu May 08 11:53:39 2008 +0100
+++ b/extras/mini-os/hypervisor.c Thu May 08 11:55:13 2008 +0100
@@ -46,7 +46,11 @@ void do_hypervisor_callback(struct pt_re
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 )
{
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] minios: in non-x86 case, use wmb to enforce ordering between,
Xen patchbot-unstable <=
|
|
|
|
|