qemu-e2k/hw
Michael S. Tsirkin 8347c53243 dataplane: support non-contigious s/g
bring_map currently fails if one of the entries it's mapping is
contigious in GPA but not HVA address space.  Introduce a mapped_len
parameter so it can handle this, returning the actual mapped length.

This will still fail if there's no space left in the sg, but luckily max
queue size in use is currently 256, while max sg size is 1024, so we
should be OK even is all entries happen to cross a single DIMM boundary.

Won't work well with very small DIMM sizes, unfortunately:
e.g. this will fail with 4K DIMMs where a single
request might span a large number of DIMMs.

Let's hope these are uncommon - at least we are not breaking things.

Reported-by: Stefan Hajnoczi <stefanha@redhat.com>
Reported-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Igor Mammedov <imammedo@redhat.com>
Message-id: 1446047243-3221-2-git-send-email-mst@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2015-11-09 09:59:32 +00:00
..
9pfs
acpi hw/acpi/aml-build: remove useless glib version check 2015-11-06 15:42:37 +03:00
alpha
arm arm: allwinner-a10: Add SATA 2015-11-06 14:09:01 -05:00
audio
block virtio: sync the dataplane vring state to the virtqueue before virtio_save 2015-10-29 17:59:27 +00:00
bt bt: fix use of uninitialized variable seqlen 2015-11-06 15:42:38 +03:00
char input: Convert to new qapi union layout 2015-11-02 08:30:28 +01:00
core replay: ptimer 2015-11-06 10:16:03 +01:00
cpu
cris
display qxl: Use g_new() & friends where that makes obvious sense 2015-11-06 15:42:38 +03:00
dma hw/dma/pxa2xx: Remove superfluous memset 2015-11-06 15:42:38 +03:00
gpio i.MX: Standardize i.MX GPIO debug 2015-10-27 15:59:46 +00:00
i2c i.MX: Standardize i.MX I2C debug 2015-10-27 15:59:46 +00:00
i386 pci-assign: do not test path with access() before opening 2015-11-06 15:42:38 +03:00
ide ahci: Add allwinner AHCI 2015-11-06 14:09:01 -05:00
input hw/input/tsc210x: Remove superfluous memset 2015-11-06 15:42:38 +03:00
intc armv7-m: Implement SYSRESETREQ 2015-11-03 13:49:41 +00:00
ipack
isa
lm32 ui/opengl: Reduce build required libraries for opengl 2015-11-03 10:13:42 +01:00
m68k
mem memory: Convert to new qapi union layout 2015-11-02 08:30:28 +01:00
microblaze
mips hw/mips_malta: Fix KVM PC initialisation 2015-10-30 13:30:14 +00:00
misc i.MX: Standardize i.MX CCM debug 2015-10-27 15:59:46 +00:00
moxie
net i.MX: Standardize i.MX FEC debug 2015-10-27 15:59:46 +00:00
nvram
openrisc
pci fix bad indentation in pcie_cap_slot_write_config() 2015-11-06 15:42:38 +03:00
pci-bridge
pci-host
pcmcia
ppc ppc/spapr: add 2.4 compat props 2015-10-29 17:59:26 +00:00
s390x s390x: include HW_COMPAT_* props 2015-10-29 17:59:26 +00:00
scsi * Guest ABI fixes for PC machines (hw_version) 2015-11-05 14:31:24 +00:00
sd sdhci: Split sdhci.h for public and internal device usage 2015-10-29 17:59:27 +00:00
sh4
smbios
sparc
sparc64
ssi
timer i.MX: Standardize i.MX GPT debug 2015-10-27 15:59:46 +00:00
tpm
tricore
unicore32
usb usb: Use g_new() & friends where that makes obvious sense 2015-11-06 15:42:38 +03:00
vfio
virtio dataplane: support non-contigious s/g 2015-11-09 09:59:32 +00:00
watchdog
xen xen: fix invalid assertion 2015-11-06 15:42:38 +03:00
xenpv
xtensa
Makefile.objs