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 --- |