dma: do not depend on kvm_enabled()
Memory barriers are needed also by Xen and, when the ioeventfd bugs are fixed, by TCG as well. sysemu/kvm.h is not anymore needed in sysemu/dma.h, move it to the actual users. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
		
							parent
							
								
									da16384560
								
							
						
					
					
						commit
						77ac58ddc6
					
				@ -29,6 +29,7 @@
 | 
				
			|||||||
#include "qapi/error.h"
 | 
					#include "qapi/error.h"
 | 
				
			||||||
#include "hw/sysbus.h"
 | 
					#include "hw/sysbus.h"
 | 
				
			||||||
#include "hw/pci/msi.h"
 | 
					#include "hw/pci/msi.h"
 | 
				
			||||||
 | 
					#include "sysemu/kvm.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define TYPE_ARM_GICV2M "arm-gicv2m"
 | 
					#define TYPE_ARM_GICV2M "arm-gicv2m"
 | 
				
			||||||
#define ARM_GICV2M(obj) OBJECT_CHECK(ARMGICv2mState, (obj), TYPE_ARM_GICV2M)
 | 
					#define ARM_GICV2M(obj) OBJECT_CHECK(ARMGICv2mState, (obj), TYPE_ARM_GICV2M)
 | 
				
			||||||
 | 
				
			|||||||
@ -31,7 +31,7 @@
 | 
				
			|||||||
#include "cpu.h"
 | 
					#include "cpu.h"
 | 
				
			||||||
#include "hw/hw.h"
 | 
					#include "hw/hw.h"
 | 
				
			||||||
#include "trace.h"
 | 
					#include "trace.h"
 | 
				
			||||||
#include "linux/kvm.h"
 | 
					#include "sysemu/kvm.h"
 | 
				
			||||||
#include "hw/ppc/spapr.h"
 | 
					#include "hw/ppc/spapr.h"
 | 
				
			||||||
#include "hw/ppc/xics.h"
 | 
					#include "hw/ppc/xics.h"
 | 
				
			||||||
#include "kvm_ppc.h"
 | 
					#include "kvm_ppc.h"
 | 
				
			||||||
 | 
				
			|||||||
@ -21,6 +21,7 @@
 | 
				
			|||||||
#include "hw/hw.h"
 | 
					#include "hw/hw.h"
 | 
				
			||||||
#include "hw/pci/pci.h"
 | 
					#include "hw/pci/pci.h"
 | 
				
			||||||
#include "qemu/event_notifier.h"
 | 
					#include "qemu/event_notifier.h"
 | 
				
			||||||
 | 
					#include "sysemu/kvm.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef struct PCITestDevHdr {
 | 
					typedef struct PCITestDevHdr {
 | 
				
			||||||
    uint8_t test;
 | 
					    uint8_t test;
 | 
				
			||||||
 | 
				
			|||||||
@ -14,6 +14,7 @@
 | 
				
			|||||||
#include "e500.h"
 | 
					#include "e500.h"
 | 
				
			||||||
#include "hw/boards.h"
 | 
					#include "hw/boards.h"
 | 
				
			||||||
#include "sysemu/device_tree.h"
 | 
					#include "sysemu/device_tree.h"
 | 
				
			||||||
 | 
					#include "sysemu/kvm.h"
 | 
				
			||||||
#include "hw/pci/pci.h"
 | 
					#include "hw/pci/pci.h"
 | 
				
			||||||
#include "hw/ppc/openpic.h"
 | 
					#include "hw/ppc/openpic.h"
 | 
				
			||||||
#include "kvm_ppc.h"
 | 
					#include "kvm_ppc.h"
 | 
				
			||||||
 | 
				
			|||||||
@ -7,6 +7,7 @@
 | 
				
			|||||||
#include "mmu-hash64.h"
 | 
					#include "mmu-hash64.h"
 | 
				
			||||||
#include "cpu-models.h"
 | 
					#include "cpu-models.h"
 | 
				
			||||||
#include "trace.h"
 | 
					#include "trace.h"
 | 
				
			||||||
 | 
					#include "sysemu/kvm.h"
 | 
				
			||||||
#include "kvm_ppc.h"
 | 
					#include "kvm_ppc.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct SPRSyncState {
 | 
					struct SPRSyncState {
 | 
				
			||||||
 | 
				
			|||||||
@ -44,6 +44,7 @@
 | 
				
			|||||||
#include "hw/pci/pci_bus.h"
 | 
					#include "hw/pci/pci_bus.h"
 | 
				
			||||||
#include "hw/ppc/spapr_drc.h"
 | 
					#include "hw/ppc/spapr_drc.h"
 | 
				
			||||||
#include "sysemu/device_tree.h"
 | 
					#include "sysemu/device_tree.h"
 | 
				
			||||||
 | 
					#include "sysemu/kvm.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "hw/vfio/vfio.h"
 | 
					#include "hw/vfio/vfio.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -31,6 +31,7 @@
 | 
				
			|||||||
#include "hw/qdev.h"
 | 
					#include "hw/qdev.h"
 | 
				
			||||||
#include "sysemu/device_tree.h"
 | 
					#include "sysemu/device_tree.h"
 | 
				
			||||||
#include "sysemu/cpus.h"
 | 
					#include "sysemu/cpus.h"
 | 
				
			||||||
 | 
					#include "sysemu/kvm.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "hw/ppc/spapr.h"
 | 
					#include "hw/ppc/spapr.h"
 | 
				
			||||||
#include "hw/ppc/spapr_vio.h"
 | 
					#include "hw/ppc/spapr_vio.h"
 | 
				
			||||||
 | 
				
			|||||||
@ -15,7 +15,6 @@
 | 
				
			|||||||
#include "hw/hw.h"
 | 
					#include "hw/hw.h"
 | 
				
			||||||
#include "block/block.h"
 | 
					#include "block/block.h"
 | 
				
			||||||
#include "block/accounting.h"
 | 
					#include "block/accounting.h"
 | 
				
			||||||
#include "sysemu/kvm.h"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef struct ScatterGatherEntry ScatterGatherEntry;
 | 
					typedef struct ScatterGatherEntry ScatterGatherEntry;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -67,9 +66,7 @@ static inline void dma_barrier(AddressSpace *as, DMADirection dir)
 | 
				
			|||||||
     * use lighter barriers based on the direction of the
 | 
					     * use lighter barriers based on the direction of the
 | 
				
			||||||
     * transfer, the DMA context, etc...
 | 
					     * transfer, the DMA context, etc...
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    if (kvm_enabled()) {
 | 
					    smp_mb();
 | 
				
			||||||
        smp_mb();
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Checks that the given range of addresses is valid for DMA.  This is
 | 
					/* Checks that the given range of addresses is valid for DMA.  This is
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user