Deleted Added
full compact
vmbus.c (255524) vmbus.c (256276)
1/*-
2 * Copyright (c) 2009-2012 Microsoft Corp.
3 * Copyright (c) 2012 NetApp Inc.
4 * Copyright (c) 2012 Citrix Inc.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

--- 15 unchanged lines hidden (view full) ---

24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29/*
30 * VM Bus Driver Implementation
31 */
1/*-
2 * Copyright (c) 2009-2012 Microsoft Corp.
3 * Copyright (c) 2012 NetApp Inc.
4 * Copyright (c) 2012 Citrix Inc.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

--- 15 unchanged lines hidden (view full) ---

24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29/*
30 * VM Bus Driver Implementation
31 */
32#include <sys/cdefs.h>
33__FBSDID("$FreeBSD: head/sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c 256276 2013-10-10 16:25:53Z dim $");
32
33#include <sys/param.h>
34#include <sys/bus.h>
35#include <sys/kernel.h>
36#include <sys/lock.h>
37#include <sys/malloc.h>
38#include <sys/module.h>
39#include <sys/sysctl.h>

--- 68 unchanged lines hidden (view full) ---

108 * Make sure the write to message_type (ie set to
109 * HV_MESSAGE_TYPE_NONE) happens before we read the
110 * message_pending and EOMing. Otherwise, the EOMing will
111 * not deliver any more messages
112 * since there is no empty slot
113 */
114 wmb();
115
34
35#include <sys/param.h>
36#include <sys/bus.h>
37#include <sys/kernel.h>
38#include <sys/lock.h>
39#include <sys/malloc.h>
40#include <sys/module.h>
41#include <sys/sysctl.h>

--- 68 unchanged lines hidden (view full) ---

110 * Make sure the write to message_type (ie set to
111 * HV_MESSAGE_TYPE_NONE) happens before we read the
112 * message_pending and EOMing. Otherwise, the EOMing will
113 * not deliver any more messages
114 * since there is no empty slot
115 */
116 wmb();
117
116 if (msg->header.message_flags.message_pending) {
118 if (msg->header.message_flags.u.message_pending) {
117 /*
118 * This will cause message queue rescan to possibly
119 * deliver another msg from the hypervisor
120 */
121 wrmsr(HV_X64_MSR_EOM, 0);
122 }
123 }
124}

--- 478 unchanged lines hidden ---
119 /*
120 * This will cause message queue rescan to possibly
121 * deliver another msg from the hypervisor
122 */
123 wrmsr(HV_X64_MSR_EOM, 0);
124 }
125 }
126}

--- 478 unchanged lines hidden ---