]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu_command: Generate cmd line for virtio-mem dynamicMemslots
authorMichal Privoznik <mprivozn@redhat.com>
Thu, 4 Jan 2024 09:49:06 +0000 (10:49 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 30 Jan 2024 09:44:36 +0000 (10:44 +0100)
This is pretty straightforward.

Resolves: https://issues.redhat.com/browse/RHEL-15316
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
src/qemu/qemu_command.c
tests/qemuxmlconfdata/memory-hotplug-virtio-mem.x86_64-latest.args

index b8f071ff2a97f6a4799bbb3f04a4ed5609e68cb2..149e8e8b35400073e56d95e20dd7f9077642cdec 100644 (file)
@@ -3670,6 +3670,7 @@ qemuBuildMemoryDeviceProps(virQEMUDriverConfig *cfg,
     unsigned long long requestedsize = 0;
     unsigned long long address = 0;
     bool prealloc = false;
+    virTristateBool dynamicMemslots = VIR_TRISTATE_BOOL_ABSENT;
 
     if (!mem->info.alias) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -3711,6 +3712,7 @@ qemuBuildMemoryDeviceProps(virQEMUDriverConfig *cfg,
         blocksize = mem->target.virtio_mem.blocksize;
         requestedsize = mem->target.virtio_mem.requestedsize;
         address = mem->target.virtio_mem.address;
+        dynamicMemslots = mem->target.virtio_mem.dynamicMemslots;
         break;
 
     case VIR_DOMAIN_MEMORY_MODEL_SGX_EPC:
@@ -3733,6 +3735,7 @@ qemuBuildMemoryDeviceProps(virQEMUDriverConfig *cfg,
                               "s:memdev", memdev,
                               "B:prealloc", prealloc,
                               "P:memaddr", address,
+                              "T:dynamic-memslots", dynamicMemslots,
                               "s:id", mem->info.alias,
                               NULL) < 0)
         return NULL;
index dbe96ae21d795269036beb42cac618a046118ee5..36cff6ec1340e101c52b1b45e53b042d912da2fb 100644 (file)
@@ -32,7 +32,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -object '{"qom-type":"memory-backend-ram","id":"memvirtiomem0","reserve":false,"size":1073741824}' \
 -device '{"driver":"virtio-mem-pci","node":0,"block-size":2097152,"requested-size":536870912,"memdev":"memvirtiomem0","id":"virtiomem0","bus":"pci.0","addr":"0x2"}' \
 -object '{"qom-type":"memory-backend-file","id":"memvirtiomem1","mem-path":"/dev/hugepages2M/libvirt/qemu/-1-QEMUGuest1","reserve":false,"size":2147483648,"host-nodes":[1,2,3],"policy":"bind"}' \
--device '{"driver":"virtio-mem-pci","node":0,"block-size":2097152,"requested-size":1073741824,"memdev":"memvirtiomem1","prealloc":true,"memaddr":5637144576,"id":"virtiomem1","bus":"pci.1","addr":"0x1"}' \
+-device '{"driver":"virtio-mem-pci","node":0,"block-size":2097152,"requested-size":1073741824,"memdev":"memvirtiomem1","prealloc":true,"memaddr":5637144576,"dynamic-memslots":true,"id":"virtiomem1","bus":"pci.1","addr":"0x1"}' \
 -blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
 -blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
 -device '{"driver":"ide-hd","bus":"ide.0","unit":0,"drive":"libvirt-1-format","id":"ide0-0-0","bootindex":1}' \