qemu-cr16/stubs
David Hildenbrand 766aa0a654 memory-device,vhost: Support memory devices that dynamically consume memslots
We want to support memory devices that have a dynamically managed memory
region container as device memory region. This device memory region maps
multiple RAM memory subregions (e.g., aliases to the same RAM memory
region), whereby these subregions can be (un)mapped on demand.

Each RAM subregion will consume a memslot in KVM and vhost, resulting in
such a new device consuming memslots dynamically, and initially usually
0. We already track the number of used vs. required memslots for all
memslots. From that, we can derive the number of reserved memslots that
must not be used otherwise.

The target use case is virtio-mem and the hyper-v balloon, which will
dynamically map aliases to RAM memory region into their device memory
region container.

Properly document what's supported and what's not and extend the vhost
memslot check accordingly.

Message-ID: <20230926185738.277351-10-david@redhat.com>
Reviewed-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
2023-10-12 14:15:22 +02: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
colo-compare.c configure: add --disable-colo-proxy option 2023-05-18 18:40:50 +02:00
colo.c stubs/colo.c: spelling 2023-08-07 13:52:59 +03: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 Move error_printf_unless_qmp() with monitor unit 2022-04-21 17:09:09 +04:00
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 gdbstub: Introduce GDBFeature structure 2023-10-11 08:46:33 +01:00
get-vm-name.c include: move qemu_get_vm_name() to sysemu.h 2022-04-06 14:31:43 +02:00
graph-lock.c async: Register/unregister aiocontext in graph lock list 2022-12-15 16:07:43 +01:00
icount.c replay: notify vCPU when BH is scheduled 2022-06-06 09:26:53 +02:00
io_uring.c
iothread-lock-block.c main-loop.h: introduce qemu_in_main_thread() 2022-03-04 18:18:15 +01:00
iothread-lock.c async: the main AioContext is only "current" if under the BQL 2021-06-18 10:59:52 -05:00
is-daemonized.c
isa-bus.c
linux-aio.c
memory_device.c memory-device,vhost: Support memory devices that dynamically consume memslots 2023-10-12 14:15:22 +02:00
meson.build stubs: Rename qmp_memory_device.c to memory_device.c 2023-10-12 14:15:22 +02:00
migr-blocker.c
module-opts.c modules: use modinfo for qemu opts load 2021-07-09 18:20:27 +02:00
monitor-core.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
monitor.c
pci-bus.c
physmem.c stubs: add qemu_ram_block_from_host() and qemu_ram_get_fd() 2022-10-26 14:56:42 -04:00
qdev.c qapi qdev qom: Elide redundant has_FOO in generated C 2022-12-14 20:05:07 +01:00
qemu-timer-notify-cb.c cpu-timers, icount: new modules 2020-10-05 16:41:22 +02:00
qmp-command-available.c remove preconfig state 2020-12-15 12:51:48 -05:00
qmp-quit.c chardev: don't exit() straight away on C-a x 2021-11-04 10:32:01 +00: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
replay-tools.c chardev: src buffer const for write functions 2022-09-29 14:38:05 +04:00
replay.c replay: Extract core API to 'exec/replay-core.h' 2023-02-27 22:29:01 +01:00
runstate-check.c
semihost-all.c stubs: split semihosting_get_target from system only stubs 2023-03-07 20:44:09 +00:00
semihost.c * util/log: re-allow switching away from stderr log file 2023-10-09 10:11:18 -04:00
sysbus.c
target-get-monitor-def.c
target-monitor-defs.c
trace-control.c trace: remove code that depends on setting vcpu 2023-06-01 11:05:05 -04:00
usb-dev-stub.c qapi: introduce x-query-usb QMP command 2021-11-02 15:55:14 +00:00
uuid.c qapi: Restrict query-uuid command to machine code 2020-09-29 15:41:35 +02:00
vfio-user-obj.c vfio-user: handle device interrupts 2022-06-15 16:43:42 +01:00
virtio-md-pci.c pc: Factor out (un)plug handling of virtio-md-pci devices 2023-07-12 09:27:27 +02:00
vm-stop.c
vmstate.c cpu: Move CPUClass::vmsd to SysemuCPUOps 2021-05-26 15:33:59 -07:00
win32-kbd-hook.c
xen-hw-stub.c include/hw/xen/xen: Rename xen_piix3_set_irq() to xen_intx_set_irq() 2023-06-07 15:07:10 +01:00