qemu-e2k/stubs
David Hildenbrand b430b51395 util/vfio-helpers.c: Use ram_block_discard_disable() in qemu_vfio_open_pci()
Currently, when using "nvme://" for a block device, like
    -drive file=nvme://0000:01:00.0/1,if=none,id=drive0 \
    -device virtio-blk,drive=drive0 \

VFIO may pin all guest memory, and discarding of RAM no longer works as
expected. I was able to reproduce this easily with my
    01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd
            NVMe SSD Controller SM981/PM981/PM983

Similar to common VFIO, we have to disable it, making sure that:
a) virtio-balloon won't discard any memory ("silently disabled")
b) virtio-mem and nvme:// run mutually exclusive

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Alex Williamson <alex.williamson@redhat.com>
Cc: Wei Yang <richardw.yang@linux.intel.com>
Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
Cc: Peter Xu <peterx@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20201116105947.9194-1-david@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-11-16 13:22:17 -05:00
..
arch_type.c stubs: Add arch_type 2020-03-06 17:15:38 +01:00
bdrv-next-monitor-owned.c
blk-commit-all.c
blk-exp-close-all.c block: move block exports to libblockdev 2020-10-23 13:42:16 +01:00
blockdev-close-all-bdrv-states.c
change-state-handler.c
cmos.c stubs/cmos: Use correct include 2020-09-01 09:10:58 +02:00
cpu-get-clock.c cpu-timers, icount: new modules 2020-10-05 16:41:22 +02:00
cpu-synchronize-state.c cpus: prepare new CpusAccel cpu accelerator interface 2020-10-05 16:41:22 +02:00
cpus-get-virtual-clock.c cpus: prepare new CpusAccel cpu accelerator interface 2020-10-05 16:41:22 +02:00
dump.c
error-printf.c
fdset.c monitor: simplify functions for getting a dup'd fdset entry 2020-09-16 10:33:48 +01:00
fw_cfg.c
gdbstub.c
get-vm-name.c
icount.c icount: rename functions to be consistent with the module name 2020-10-05 16:41:22 +02:00
io_uring.c stubs: add stubs for io_uring interface 2020-01-30 20:59:41 +00:00
iothread-lock.c
iothread.c
is-daemonized.c
isa-bus.c stubs: add isa_create_simple 2020-07-06 17:01:11 +02:00
linux-aio.c
machine-init-done.c
meson.build * fix --disable-tcg builds (Claudio) 2020-10-26 15:49:11 +00:00
migr-blocker.c
monitor-core.c monitor: Make current monitor a per-coroutine property 2020-10-09 07:08:19 +02:00
monitor.c hmp: Fail gracefully if chardev is already in use 2020-03-06 17:21:28 +01:00
pci-bus.c stubs: add pci_create_simple 2020-07-06 17:01:11 +02:00
pci-host-piix.c
qemu-timer-notify-cb.c cpu-timers, icount: new modules 2020-10-05 16:41:22 +02:00
qmp_memory_device.c qom/object: Move Object typedef to 'qemu/typedefs.h' 2020-06-10 12:09:36 -04:00
qtest.c cpu-timers, icount: new modules 2020-10-05 16:41:22 +02:00
ram-block.c util/vfio-helpers.c: Use ram_block_discard_disable() in qemu_vfio_open_pci() 2020-11-16 13:22:17 -05:00
ramfb.c Revert "hw/display/ramfb: initialize fw-config space with xres/ yres" 2020-05-18 15:42:34 +02:00
replay-tools.c replay: do not build if TCG is not available 2020-10-22 11:53:54 -04:00
replay.c replay: do not build if TCG is not available 2020-10-22 11:53:54 -04:00
runstate-check.c
semihost.c semihosting: add qemu_semihosting_console_inc for SYS_READC 2020-01-09 11:41:29 +00:00
set-fd-handler.c
sysbus.c
target-get-monitor-def.c
target-monitor-defs.c
tpm.c Revert "tpm: Clean up error reporting in tpm_init_tpmdev()" 2020-07-24 12:44:13 -04:00
trace-control.c
uuid.c qapi: Restrict query-uuid command to machine code 2020-09-29 15:41:35 +02:00
vm-stop.c
vmgenid.c qapi: Restrict query-vm-generation-id command to machine code 2020-09-29 15:41:35 +02:00
vmstate.c migration: Change SaveStateEntry.instance_id into uint32_t 2020-01-20 09:10:23 +01:00
win32-kbd-hook.c ui/win32-kbd-hook: handle AltGr in a hook procedure 2020-05-19 09:06:44 +02:00
xen-hw-stub.c stubs/xen-hw-stub: drop xenstore_store_pv_console_info stub 2020-11-16 11:07:53 +00:00