qemu/hw/net
KarimAllah Ahmed c508277335 vmxnet3: Fix reading/writing guest memory specially when behind an IOMMU
When a PCI device lives behind an IOMMU, it should use 'pci_dma_*' family of
functions when any transfer from/to guest memory is required while
'cpu_physical_memory_*' family of functions completely bypass any MMU/IOMMU in
the system.

vmxnet3 in some places was using 'cpu_physical_memory_*' family of functions
which works fine with the default QEMU setup where IOMMU is not enabled but
fails miserably when IOMMU is enabled. This commit converts all such instances
in favor of 'pci_dma_*'

Cc: Dmitry Fleytman <dmitry@daynix.com>
Cc: Jason Wang <jasowang@redhat.com>
Cc: qemu-devel@nongnu.org
Cc: Anthony Liguori <aliguori@amazon.com>
Signed-off-by: KarimAllah Ahmed <karahmed@amazon.de>
Acked-by: Dmitry Fleytman <dmitry@daynix.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
2016-06-28 10:13:57 +08:00
..
fsl_etsec hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
rocker hw/net/rocker: Don't use *_to_cpup() 2016-06-27 16:39:56 +01:00
allwinner_emac.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
cadence_gem.c cadence_gem: Set the last bit when wrap is set 2016-06-27 15:37:32 +01:00
dp8393x.c
e1000_regs.h net: Introduce e1000e device emulation 2016-06-02 10:42:29 +08:00
e1000.c hw/net/e1000: Don't use *_to_cpup() 2016-06-27 16:39:56 +01:00
e1000e_core.c hw/net/e1000: Don't use *_to_cpup() 2016-06-27 16:39:56 +01:00
e1000e_core.h net: Introduce e1000e device emulation 2016-06-02 10:42:29 +08:00
e1000e.c e1000e: Fix build with gcc 4.6.3 and ust tracing 2016-06-06 09:42:54 +01:00
e1000x_common.c hw/net/e1000: Don't use *_to_cpup() 2016-06-27 16:39:56 +01:00
e1000x_common.h e1000: Move out code that will be reused in e1000e 2016-06-02 10:42:29 +08:00
eepro100.c hw/net/eepro100.c: Don't use cpu_to_*w() and *_to_cpup() 2016-06-27 16:39:56 +01:00
etraxfs_eth.c
imx_fec.c Add ENET/Gbps Ethernet support to FEC device 2016-06-02 10:42:46 +08:00
lan9118.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
lance.c
Makefile.objs net: Introduce e1000e device emulation 2016-06-02 10:42:29 +08:00
mcf_fec.c
milkymist-minimac2.c
mipsnet.c net: mipsnet: check transmit buffer size before sending 2016-06-28 10:13:57 +08:00
ne2000-isa.c error: Remove NULL checks on error_propagate() calls 2016-06-20 16:38:13 +02:00
ne2000.c
ne2000.h
net_rx_pkt.c net_pkt: Extend packet abstraction as required by e1000e functionality 2016-06-02 10:42:28 +08:00
net_rx_pkt.h net_pkt: Extend packet abstraction as required by e1000e functionality 2016-06-02 10:42:28 +08:00
net_tx_pkt.c clean-includes: run it once more 2016-06-16 18:39:03 +02:00
net_tx_pkt.h clean-includes: run it once more 2016-06-16 18:39:03 +02:00
opencores_eth.c hw/net/opencores_eth: Allocating Large sized arrays to heap 2016-05-23 22:10:16 +03:00
pcnet-pci.c
pcnet.c
pcnet.h
rtl8139.c rtl8139: save/load RxMulOk counter (again) 2016-06-28 10:13:57 +08:00
smc91c111.c
spapr_llan.c hw/net/spapr_llan: Provide counter with dropped rx frames to the guest 2016-05-27 09:40:23 +10:00
stellaris_enet.c net: stellaris_enet: check packet length against receive buffer 2016-04-11 14:22:33 +01:00
trace-events trace: split out trace events for hw/net/ directory 2016-06-20 17:22:15 +01:00
vhost_net.c vhost-net: save & restore vring enable state 2016-06-17 03:28:03 +03:00
virtio-net.c hw/net/virtio-net.c: Don't use *_to_cpup() 2016-06-27 16:39:56 +01:00
vmware_utils.h vmxnet3: Fix reading/writing guest memory specially when behind an IOMMU 2016-06-28 10:13:57 +08:00
vmxnet3.c vmxnet3: Fix reading/writing guest memory specially when behind an IOMMU 2016-06-28 10:13:57 +08:00
vmxnet3.h
vmxnet_debug.h vmxnet3: Use common MAC address tracing macros 2016-06-02 10:42:27 +08:00
xen_nic.c os-posix: include sys/mman.h 2016-06-16 18:39:03 +02:00
xgmac.c
xilinx_axienet.c
xilinx_ethlite.c