diff options
author | Samuel Pitoiset <samuel.pitoiset@gmail.com> | 2015-03-02 11:38:55 -0700 |
---|---|---|
committer | Alex Williamson <alex.williamson@redhat.com> | 2015-03-02 11:38:55 -0700 |
commit | 6ee47c90081b3ab5980eeef1a8b12b54bac98bb5 (patch) | |
tree | 1979d6b81a50f441a02e072ccfcf2c450e23bfe5 /hw | |
parent | 51b833f4405426b63b66380117bbe1f4c8976021 (diff) | |
download | qemu-6ee47c90081b3ab5980eeef1a8b12b54bac98bb5.zip qemu-6ee47c90081b3ab5980eeef1a8b12b54bac98bb5.tar.gz qemu-6ee47c90081b3ab5980eeef1a8b12b54bac98bb5.tar.bz2 |
vfio: allow to disable MMAP per device with -x-mmap=off option
Disabling MMAP support uses the slower read/write accesses but allows to
trace all MMIO accesses, which is not good for performance, but very
useful for reverse engineering PCI drivers. This option allows to
disable MMAP per device without a compile-time change.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/vfio/common.c | 2 | ||||
-rw-r--r-- | hw/vfio/pci.c | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/hw/vfio/common.c b/hw/vfio/common.c index 4ff8cab..9db7d8d 100644 --- a/hw/vfio/common.c +++ b/hw/vfio/common.c @@ -493,7 +493,7 @@ int vfio_mmap_region(Object *obj, VFIORegion *region, int ret = 0; VFIODevice *vbasedev = region->vbasedev; - if (VFIO_ALLOW_MMAP && size && region->flags & + if (vbasedev->allow_mmap && size && region->flags & VFIO_REGION_INFO_FLAG_MMAP) { int prot = 0; diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index 84e9d99..3c71de3 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -3456,6 +3456,7 @@ static Property vfio_pci_dev_properties[] = { DEFINE_PROP_BIT("x-vga", VFIOPCIDevice, features, VFIO_FEATURE_ENABLE_VGA_BIT, false), DEFINE_PROP_INT32("bootindex", VFIOPCIDevice, bootindex, -1), + DEFINE_PROP_BOOL("x-mmap", VFIOPCIDevice, vbasedev.allow_mmap, true), /* * TODO - support passed fds... is this necessary? * DEFINE_PROP_STRING("vfiofd", VFIOPCIDevice, vfiofd_name), |