public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH qemu-server/docs v3] disable S3/S4 power states by default
@ 2025-04-04 12:53 Dominik Csapak
  2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 1/8] tests: cfg2cmd: add test for windows machine pinning from meta info Dominik Csapak
                   ` (10 more replies)
  0 siblings, 11 replies; 13+ messages in thread
From: Dominik Csapak @ 2025-04-04 12:53 UTC (permalink / raw)
  To: pve-devel

since they make some problems (e.g. windows hybrid shutdown is enabled
by default then -> which makes vGPU problem). Libvirt/virsh also
disables that by default (and tries preventing enabling it.)

This series introduces a new pve1 version for 9.2 machine versions, and
pins new windows guests to that. (ignore the edge case for non-version
pinned machine types on windows, so they'll get always +pve0).

Additionally I introduce 'enable-s{3,4}' settings so that users can
still manually enable that (in case it's needed), or disable it for
older machine types. (non hotpluggable).

I deliberately did not introduce a GUI option for the enabling of
S3/S4 power states, since I don't think it'll come up often.
(If it does, we can still add something to the UI)

changes from v2:
* style nits fixed (too long lines, etc)
* added now missing changes for SEV tests
* add some more info to docs + machine descriptions

changes from v1:
* dropped the RFC for pinning qemu version in tests
  (was not really related and we can still tackle that when we actually
  encounter it, e.g. with qemu 10.0)
* dropped the saving of the pve machine version in the meta info
  (just ignore that case and assign pve0)
* remove globalFlags instead of fixing it's use (there was only
  one user anyway)
* move pveX pinning logic into windows_get_pinned_machine_version
* add pveX versiosn to qemu/machine capabilities api call
* add general description for pveX machine versions
* add docs patch to explain +pveX versions

qemu-server:

Dominik Csapak (8):
  tests: cfg2cmd: add test for windows machine pinning from meta info
  config to command: get rid of globalFlags
  machine: correctly select pve machine version for non pinned windows
    guests
  machine: incorporate pve machine version when pinning windows guests
  machine: add S3/S4 power state properties
  machine: bump pve machine version and reverse the s3/s4 defaults
  api: qemu machine capabilities: add custom pveX versions too
  api: qemu machine capabilities: add description for pveX variants

 PVE/API2/Qemu/Machine.pm                      | 37 +++++++++-
 PVE/QemuServer.pm                             |  8 ++-
 PVE/QemuServer/Machine.pm                     | 72 +++++++++++++++++--
 test/cfg2cmd/bootorder-empty.conf.cmd         |  4 +-
 test/cfg2cmd/bootorder-legacy.conf.cmd        |  4 +-
 test/cfg2cmd/bootorder.conf.cmd               |  4 +-
 ...putype-icelake-client-deprecation.conf.cmd |  4 +-
 .../custom-cpu-model-defaults.conf.cmd        |  4 +-
 .../custom-cpu-model-host-phys-bits.conf.cmd  |  4 +-
 test/cfg2cmd/custom-cpu-model.conf.cmd        |  4 +-
 test/cfg2cmd/efi-raw-template.conf.cmd        |  4 +-
 test/cfg2cmd/efi-raw.conf.cmd                 |  4 +-
 test/cfg2cmd/efi-secboot-and-tpm-q35.conf.cmd |  4 +-
 test/cfg2cmd/efi-secboot-and-tpm.conf.cmd     |  4 +-
 test/cfg2cmd/efidisk-on-rbd.conf.cmd          |  4 +-
 test/cfg2cmd/i440fx-viommu-virtio.conf.cmd    |  4 +-
 test/cfg2cmd/i440fx-win10-hostpci.conf.cmd    |  4 +-
 test/cfg2cmd/ide.conf.cmd                     |  4 +-
 .../cfg2cmd/memory-hotplug-hugepages.conf.cmd |  4 +-
 test/cfg2cmd/memory-hotplug.conf.cmd          |  4 +-
 test/cfg2cmd/memory-hugepages-1g.conf.cmd     |  4 +-
 test/cfg2cmd/memory-hugepages-2m.conf.cmd     |  4 +-
 test/cfg2cmd/minimal-defaults.conf.cmd        |  4 +-
 test/cfg2cmd/netdev-7.1-multiqueues.conf.cmd  |  4 +-
 test/cfg2cmd/netdev-7.1.conf.cmd              |  4 +-
 test/cfg2cmd/q35-ide.conf.cmd                 |  4 +-
 .../q35-linux-hostpci-mapping.conf.cmd        |  4 +-
 .../q35-linux-hostpci-multifunction.conf.cmd  |  4 +-
 .../q35-linux-hostpci-template.conf.cmd       |  4 +-
 ...q35-linux-hostpci-x-pci-overrides.conf.cmd |  4 +-
 test/cfg2cmd/q35-linux-hostpci.conf.cmd       |  4 +-
 test/cfg2cmd/q35-simple.conf.cmd              |  4 +-
 test/cfg2cmd/q35-viommu-intel.conf.cmd        |  4 +-
 test/cfg2cmd/q35-viommu-virtio.conf.cmd       |  4 +-
 test/cfg2cmd/q35-win10-hostpci.conf.cmd       |  4 +-
 test/cfg2cmd/q35-windows-pinning.conf         |  5 ++
 test/cfg2cmd/q35-windows-pinning.conf.cmd     | 24 +++++++
 test/cfg2cmd/seabios_serial.conf.cmd          |  4 +-
 test/cfg2cmd/sev-es.conf.cmd                  |  4 +-
 test/cfg2cmd/sev-snp.conf.cmd                 |  4 +-
 test/cfg2cmd/sev-std.conf.cmd                 |  4 +-
 test/cfg2cmd/simple-btrfs.conf.cmd            |  4 +-
 test/cfg2cmd/simple-virtio-blk.conf.cmd       |  4 +-
 test/cfg2cmd/simple1-template.conf.cmd        |  4 +-
 test/cfg2cmd/simple1.conf.cmd                 |  4 +-
 test/cfg2cmd/spice-win.conf.cmd               |  4 +-
 test/cfg2cmd/vnc-clipboard-spice.conf.cmd     |  4 +-
 test/cfg2cmd/vnc-clipboard-std.conf.cmd       |  4 +-
 48 files changed, 260 insertions(+), 58 deletions(-)
 create mode 100644 test/cfg2cmd/q35-windows-pinning.conf
 create mode 100644 test/cfg2cmd/q35-windows-pinning.conf.cmd

pve-docs:

Dominik Csapak (1):
  qm: pve machine version: add section to explain +pveX versions

 qm.adoc | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [pve-devel] [PATCH qemu-server v3 1/8] tests: cfg2cmd: add test for windows machine pinning from meta info
  2025-04-04 12:53 [pve-devel] [PATCH qemu-server/docs v3] disable S3/S4 power states by default Dominik Csapak
@ 2025-04-04 12:53 ` Dominik Csapak
  2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 2/8] config to command: get rid of globalFlags Dominik Csapak
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Dominik Csapak @ 2025-04-04 12:53 UTC (permalink / raw)
  To: pve-devel

so we test that logic at least once.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
---
no changes
 test/cfg2cmd/q35-windows-pinning.conf     |  5 +++++
 test/cfg2cmd/q35-windows-pinning.conf.cmd | 24 +++++++++++++++++++++++
 2 files changed, 29 insertions(+)
 create mode 100644 test/cfg2cmd/q35-windows-pinning.conf
 create mode 100644 test/cfg2cmd/q35-windows-pinning.conf.cmd

diff --git a/test/cfg2cmd/q35-windows-pinning.conf b/test/cfg2cmd/q35-windows-pinning.conf
new file mode 100644
index 00000000..8bd47b0a
--- /dev/null
+++ b/test/cfg2cmd/q35-windows-pinning.conf
@@ -0,0 +1,5 @@
+# TEST: Config with q35, win, meta to test version pinning
+#
+machine: q35
+meta: creation-qemu=9.2.0,ctime=1741179133
+ostype: win11
diff --git a/test/cfg2cmd/q35-windows-pinning.conf.cmd b/test/cfg2cmd/q35-windows-pinning.conf.cmd
new file mode 100644
index 00000000..d8570b2c
--- /dev/null
+++ b/test/cfg2cmd/q35-windows-pinning.conf.cmd
@@ -0,0 +1,24 @@
+/usr/bin/kvm \
+  -id 8006 \
+  -name 'vm8006,debug-threads=on' \
+  -no-shutdown \
+  -chardev 'socket,id=qmp,path=/var/run/qemu-server/8006.qmp,server=on,wait=off' \
+  -mon 'chardev=qmp,mode=control' \
+  -chardev 'socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5' \
+  -mon 'chardev=qmp-event,mode=control' \
+  -pidfile /var/run/qemu-server/8006.pid \
+  -daemonize \
+  -smp '1,sockets=1,cores=1,maxcpus=1' \
+  -nodefaults \
+  -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' \
+  -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
+  -cpu 'kvm64,enforce,hv_ipi,hv_relaxed,hv_reset,hv_runtime,hv_spinlocks=0x1fff,hv_stimer,hv_synic,hv_time,hv_vapic,hv_vpindex,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep' \
+  -m 512 \
+  -readconfig /usr/share/qemu-server/pve-q35-4.0.cfg \
+  -device 'usb-tablet,id=tablet,bus=ehci.0,port=1' \
+  -device 'VGA,id=vga,bus=pcie.0,addr=0x1,edid=off' \
+  -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
+  -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
+  -rtc 'driftfix=slew,base=localtime' \
+  -machine 'hpet=off,type=pc-q35-9.2+pve0' \
+  -global 'kvm-pit.lost_tick_policy=discard'
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [pve-devel] [PATCH qemu-server v3 2/8] config to command: get rid of globalFlags
  2025-04-04 12:53 [pve-devel] [PATCH qemu-server/docs v3] disable S3/S4 power states by default Dominik Csapak
  2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 1/8] tests: cfg2cmd: add test for windows machine pinning from meta info Dominik Csapak
@ 2025-04-04 12:53 ` Dominik Csapak
  2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 3/8] machine: correctly select pve machine version for non pinned windows guests Dominik Csapak
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Dominik Csapak @ 2025-04-04 12:53 UTC (permalink / raw)
  To: pve-devel

We only have one place where we use it, so add the global flag inline,
instead of collecting and doing it at the end. This makes it consistent
with our other places where we need '-global' flags.

Adapt the tests, since that global flag changes place, the resulting
qemu hardware should be identical, since qemu handles all global flags
at the same time.

Tested live migration of a vm with such a flag from an old node to new
and it worked without problems.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
---
no changes
 PVE/QemuServer.pm                                     | 5 ++---
 test/cfg2cmd/custom-cpu-model-host-phys-bits.conf.cmd | 4 ++--
 test/cfg2cmd/custom-cpu-model.conf.cmd                | 4 ++--
 test/cfg2cmd/i440fx-win10-hostpci.conf.cmd            | 4 ++--
 test/cfg2cmd/q35-win10-hostpci.conf.cmd               | 4 ++--
 test/cfg2cmd/q35-windows-pinning.conf.cmd             | 4 ++--
 test/cfg2cmd/spice-win.conf.cmd                       | 4 ++--
 7 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 96786a96..366c83b9 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -3441,7 +3441,7 @@ sub config_to_command {
 	$conf = $newconf;
     }
 
-    my ($globalFlags, $machineFlags, $rtcFlags) = ([], [], []);
+    my ($machineFlags, $rtcFlags) = ([], []);
     my $devices = [];
     my $bridges = {};
     my $ostype = $conf->{ostype};
@@ -3726,7 +3726,7 @@ sub config_to_command {
     }
 
     if ($winversion >= 6) {
-	push @$globalFlags, 'kvm-pit.lost_tick_policy=discard';
+	push $cmd->@*, '-global', 'kvm-pit.lost_tick_policy=discard';
 	push @$machineFlags, 'hpet=off';
     }
 
@@ -4038,7 +4038,6 @@ sub config_to_command {
     push @$cmd, @$devices;
     push @$cmd, '-rtc', join(',', @$rtcFlags) if scalar(@$rtcFlags);
     push @$cmd, '-machine', join(',', @$machineFlags) if scalar(@$machineFlags);
-    push @$cmd, '-global', join(',', @$globalFlags) if scalar(@$globalFlags);
 
     if (my $vmstate = $conf->{vmstate}) {
 	my $statepath = PVE::Storage::path($storecfg, $vmstate);
diff --git a/test/cfg2cmd/custom-cpu-model-host-phys-bits.conf.cmd b/test/cfg2cmd/custom-cpu-model-host-phys-bits.conf.cmd
index 077437d2..cbb3e125 100644
--- a/test/cfg2cmd/custom-cpu-model-host-phys-bits.conf.cmd
+++ b/test/cfg2cmd/custom-cpu-model-host-phys-bits.conf.cmd
@@ -13,6 +13,7 @@
   -nodefaults \
   -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' \
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
+  -global 'kvm-pit.lost_tick_policy=discard' \
   -cpu 'athlon,+aes,+avx,enforce,hv_ipi,hv_relaxed,hv_reset,hv_runtime,hv_spinlocks=0x1fff,hv_stimer,hv_synic,hv_time,hv_vapic,hv_vendor_id=testvend,hv_vpindex,+kvm_pv_eoi,-kvm_pv_unhalt,vendor=AuthenticAMD,host-phys-bits=true' \
   -m 512 \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
@@ -23,5 +24,4 @@
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
   -rtc 'driftfix=slew,base=localtime' \
-  -machine 'hpet=off,type=pc-i440fx-5.1+pve0' \
-  -global 'kvm-pit.lost_tick_policy=discard'
+  -machine 'hpet=off,type=pc-i440fx-5.1+pve0'
diff --git a/test/cfg2cmd/custom-cpu-model.conf.cmd b/test/cfg2cmd/custom-cpu-model.conf.cmd
index 5a9daed8..3393441e 100644
--- a/test/cfg2cmd/custom-cpu-model.conf.cmd
+++ b/test/cfg2cmd/custom-cpu-model.conf.cmd
@@ -13,6 +13,7 @@
   -nodefaults \
   -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' \
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
+  -global 'kvm-pit.lost_tick_policy=discard' \
   -cpu 'athlon,+aes,+avx,enforce,hv_ipi,hv_relaxed,hv_reset,hv_runtime,hv_spinlocks=0x1fff,hv_stimer,hv_synic,hv_time,hv_vapic,hv_vendor_id=testvend,hv_vpindex,+kvm_pv_eoi,-kvm_pv_unhalt,vendor=AuthenticAMD,+virt-ssbd,phys-bits=40' \
   -m 512 \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
@@ -23,5 +24,4 @@
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
   -rtc 'driftfix=slew,base=localtime' \
-  -machine 'hpet=off,type=pc-i440fx-5.1+pve0' \
-  -global 'kvm-pit.lost_tick_policy=discard'
+  -machine 'hpet=off,type=pc-i440fx-5.1+pve0'
diff --git a/test/cfg2cmd/i440fx-win10-hostpci.conf.cmd b/test/cfg2cmd/i440fx-win10-hostpci.conf.cmd
index 455c898d..06f2f7dd 100644
--- a/test/cfg2cmd/i440fx-win10-hostpci.conf.cmd
+++ b/test/cfg2cmd/i440fx-win10-hostpci.conf.cmd
@@ -15,6 +15,7 @@
   -nodefaults \
   -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' \
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
+  -global 'kvm-pit.lost_tick_policy=discard' \
   -cpu 'kvm64,enforce,hv_ipi,hv_relaxed,hv_reset,hv_runtime,hv_spinlocks=0x1fff,hv_stimer,hv_synic,hv_time,hv_vapic,hv_vpindex,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep' \
   -m 512 \
   -object 'memory-backend-ram,id=ram-node0,size=256M' \
@@ -33,5 +34,4 @@
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
   -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300' \
   -rtc 'driftfix=slew,base=localtime' \
-  -machine 'hpet=off,type=pc-i440fx-5.1+pve0' \
-  -global 'kvm-pit.lost_tick_policy=discard'
+  -machine 'hpet=off,type=pc-i440fx-5.1+pve0'
diff --git a/test/cfg2cmd/q35-win10-hostpci.conf.cmd b/test/cfg2cmd/q35-win10-hostpci.conf.cmd
index cf03989b..4f04b76e 100644
--- a/test/cfg2cmd/q35-win10-hostpci.conf.cmd
+++ b/test/cfg2cmd/q35-win10-hostpci.conf.cmd
@@ -15,6 +15,7 @@
   -nodefaults \
   -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' \
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
+  -global 'kvm-pit.lost_tick_policy=discard' \
   -cpu 'kvm64,enforce,hv_ipi,hv_relaxed,hv_reset,hv_runtime,hv_spinlocks=0x1fff,hv_stimer,hv_synic,hv_time,hv_vapic,hv_vpindex,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep' \
   -m 512 \
   -object 'memory-backend-ram,id=ram-node0,size=256M' \
@@ -34,5 +35,4 @@
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
   -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300' \
   -rtc 'driftfix=slew,base=localtime' \
-  -machine 'hpet=off,type=pc-q35-5.1+pve0' \
-  -global 'kvm-pit.lost_tick_policy=discard'
+  -machine 'hpet=off,type=pc-q35-5.1+pve0'
diff --git a/test/cfg2cmd/q35-windows-pinning.conf.cmd b/test/cfg2cmd/q35-windows-pinning.conf.cmd
index d8570b2c..31a01818 100644
--- a/test/cfg2cmd/q35-windows-pinning.conf.cmd
+++ b/test/cfg2cmd/q35-windows-pinning.conf.cmd
@@ -12,6 +12,7 @@
   -nodefaults \
   -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' \
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
+  -global 'kvm-pit.lost_tick_policy=discard' \
   -cpu 'kvm64,enforce,hv_ipi,hv_relaxed,hv_reset,hv_runtime,hv_spinlocks=0x1fff,hv_stimer,hv_synic,hv_time,hv_vapic,hv_vpindex,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep' \
   -m 512 \
   -readconfig /usr/share/qemu-server/pve-q35-4.0.cfg \
@@ -20,5 +21,4 @@
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
   -rtc 'driftfix=slew,base=localtime' \
-  -machine 'hpet=off,type=pc-q35-9.2+pve0' \
-  -global 'kvm-pit.lost_tick_policy=discard'
+  -machine 'hpet=off,type=pc-q35-9.2+pve0'
diff --git a/test/cfg2cmd/spice-win.conf.cmd b/test/cfg2cmd/spice-win.conf.cmd
index 7663522e..32dff365 100644
--- a/test/cfg2cmd/spice-win.conf.cmd
+++ b/test/cfg2cmd/spice-win.conf.cmd
@@ -13,6 +13,7 @@
   -nodefaults \
   -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' \
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
+  -global 'kvm-pit.lost_tick_policy=discard' \
   -cpu 'kvm64,enforce,hv_ipi,hv_relaxed,hv_reset,hv_runtime,hv_spinlocks=0x1fff,hv_stimer,hv_synic,hv_time,hv_vapic,hv_vpindex,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep' \
   -m 768 \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
@@ -33,5 +34,4 @@
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
   -device 'virtio-net-pci,mac=A2:C0:43:77:08:A1,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300' \
   -rtc 'driftfix=slew,base=localtime' \
-  -machine 'hpet=off,type=pc-i440fx-4.0+pve0' \
-  -global 'kvm-pit.lost_tick_policy=discard'
+  -machine 'hpet=off,type=pc-i440fx-4.0+pve0'
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [pve-devel] [PATCH qemu-server v3 3/8] machine: correctly select pve machine version for non pinned windows guests
  2025-04-04 12:53 [pve-devel] [PATCH qemu-server/docs v3] disable S3/S4 power states by default Dominik Csapak
  2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 1/8] tests: cfg2cmd: add test for windows machine pinning from meta info Dominik Csapak
  2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 2/8] config to command: get rid of globalFlags Dominik Csapak
@ 2025-04-04 12:53 ` Dominik Csapak
  2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 4/8] machine: incorporate pve machine version when pinning " Dominik Csapak
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Dominik Csapak @ 2025-04-04 12:53 UTC (permalink / raw)
  To: pve-devel

when we don't have a specific machine version on a windows guest, we use
the creation meta info to pin the machine version. Currently we always
append the pve machine version from the current installed kvm version,
which is not necessarily the version we pinned the guest to.

Instead, use the same mechanism as for normal version pinned machines,
which use 'pve0'.

For non-windows machines, we use the current QEMU machine version so we
should use the pve machine version from that too, so that stays the
same.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
---
no changes
 PVE/QemuServer/Machine.pm | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/PVE/QemuServer/Machine.pm b/PVE/QemuServer/Machine.pm
index f1acde8f..33f00a59 100644
--- a/PVE/QemuServer/Machine.pm
+++ b/PVE/QemuServer/Machine.pm
@@ -240,11 +240,12 @@ sub get_vm_machine {
 		}
 	    }
 	    $machine = windows_get_pinned_machine_version($machine, $base_version, $kvmversion);
+	} else {
+	    $arch //= 'x86_64';
+	    $machine ||= default_machine_for_arch($arch);
+	    my $pvever = get_pve_version($kvmversion);
+	    $machine .= "+pve$pvever";
 	}
-	$arch //= 'x86_64';
-	$machine ||= default_machine_for_arch($arch);
-	my $pvever = get_pve_version($kvmversion);
-	$machine .= "+pve$pvever";
     }
 
     if ($machine !~ m/\+pve\d+?(?:\.pxe)?$/) {
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [pve-devel] [PATCH qemu-server v3 4/8] machine: incorporate pve machine version when pinning windows guests
  2025-04-04 12:53 [pve-devel] [PATCH qemu-server/docs v3] disable S3/S4 power states by default Dominik Csapak
                   ` (2 preceding siblings ...)
  2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 3/8] machine: correctly select pve machine version for non pinned windows guests Dominik Csapak
@ 2025-04-04 12:53 ` Dominik Csapak
  2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 5/8] machine: add S3/S4 power state properties Dominik Csapak
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Dominik Csapak @ 2025-04-04 12:53 UTC (permalink / raw)
  To: pve-devel

When creating or updating guests with ostype windows, we want to pin the
machine version to a specific one. Since introduction of that feature,
we never bumped the pve machine version, so this was missing.

Append the pve machine version only if it's not 0 so we don't add that
unnecessarily.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
---
no changes
 PVE/QemuServer/Machine.pm | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/PVE/QemuServer/Machine.pm b/PVE/QemuServer/Machine.pm
index 33f00a59..a5962443 100644
--- a/PVE/QemuServer/Machine.pm
+++ b/PVE/QemuServer/Machine.pm
@@ -200,6 +200,11 @@ sub windows_get_pinned_machine_version {
     my $pin_version = $base_version;
     if (!defined($base_version) || !can_run_pve_machine_version($base_version, $kvmversion)) {
 	$pin_version = get_installed_machine_version($kvmversion);
+	# pin to the current pveX version to make use of most current features if > 0
+	my $pvever = get_pve_version($pin_version);
+	if ($pvever > 0) {
+	    $pin_version .= "+pve$pvever";
+	}
     }
     if (!$machine || $machine eq 'pc') {
 	$machine = "pc-i440fx-$pin_version";
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [pve-devel] [PATCH qemu-server v3 5/8] machine: add S3/S4 power state properties
  2025-04-04 12:53 [pve-devel] [PATCH qemu-server/docs v3] disable S3/S4 power states by default Dominik Csapak
                   ` (3 preceding siblings ...)
  2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 4/8] machine: incorporate pve machine version when pinning " Dominik Csapak
@ 2025-04-04 12:53 ` Dominik Csapak
  2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 6/8] machine: bump pve machine version and reverse the s3/s4 defaults Dominik Csapak
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Dominik Csapak @ 2025-04-04 12:53 UTC (permalink / raw)
  To: pve-devel

So users can disable them (they're enabled by default in QEMU)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
---
changes from v2:
* different name for function
* removed comment intended for next patch
* don't put function call inside 'if ()'

 PVE/QemuServer.pm         |  2 ++
 PVE/QemuServer/Machine.pm | 36 ++++++++++++++++++++++++++++++++++++
 2 files changed, 38 insertions(+)

diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 366c83b9..5c0f4476 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -4011,6 +4011,8 @@ sub config_to_command {
     if (!$kvm) {
 	push @$machineFlags, 'accel=tcg';
     }
+    my $power_state_flags = PVE::QemuServer::Machine::get_power_state_flags($machine_conf);
+    push $cmd->@*, $power_state_flags->@* if defined($power_state_flags);
 
     push @$machineFlags, 'smm=off' if should_disable_smm($conf, $vga, $machine_type);
 
diff --git a/PVE/QemuServer/Machine.pm b/PVE/QemuServer/Machine.pm
index a5962443..39e7b5b4 100644
--- a/PVE/QemuServer/Machine.pm
+++ b/PVE/QemuServer/Machine.pm
@@ -31,6 +31,16 @@ my $machine_fmt = {
 	enum => ['intel', 'virtio'],
 	optional => 1,
     },
+    'enable-s3' => {
+	type => 'boolean',
+	description => "Enables S3 power state. Defaults to true.",
+	optional => 1,
+    },
+    'enable-s4' => {
+	type => 'boolean',
+	description => "Enables S4 power state. Defaults to true.",
+	optional => 1,
+    },
 };
 
 PVE::JSONSchema::register_format('pve-qemu-machine-fmt', $machine_fmt);
@@ -284,4 +294,30 @@ sub check_and_pin_machine_string {
     return print_machine($machine_conf);
 }
 
+# returns an arrayref of cmdline options for qemu or undef
+sub get_power_state_flags {
+    my ($machine_conf) = @_;
+
+    my $object = $machine_conf->{type} && ($machine_conf->{type} =~ m/q35/) ? "ICH9-LPC" : "PIIX4_PM";
+
+    my $s3 = $machine_conf->{'enable-s3'} // 1;
+    my $s4 = $machine_conf->{'enable-s4'} // 1;
+
+    my $options = [];
+
+    # they're enabled by default in QEMU, so only add the flags to disable them
+    if (!$s3) {
+	push $options->@*, '-global', "${object}.disable_s3=1";
+    }
+    if (!$s4) {
+	push $options->@*, '-global', "${object}.disable_s4=1";
+    }
+
+    if (scalar($options->@*)) {
+	return $options;
+    }
+
+    return;
+}
+
 1;
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [pve-devel] [PATCH qemu-server v3 6/8] machine: bump pve machine version and reverse the s3/s4 defaults
  2025-04-04 12:53 [pve-devel] [PATCH qemu-server/docs v3] disable S3/S4 power states by default Dominik Csapak
                   ` (4 preceding siblings ...)
  2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 5/8] machine: add S3/S4 power state properties Dominik Csapak
@ 2025-04-04 12:53 ` Dominik Csapak
  2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 7/8] api: qemu machine capabilities: add custom pveX versions too Dominik Csapak
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Dominik Csapak @ 2025-04-04 12:53 UTC (permalink / raw)
  To: pve-devel

so new guests (or guests with the 'latest' machine type) have that
setting automatically disabled.

The previous default (enabling S3/S4), does not make too much sense in a
virtual environment, and sometimes makes problems, e.g. Windows defaults
to using 'hybrid shutdown' and 'fast startup' when S4 is enabled, which
leads to NVIDIA vGPU being broken on the boot after that.

Since the tests don't pin the pve version themselves, we have to update
all the ones where the machine versions are derived from the installed
QEMU version.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
changes from v2:
* added comment from previous patch
* added changes for new tests

 PVE/QemuServer.pm                               |  3 ++-
 PVE/QemuServer/Machine.pm                       | 17 ++++++++++++-----
 test/cfg2cmd/bootorder-empty.conf.cmd           |  4 +++-
 test/cfg2cmd/bootorder-legacy.conf.cmd          |  4 +++-
 test/cfg2cmd/bootorder.conf.cmd                 |  4 +++-
 .../cputype-icelake-client-deprecation.conf.cmd |  4 +++-
 test/cfg2cmd/custom-cpu-model-defaults.conf.cmd |  4 +++-
 test/cfg2cmd/efi-raw-template.conf.cmd          |  4 +++-
 test/cfg2cmd/efi-raw.conf.cmd                   |  4 +++-
 test/cfg2cmd/efi-secboot-and-tpm-q35.conf.cmd   |  4 +++-
 test/cfg2cmd/efi-secboot-and-tpm.conf.cmd       |  4 +++-
 test/cfg2cmd/efidisk-on-rbd.conf.cmd            |  4 +++-
 test/cfg2cmd/i440fx-viommu-virtio.conf.cmd      |  4 +++-
 test/cfg2cmd/ide.conf.cmd                       |  4 +++-
 test/cfg2cmd/memory-hotplug-hugepages.conf.cmd  |  4 +++-
 test/cfg2cmd/memory-hotplug.conf.cmd            |  4 +++-
 test/cfg2cmd/memory-hugepages-1g.conf.cmd       |  4 +++-
 test/cfg2cmd/memory-hugepages-2m.conf.cmd       |  4 +++-
 test/cfg2cmd/minimal-defaults.conf.cmd          |  4 +++-
 test/cfg2cmd/netdev-7.1-multiqueues.conf.cmd    |  4 +++-
 test/cfg2cmd/netdev-7.1.conf.cmd                |  4 +++-
 test/cfg2cmd/q35-ide.conf.cmd                   |  4 +++-
 test/cfg2cmd/q35-linux-hostpci-mapping.conf.cmd |  4 +++-
 .../q35-linux-hostpci-multifunction.conf.cmd    |  4 +++-
 .../cfg2cmd/q35-linux-hostpci-template.conf.cmd |  4 +++-
 .../q35-linux-hostpci-x-pci-overrides.conf.cmd  |  4 +++-
 test/cfg2cmd/q35-linux-hostpci.conf.cmd         |  4 +++-
 test/cfg2cmd/q35-simple.conf.cmd                |  4 +++-
 test/cfg2cmd/q35-viommu-intel.conf.cmd          |  4 +++-
 test/cfg2cmd/q35-viommu-virtio.conf.cmd         |  4 +++-
 test/cfg2cmd/seabios_serial.conf.cmd            |  4 +++-
 test/cfg2cmd/sev-es.conf.cmd                    |  4 +++-
 test/cfg2cmd/sev-snp.conf.cmd                   |  4 +++-
 test/cfg2cmd/sev-std.conf.cmd                   |  4 +++-
 test/cfg2cmd/simple-btrfs.conf.cmd              |  4 +++-
 test/cfg2cmd/simple-virtio-blk.conf.cmd         |  4 +++-
 test/cfg2cmd/simple1-template.conf.cmd          |  4 +++-
 test/cfg2cmd/simple1.conf.cmd                   |  4 +++-
 test/cfg2cmd/vnc-clipboard-spice.conf.cmd       |  4 +++-
 test/cfg2cmd/vnc-clipboard-std.conf.cmd         |  4 +++-
 40 files changed, 128 insertions(+), 44 deletions(-)

diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 5c0f4476..24cbb388 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -4011,7 +4011,8 @@ sub config_to_command {
     if (!$kvm) {
 	push @$machineFlags, 'accel=tcg';
     }
-    my $power_state_flags = PVE::QemuServer::Machine::get_power_state_flags($machine_conf);
+    my $power_state_flags
+	= PVE::QemuServer::Machine::get_power_state_flags($machine_conf, $version_guard);
     push $cmd->@*, $power_state_flags->@* if defined($power_state_flags);
 
     push @$machineFlags, 'smm=off' if should_disable_smm($conf, $vga, $machine_type);
diff --git a/PVE/QemuServer/Machine.pm b/PVE/QemuServer/Machine.pm
index 39e7b5b4..47667aac 100644
--- a/PVE/QemuServer/Machine.pm
+++ b/PVE/QemuServer/Machine.pm
@@ -12,6 +12,7 @@ use PVE::JSONSchema qw(get_standard_option parse_property_string print_property_
 # version stays the same)
 our $PVE_MACHINE_VERSION = {
     '4.1' => 2,
+    '9.2' => 1,
 };
 
 my $machine_fmt = {
@@ -33,12 +34,12 @@ my $machine_fmt = {
     },
     'enable-s3' => {
 	type => 'boolean',
-	description => "Enables S3 power state. Defaults to true.",
+	description => "Enables S3 power state. Defaults to false beginning with machine types 9.2+pve1, true before.",
 	optional => 1,
     },
     'enable-s4' => {
 	type => 'boolean',
-	description => "Enables S4 power state. Defaults to true.",
+	description => "Enables S4 power state. Defaults to false beginning with machine types 9.2+pve1, true before.",
 	optional => 1,
     },
 };
@@ -294,14 +295,20 @@ sub check_and_pin_machine_string {
     return print_machine($machine_conf);
 }
 
+# disable s3/s4 by default for 9.2+pve1 machine types
 # returns an arrayref of cmdline options for qemu or undef
 sub get_power_state_flags {
-    my ($machine_conf) = @_;
+    my ($machine_conf, $version_guard) = @_;
 
     my $object = $machine_conf->{type} && ($machine_conf->{type} =~ m/q35/) ? "ICH9-LPC" : "PIIX4_PM";
 
-    my $s3 = $machine_conf->{'enable-s3'} // 1;
-    my $s4 = $machine_conf->{'enable-s4'} // 1;
+    my $default = 1;
+    if ($version_guard->(9, 2, 1)) {
+	$default = 0;
+    }
+
+    my $s3 = $machine_conf->{'enable-s3'} // $default;
+    my $s4 = $machine_conf->{'enable-s4'} // $default;
 
     my $options = [];
 
diff --git a/test/cfg2cmd/bootorder-empty.conf.cmd b/test/cfg2cmd/bootorder-empty.conf.cmd
index 87fa6c28..a8f69475 100644
--- a/test/cfg2cmd/bootorder-empty.conf.cmd
+++ b/test/cfg2cmd/bootorder-empty.conf.cmd
@@ -17,6 +17,8 @@
   -m 768 \
   -object 'iothread,id=iothread-virtio0' \
   -object 'iothread,id=iothread-virtio1' \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'vmgenid,guid=c773c261-d800-4348-9f5d-167fadd53cf8' \
@@ -36,4 +38,4 @@
   -device 'virtio-blk-pci,drive=drive-virtio1,id=virtio1,bus=pci.0,addr=0xb,iothread=iothread-virtio1' \
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
   -device 'virtio-net-pci,mac=A2:C0:43:77:08:A0,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/bootorder-legacy.conf.cmd b/test/cfg2cmd/bootorder-legacy.conf.cmd
index a4c3f050..725749e6 100644
--- a/test/cfg2cmd/bootorder-legacy.conf.cmd
+++ b/test/cfg2cmd/bootorder-legacy.conf.cmd
@@ -17,6 +17,8 @@
   -m 768 \
   -object 'iothread,id=iothread-virtio0' \
   -object 'iothread,id=iothread-virtio1' \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'vmgenid,guid=c773c261-d800-4348-9f5d-167fadd53cf8' \
@@ -36,4 +38,4 @@
   -device 'virtio-blk-pci,drive=drive-virtio1,id=virtio1,bus=pci.0,addr=0xb,iothread=iothread-virtio1,bootindex=302' \
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
   -device 'virtio-net-pci,mac=A2:C0:43:77:08:A0,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=100' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/bootorder.conf.cmd b/test/cfg2cmd/bootorder.conf.cmd
index 76bd55d7..71720ad1 100644
--- a/test/cfg2cmd/bootorder.conf.cmd
+++ b/test/cfg2cmd/bootorder.conf.cmd
@@ -17,6 +17,8 @@
   -m 768 \
   -object 'iothread,id=iothread-virtio0' \
   -object 'iothread,id=iothread-virtio1' \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'vmgenid,guid=c773c261-d800-4348-9f5d-167fadd53cf8' \
@@ -36,4 +38,4 @@
   -device 'virtio-blk-pci,drive=drive-virtio1,id=virtio1,bus=pci.0,addr=0xb,iothread=iothread-virtio1,bootindex=100' \
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
   -device 'virtio-net-pci,mac=A2:C0:43:77:08:A0,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=101' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/cputype-icelake-client-deprecation.conf.cmd b/test/cfg2cmd/cputype-icelake-client-deprecation.conf.cmd
index bf084432..0f066cb5 100644
--- a/test/cfg2cmd/cputype-icelake-client-deprecation.conf.cmd
+++ b/test/cfg2cmd/cputype-icelake-client-deprecation.conf.cmd
@@ -15,6 +15,8 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu 'Icelake-Server,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,vendor=GenuineIntel' \
   -m 768 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'vmgenid,guid=c773c261-d800-4348-9f5d-167fadd53cf8' \
@@ -28,4 +30,4 @@
   -device 'virtio-scsi-pci,id=scsihw0,bus=pci.0,addr=0x5' \
   -drive 'file=/var/lib/vz/images/8006/base-8006-disk-0.qcow2,if=none,id=drive-scsi0,discard=on,format=qcow2,cache=none,aio=io_uring,detect-zeroes=unmap' \
   -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/custom-cpu-model-defaults.conf.cmd b/test/cfg2cmd/custom-cpu-model-defaults.conf.cmd
index 15b31fb0..8f2853be 100644
--- a/test/cfg2cmd/custom-cpu-model-defaults.conf.cmd
+++ b/test/cfg2cmd/custom-cpu-model-defaults.conf.cmd
@@ -15,6 +15,8 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 512 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' \
@@ -22,4 +24,4 @@
   -device 'VGA,id=vga,bus=pci.0,addr=0x2' \
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/efi-raw-template.conf.cmd b/test/cfg2cmd/efi-raw-template.conf.cmd
index 3e90c335..41a374ac 100644
--- a/test/cfg2cmd/efi-raw-template.conf.cmd
+++ b/test/cfg2cmd/efi-raw-template.conf.cmd
@@ -17,11 +17,13 @@
   -nographic \
   -cpu qemu64 \
   -m 512 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' \
   -device 'usb-tablet,id=tablet,bus=uhci.0,port=1' \
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
-  -machine 'accel=tcg,type=pc+pve0' \
+  -machine 'accel=tcg,type=pc+pve1' \
   -snapshot
diff --git a/test/cfg2cmd/efi-raw.conf.cmd b/test/cfg2cmd/efi-raw.conf.cmd
index cf9804bc..f703aeca 100644
--- a/test/cfg2cmd/efi-raw.conf.cmd
+++ b/test/cfg2cmd/efi-raw.conf.cmd
@@ -17,6 +17,8 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 512 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' \
@@ -24,4 +26,4 @@
   -device 'VGA,id=vga,bus=pci.0,addr=0x2' \
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/efi-secboot-and-tpm-q35.conf.cmd b/test/cfg2cmd/efi-secboot-and-tpm-q35.conf.cmd
index 911ead05..5915325d 100644
--- a/test/cfg2cmd/efi-secboot-and-tpm-q35.conf.cmd
+++ b/test/cfg2cmd/efi-secboot-and-tpm-q35.conf.cmd
@@ -17,6 +17,8 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 512 \
+  -global 'ICH9-LPC.disable_s3=1' \
+  -global 'ICH9-LPC.disable_s4=1' \
   -readconfig /usr/share/qemu-server/pve-q35-4.0.cfg \
   -device 'usb-tablet,id=tablet,bus=ehci.0,port=1' \
   -chardev 'socket,id=tpmchar,path=/var/run/qemu-server/8006.swtpm' \
@@ -25,4 +27,4 @@
   -device 'VGA,id=vga,bus=pcie.0,addr=0x1' \
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
-  -machine 'type=q35+pve0'
+  -machine 'type=q35+pve1'
diff --git a/test/cfg2cmd/efi-secboot-and-tpm.conf.cmd b/test/cfg2cmd/efi-secboot-and-tpm.conf.cmd
index 68a85ea0..a3bb645e 100644
--- a/test/cfg2cmd/efi-secboot-and-tpm.conf.cmd
+++ b/test/cfg2cmd/efi-secboot-and-tpm.conf.cmd
@@ -17,6 +17,8 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 512 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' \
@@ -27,4 +29,4 @@
   -device 'VGA,id=vga,bus=pci.0,addr=0x2' \
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/efidisk-on-rbd.conf.cmd b/test/cfg2cmd/efidisk-on-rbd.conf.cmd
index f02039a1..ca1a7c4c 100644
--- a/test/cfg2cmd/efidisk-on-rbd.conf.cmd
+++ b/test/cfg2cmd/efidisk-on-rbd.conf.cmd
@@ -19,6 +19,8 @@
   -m 512 \
   -object 'memory-backend-ram,id=ram-node0,size=512M' \
   -numa 'node,nodeid=0,cpus=0,memdev=ram-node0' \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'vmgenid,guid=54d1c06c-8f5b-440f-b5b2-6eab1380e13a' \
@@ -29,4 +31,4 @@
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
   -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/i440fx-viommu-virtio.conf.cmd b/test/cfg2cmd/i440fx-viommu-virtio.conf.cmd
index 0352354f..a61f5a49 100644
--- a/test/cfg2cmd/i440fx-viommu-virtio.conf.cmd
+++ b/test/cfg2cmd/i440fx-viommu-virtio.conf.cmd
@@ -14,6 +14,8 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 512 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' \
@@ -22,4 +24,4 @@
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
   -device virtio-iommu-pci \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/ide.conf.cmd b/test/cfg2cmd/ide.conf.cmd
index 33c6aadc..cc616236 100644
--- a/test/cfg2cmd/ide.conf.cmd
+++ b/test/cfg2cmd/ide.conf.cmd
@@ -15,6 +15,8 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 512 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'vmgenid,guid=54d1c06c-8f5b-440f-b5b2-6eab1380e13d' \
@@ -36,4 +38,4 @@
   -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100' \
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
   -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/memory-hotplug-hugepages.conf.cmd b/test/cfg2cmd/memory-hotplug-hugepages.conf.cmd
index f8a8bcb7..438f748c 100644
--- a/test/cfg2cmd/memory-hotplug-hugepages.conf.cmd
+++ b/test/cfg2cmd/memory-hotplug-hugepages.conf.cmd
@@ -51,6 +51,8 @@
   -device 'pc-dimm,id=dimm14,memdev=mem-dimm14,node=0' \
   -object 'memory-backend-file,id=mem-dimm15,size=1024M,mem-path=/run/hugepages/kvm/1048576kB,share=on,prealloc=yes' \
   -device 'pc-dimm,id=dimm15,memdev=mem-dimm15,node=1' \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'vmgenid,guid=c773c261-d800-4348-9f5d-167fadd53cf8' \
@@ -59,4 +61,4 @@
   -device 'VGA,id=vga,bus=pci.0,addr=0x2' \
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/memory-hotplug.conf.cmd b/test/cfg2cmd/memory-hotplug.conf.cmd
index 859c889d..589ca781 100644
--- a/test/cfg2cmd/memory-hotplug.conf.cmd
+++ b/test/cfg2cmd/memory-hotplug.conf.cmd
@@ -163,6 +163,8 @@
   -device 'pc-dimm,id=dimm70,memdev=mem-dimm70,node=0' \
   -object 'memory-backend-ram,id=mem-dimm71,size=2048M' \
   -device 'pc-dimm,id=dimm71,memdev=mem-dimm71,node=1' \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'vmgenid,guid=c773c261-d800-4348-9f5d-167fadd53cf8' \
@@ -171,4 +173,4 @@
   -device 'VGA,id=vga,bus=pci.0,addr=0x2' \
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/memory-hugepages-1g.conf.cmd b/test/cfg2cmd/memory-hugepages-1g.conf.cmd
index 352242c4..6ec8bf0b 100644
--- a/test/cfg2cmd/memory-hugepages-1g.conf.cmd
+++ b/test/cfg2cmd/memory-hugepages-1g.conf.cmd
@@ -19,6 +19,8 @@
   -numa 'node,nodeid=0,cpus=0-1,memdev=ram-node0' \
   -object 'memory-backend-file,id=ram-node1,size=4096M,mem-path=/run/hugepages/kvm/1048576kB,share=on,prealloc=yes' \
   -numa 'node,nodeid=1,cpus=2-3,memdev=ram-node1' \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'vmgenid,guid=c773c261-d800-4348-9f5d-167fadd53cf8' \
@@ -27,4 +29,4 @@
   -device 'VGA,id=vga,bus=pci.0,addr=0x2' \
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/memory-hugepages-2m.conf.cmd b/test/cfg2cmd/memory-hugepages-2m.conf.cmd
index 5594e878..da68aee1 100644
--- a/test/cfg2cmd/memory-hugepages-2m.conf.cmd
+++ b/test/cfg2cmd/memory-hugepages-2m.conf.cmd
@@ -19,6 +19,8 @@
   -numa 'node,nodeid=0,cpus=0-1,memdev=ram-node0' \
   -object 'memory-backend-file,id=ram-node1,size=4096M,mem-path=/run/hugepages/kvm/2048kB,share=on,prealloc=yes' \
   -numa 'node,nodeid=1,cpus=2-3,memdev=ram-node1' \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'vmgenid,guid=c773c261-d800-4348-9f5d-167fadd53cf8' \
@@ -27,4 +29,4 @@
   -device 'VGA,id=vga,bus=pci.0,addr=0x2' \
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/minimal-defaults.conf.cmd b/test/cfg2cmd/minimal-defaults.conf.cmd
index 8da69fee..159ee0d8 100644
--- a/test/cfg2cmd/minimal-defaults.conf.cmd
+++ b/test/cfg2cmd/minimal-defaults.conf.cmd
@@ -15,6 +15,8 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 512 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' \
@@ -22,4 +24,4 @@
   -device 'VGA,id=vga,bus=pci.0,addr=0x2' \
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/netdev-7.1-multiqueues.conf.cmd b/test/cfg2cmd/netdev-7.1-multiqueues.conf.cmd
index 2c6c9054..f2f7c284 100644
--- a/test/cfg2cmd/netdev-7.1-multiqueues.conf.cmd
+++ b/test/cfg2cmd/netdev-7.1-multiqueues.conf.cmd
@@ -14,6 +14,8 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 768 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' \
@@ -23,4 +25,4 @@
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on,queues=2' \
   -device 'virtio-net-pci,mac=A2:C0:43:77:08:A0,netdev=net0,bus=pci.0,addr=0x12,id=net0,vectors=6,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=256,bootindex=300,host_mtu=900' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/netdev-7.1.conf.cmd b/test/cfg2cmd/netdev-7.1.conf.cmd
index 6ffa9717..f4c28186 100644
--- a/test/cfg2cmd/netdev-7.1.conf.cmd
+++ b/test/cfg2cmd/netdev-7.1.conf.cmd
@@ -14,6 +14,8 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 768 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' \
@@ -23,4 +25,4 @@
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
   -device 'virtio-net-pci,mac=A2:C0:43:77:08:A0,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300,host_mtu=900' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/q35-ide.conf.cmd b/test/cfg2cmd/q35-ide.conf.cmd
index dd4f1bbe..f7572bb1 100644
--- a/test/cfg2cmd/q35-ide.conf.cmd
+++ b/test/cfg2cmd/q35-ide.conf.cmd
@@ -16,6 +16,8 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 512 \
+  -global 'ICH9-LPC.disable_s3=1' \
+  -global 'ICH9-LPC.disable_s4=1' \
   -readconfig /usr/share/qemu-server/pve-q35-4.0.cfg \
   -device 'vmgenid,guid=54d1c06c-8f5b-440f-b5b2-6eab1380e13d' \
   -device 'usb-tablet,id=tablet,bus=ehci.0,port=1' \
@@ -35,4 +37,4 @@
   -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100' \
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
   -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
-  -machine 'type=q35+pve0'
+  -machine 'type=q35+pve1'
diff --git a/test/cfg2cmd/q35-linux-hostpci-mapping.conf.cmd b/test/cfg2cmd/q35-linux-hostpci-mapping.conf.cmd
index bc48c5ae..2c30a62e 100644
--- a/test/cfg2cmd/q35-linux-hostpci-mapping.conf.cmd
+++ b/test/cfg2cmd/q35-linux-hostpci-mapping.conf.cmd
@@ -22,6 +22,8 @@
   -numa 'node,nodeid=0,cpus=0,memdev=ram-node0' \
   -object 'memory-backend-ram,id=ram-node1,size=256M' \
   -numa 'node,nodeid=1,cpus=1,memdev=ram-node1' \
+  -global 'ICH9-LPC.disable_s3=1' \
+  -global 'ICH9-LPC.disable_s4=1' \
   -readconfig /usr/share/qemu-server/pve-q35-4.0.cfg \
   -device 'vmgenid,guid=54d1c06c-8f5b-440f-b5b2-6eab1380e13d' \
   -device 'usb-tablet,id=tablet,bus=ehci.0,port=1' \
@@ -33,4 +35,4 @@
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
   -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
-  -machine 'type=q35+pve0'
+  -machine 'type=q35+pve1'
diff --git a/test/cfg2cmd/q35-linux-hostpci-multifunction.conf.cmd b/test/cfg2cmd/q35-linux-hostpci-multifunction.conf.cmd
index 0b1d85af..775fe8ad 100644
--- a/test/cfg2cmd/q35-linux-hostpci-multifunction.conf.cmd
+++ b/test/cfg2cmd/q35-linux-hostpci-multifunction.conf.cmd
@@ -22,6 +22,8 @@
   -numa 'node,nodeid=0,cpus=0,memdev=ram-node0' \
   -object 'memory-backend-ram,id=ram-node1,size=256M' \
   -numa 'node,nodeid=1,cpus=1,memdev=ram-node1' \
+  -global 'ICH9-LPC.disable_s3=1' \
+  -global 'ICH9-LPC.disable_s4=1' \
   -readconfig /usr/share/qemu-server/pve-q35-4.0.cfg \
   -device 'vmgenid,guid=54d1c06c-8f5b-440f-b5b2-6eab1380e13d' \
   -device 'usb-tablet,id=tablet,bus=ehci.0,port=1' \
@@ -33,4 +35,4 @@
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
   -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
-  -machine 'type=q35+pve0'
+  -machine 'type=q35+pve1'
diff --git a/test/cfg2cmd/q35-linux-hostpci-template.conf.cmd b/test/cfg2cmd/q35-linux-hostpci-template.conf.cmd
index cda10630..7001e1f9 100644
--- a/test/cfg2cmd/q35-linux-hostpci-template.conf.cmd
+++ b/test/cfg2cmd/q35-linux-hostpci-template.conf.cmd
@@ -17,6 +17,8 @@
   -nographic \
   -cpu qemu64 \
   -m 512 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' \
@@ -26,5 +28,5 @@
   -device 'virtio-scsi-pci,id=scsihw0,bus=pci.0,addr=0x5' \
   -drive 'file=/var/lib/vz/images/100/base-100-disk-2.raw,if=none,id=drive-scsi0,format=raw,cache=none,aio=io_uring,detect-zeroes=on,readonly=on' \
   -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0' \
-  -machine 'accel=tcg,type=pc+pve0' \
+  -machine 'accel=tcg,type=pc+pve1' \
   -snapshot
diff --git a/test/cfg2cmd/q35-linux-hostpci-x-pci-overrides.conf.cmd b/test/cfg2cmd/q35-linux-hostpci-x-pci-overrides.conf.cmd
index c7698d17..479735cf 100644
--- a/test/cfg2cmd/q35-linux-hostpci-x-pci-overrides.conf.cmd
+++ b/test/cfg2cmd/q35-linux-hostpci-x-pci-overrides.conf.cmd
@@ -22,6 +22,8 @@
   -numa 'node,nodeid=0,cpus=0,memdev=ram-node0' \
   -object 'memory-backend-ram,id=ram-node1,size=256M' \
   -numa 'node,nodeid=1,cpus=1,memdev=ram-node1' \
+  -global 'ICH9-LPC.disable_s3=1' \
+  -global 'ICH9-LPC.disable_s4=1' \
   -readconfig /usr/share/qemu-server/pve-q35-4.0.cfg \
   -device 'vmgenid,guid=54d1c06c-8f5b-440f-b5b2-6eab1380e13d' \
   -device 'usb-tablet,id=tablet,bus=ehci.0,port=1' \
@@ -32,4 +34,4 @@
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
   -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
-  -machine 'type=q35+pve0'
+  -machine 'type=q35+pve1'
diff --git a/test/cfg2cmd/q35-linux-hostpci.conf.cmd b/test/cfg2cmd/q35-linux-hostpci.conf.cmd
index 5289ec69..5e65a5cb 100644
--- a/test/cfg2cmd/q35-linux-hostpci.conf.cmd
+++ b/test/cfg2cmd/q35-linux-hostpci.conf.cmd
@@ -22,6 +22,8 @@
   -numa 'node,nodeid=0,cpus=0,memdev=ram-node0' \
   -object 'memory-backend-ram,id=ram-node1,size=256M' \
   -numa 'node,nodeid=1,cpus=1,memdev=ram-node1' \
+  -global 'ICH9-LPC.disable_s3=1' \
+  -global 'ICH9-LPC.disable_s4=1' \
   -readconfig /usr/share/qemu-server/pve-q35-4.0.cfg \
   -device 'vmgenid,guid=54d1c06c-8f5b-440f-b5b2-6eab1380e13d' \
   -device 'usb-tablet,id=tablet,bus=ehci.0,port=1' \
@@ -38,4 +40,4 @@
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
   -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
-  -machine 'type=q35+pve0'
+  -machine 'type=q35+pve1'
diff --git a/test/cfg2cmd/q35-simple.conf.cmd b/test/cfg2cmd/q35-simple.conf.cmd
index 98b22f46..c578def3 100644
--- a/test/cfg2cmd/q35-simple.conf.cmd
+++ b/test/cfg2cmd/q35-simple.conf.cmd
@@ -18,6 +18,8 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 512 \
+  -global 'ICH9-LPC.disable_s3=1' \
+  -global 'ICH9-LPC.disable_s4=1' \
   -readconfig /usr/share/qemu-server/pve-q35-4.0.cfg \
   -device 'vmgenid,guid=54d1c06c-8f5b-440f-b5b2-6eab1380e13d' \
   -device 'usb-tablet,id=tablet,bus=ehci.0,port=1' \
@@ -26,4 +28,4 @@
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
   -device 'virtio-net-pci,mac=2E:01:68:F9:9C:87,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
-  -machine 'type=q35+pve0'
+  -machine 'type=q35+pve1'
diff --git a/test/cfg2cmd/q35-viommu-intel.conf.cmd b/test/cfg2cmd/q35-viommu-intel.conf.cmd
index 24e873d4..f97a1af3 100644
--- a/test/cfg2cmd/q35-viommu-intel.conf.cmd
+++ b/test/cfg2cmd/q35-viommu-intel.conf.cmd
@@ -14,10 +14,12 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 512 \
+  -global 'ICH9-LPC.disable_s3=1' \
+  -global 'ICH9-LPC.disable_s4=1' \
   -device 'intel-iommu,intremap=on,caching-mode=on' \
   -readconfig /usr/share/qemu-server/pve-q35-4.0.cfg \
   -device 'usb-tablet,id=tablet,bus=ehci.0,port=1' \
   -device 'VGA,id=vga,bus=pcie.0,addr=0x1' \
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
-  -machine 'type=q35+pve0,kernel-irqchip=split'
+  -machine 'type=q35+pve1,kernel-irqchip=split'
diff --git a/test/cfg2cmd/q35-viommu-virtio.conf.cmd b/test/cfg2cmd/q35-viommu-virtio.conf.cmd
index 294c353d..62f7a7f8 100644
--- a/test/cfg2cmd/q35-viommu-virtio.conf.cmd
+++ b/test/cfg2cmd/q35-viommu-virtio.conf.cmd
@@ -14,10 +14,12 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 512 \
+  -global 'ICH9-LPC.disable_s3=1' \
+  -global 'ICH9-LPC.disable_s4=1' \
   -readconfig /usr/share/qemu-server/pve-q35-4.0.cfg \
   -device 'usb-tablet,id=tablet,bus=ehci.0,port=1' \
   -device 'VGA,id=vga,bus=pcie.0,addr=0x1' \
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
   -device virtio-iommu-pci \
-  -machine 'type=q35+pve0'
+  -machine 'type=q35+pve1'
diff --git a/test/cfg2cmd/seabios_serial.conf.cmd b/test/cfg2cmd/seabios_serial.conf.cmd
index 1c4e102c..eb2bc339 100644
--- a/test/cfg2cmd/seabios_serial.conf.cmd
+++ b/test/cfg2cmd/seabios_serial.conf.cmd
@@ -15,6 +15,8 @@
   -nographic \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 768 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'vmgenid,guid=c773c261-d800-4348-9f5d-167fadd53cf8' \
@@ -30,4 +32,4 @@
   -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100' \
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
   -device 'virtio-net-pci,mac=A2:C0:43:77:08:A0,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
-  -machine 'smm=off,type=pc+pve0'
+  -machine 'smm=off,type=pc+pve1'
diff --git a/test/cfg2cmd/sev-es.conf.cmd b/test/cfg2cmd/sev-es.conf.cmd
index d8168086..c8d3ca44 100644
--- a/test/cfg2cmd/sev-es.conf.cmd
+++ b/test/cfg2cmd/sev-es.conf.cmd
@@ -17,6 +17,8 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 512 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' \
@@ -25,4 +27,4 @@
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
   -object 'sev-guest,id=sev0,cbitpos=51,reduced-phys-bits=6,policy=0xc' \
-  -machine 'type=pc+pve0,confidential-guest-support=sev0'
+  -machine 'type=pc+pve1,confidential-guest-support=sev0'
diff --git a/test/cfg2cmd/sev-snp.conf.cmd b/test/cfg2cmd/sev-snp.conf.cmd
index cd1f578f..1d48cb5d 100644
--- a/test/cfg2cmd/sev-snp.conf.cmd
+++ b/test/cfg2cmd/sev-snp.conf.cmd
@@ -16,6 +16,8 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 512 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' \
@@ -24,4 +26,4 @@
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
   -object 'sev-snp-guest,id=sev0,cbitpos=51,reduced-phys-bits=6,policy=0xb0000' \
-  -machine 'type=pc+pve0,confidential-guest-support=sev0'
+  -machine 'type=pc+pve1,confidential-guest-support=sev0'
diff --git a/test/cfg2cmd/sev-std.conf.cmd b/test/cfg2cmd/sev-std.conf.cmd
index 53928d6b..54592701 100644
--- a/test/cfg2cmd/sev-std.conf.cmd
+++ b/test/cfg2cmd/sev-std.conf.cmd
@@ -17,6 +17,8 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 512 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' \
@@ -25,4 +27,4 @@
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
   -object 'sev-guest,id=sev0,cbitpos=51,reduced-phys-bits=6,policy=0x8' \
-  -machine 'type=pc+pve0,confidential-guest-support=sev0'
+  -machine 'type=pc+pve1,confidential-guest-support=sev0'
diff --git a/test/cfg2cmd/simple-btrfs.conf.cmd b/test/cfg2cmd/simple-btrfs.conf.cmd
index c2354887..216398db 100644
--- a/test/cfg2cmd/simple-btrfs.conf.cmd
+++ b/test/cfg2cmd/simple-btrfs.conf.cmd
@@ -15,6 +15,8 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 768 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'vmgenid,guid=c773c261-d800-4348-1010-1010add53cf8' \
@@ -30,4 +32,4 @@
   -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100' \
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
   -device 'virtio-net-pci,mac=A2:C0:43:77:08:A0,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/simple-virtio-blk.conf.cmd b/test/cfg2cmd/simple-virtio-blk.conf.cmd
index d19aca6b..6e022869 100644
--- a/test/cfg2cmd/simple-virtio-blk.conf.cmd
+++ b/test/cfg2cmd/simple-virtio-blk.conf.cmd
@@ -16,6 +16,8 @@
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 768 \
   -object 'iothread,id=iothread-virtio0' \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'vmgenid,guid=c773c261-d800-4348-9f5d-167fadd53cf8' \
@@ -30,4 +32,4 @@
   -device 'virtio-blk-pci,drive=drive-virtio0,id=virtio0,bus=pci.0,addr=0xa,iothread=iothread-virtio0,bootindex=100' \
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
   -device 'virtio-net-pci,mac=A2:C0:43:77:08:A0,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/simple1-template.conf.cmd b/test/cfg2cmd/simple1-template.conf.cmd
index 35484600..0da1ae54 100644
--- a/test/cfg2cmd/simple1-template.conf.cmd
+++ b/test/cfg2cmd/simple1-template.conf.cmd
@@ -15,6 +15,8 @@
   -nographic \
   -cpu qemu64 \
   -m 512 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' \
@@ -29,5 +31,5 @@
   -device 'ahci,id=ahci0,multifunction=on,bus=pci.0,addr=0x7' \
   -drive 'file=/var/lib/vz/images/8006/base-8006-disk-0.qcow2,if=none,id=drive-sata0,discard=on,format=qcow2,cache=none,aio=io_uring,detect-zeroes=unmap' \
   -device 'ide-hd,bus=ahci0.0,drive=drive-sata0,id=sata0' \
-  -machine 'accel=tcg,smm=off,type=pc+pve0' \
+  -machine 'accel=tcg,smm=off,type=pc+pve1' \
   -snapshot
diff --git a/test/cfg2cmd/simple1.conf.cmd b/test/cfg2cmd/simple1.conf.cmd
index ecd14bcc..5a478566 100644
--- a/test/cfg2cmd/simple1.conf.cmd
+++ b/test/cfg2cmd/simple1.conf.cmd
@@ -15,6 +15,8 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 768 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'vmgenid,guid=c773c261-d800-4348-9f5d-167fadd53cf8' \
@@ -30,4 +32,4 @@
   -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100' \
   -netdev 'type=tap,id=net0,ifname=tap8006i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' \
   -device 'virtio-net-pci,mac=A2:C0:43:77:08:A0,netdev=net0,bus=pci.0,addr=0x12,id=net0,rx_queue_size=1024,tx_queue_size=256,bootindex=300' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/vnc-clipboard-spice.conf.cmd b/test/cfg2cmd/vnc-clipboard-spice.conf.cmd
index f24cc7f0..bf474474 100644
--- a/test/cfg2cmd/vnc-clipboard-spice.conf.cmd
+++ b/test/cfg2cmd/vnc-clipboard-spice.conf.cmd
@@ -14,6 +14,8 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 512 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' \
@@ -24,4 +26,4 @@
   -spice 'tls-port=61000,addr=127.0.0.1,tls-ciphers=HIGH,seamless-migration=on' \
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
diff --git a/test/cfg2cmd/vnc-clipboard-std.conf.cmd b/test/cfg2cmd/vnc-clipboard-std.conf.cmd
index c0c6cd28..d301fb63 100644
--- a/test/cfg2cmd/vnc-clipboard-std.conf.cmd
+++ b/test/cfg2cmd/vnc-clipboard-std.conf.cmd
@@ -14,6 +14,8 @@
   -vnc 'unix:/var/run/qemu-server/8006.vnc,password=on' \
   -cpu kvm64,enforce,+kvm_pv_eoi,+kvm_pv_unhalt,+lahf_lm,+sep \
   -m 512 \
+  -global 'PIIX4_PM.disable_s3=1' \
+  -global 'PIIX4_PM.disable_s4=1' \
   -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' \
   -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' \
   -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' \
@@ -24,4 +26,4 @@
   -device 'virtserialport,chardev=vdagent,name=com.redhat.spice.0' \
   -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3,free-page-reporting=on' \
   -iscsi 'initiator-name=iqn.1993-08.org.debian:01:aabbccddeeff' \
-  -machine 'type=pc+pve0'
+  -machine 'type=pc+pve1'
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [pve-devel] [PATCH qemu-server v3 7/8] api: qemu machine capabilities: add custom pveX versions too
  2025-04-04 12:53 [pve-devel] [PATCH qemu-server/docs v3] disable S3/S4 power states by default Dominik Csapak
                   ` (5 preceding siblings ...)
  2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 6/8] machine: bump pve machine version and reverse the s3/s4 defaults Dominik Csapak
@ 2025-04-04 12:53 ` Dominik Csapak
  2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 8/8] api: qemu machine capabilities: add description for pveX variants Dominik Csapak
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Dominik Csapak @ 2025-04-04 12:53 UTC (permalink / raw)
  To: pve-devel

Add the pveX variants (where X > 0) to the list too, so one knows they
exits. Also this allows them to be shown and chosen in the UI.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
---
changes from v2:
* changed outer variable name to 'supported_machine_list'

 PVE/API2/Qemu/Machine.pm | 28 +++++++++++++++++++++++++---
 1 file changed, 25 insertions(+), 3 deletions(-)

diff --git a/PVE/API2/Qemu/Machine.pm b/PVE/API2/Qemu/Machine.pm
index afb535c2..bbd814f0 100644
--- a/PVE/API2/Qemu/Machine.pm
+++ b/PVE/API2/Qemu/Machine.pm
@@ -6,6 +6,7 @@ use warnings;
 use JSON;
 
 use PVE::JSONSchema qw(get_standard_option);
+use PVE::QemuServer::Machine;
 use PVE::RESTHandler;
 use PVE::Tools qw(file_get_contents);
 
@@ -49,12 +50,33 @@ __PACKAGE__->register_method({
 	},
     },
     code => sub {
-	my $machines = eval {
+	my $supported_machine_list = eval {
 	    my $raw = file_get_contents('/usr/share/kvm/machine-versions-x86_64.json');
-	    return from_json($raw, { utf8 => 1 });
+	    my $machines = from_json($raw, { utf8 => 1 });
+
+	    my $to_add = [];
+
+	    for my $machine ($machines->@*) {
+		my $base_version = $machine->{version};
+		my $pvever = PVE::QemuServer::Machine::get_pve_version($base_version);
+		for (my $i = 1; $i <= $pvever; $i++) {
+		    my $version = $base_version . "+pve$i";
+		    my $entry = {
+			id => $machine->{id} . "+pve$i",
+			type => $machine->{type},
+			version => $version,
+		    };
+
+		    push $to_add->@*, $entry;
+		}
+	    }
+
+	    push $machines->@*, $to_add->@*;
+
+	    return [sort { $b->{id} cmp $a->{id} } $machines->@*];
 	};
 	die "could not load supported machine versions - $@\n" if $@;
-	return $machines;
+	return $supported_machine_list;
     }
 });
 
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [pve-devel] [PATCH qemu-server v3 8/8] api: qemu machine capabilities: add description for pveX variants
  2025-04-04 12:53 [pve-devel] [PATCH qemu-server/docs v3] disable S3/S4 power states by default Dominik Csapak
                   ` (6 preceding siblings ...)
  2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 7/8] api: qemu machine capabilities: add custom pveX versions too Dominik Csapak
@ 2025-04-04 12:53 ` Dominik Csapak
  2025-04-04 12:53 ` [pve-devel] [PATCH docs v3 1/1] qm: pve machine version: add section to explain +pveX versions Dominik Csapak
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Dominik Csapak @ 2025-04-04 12:53 UTC (permalink / raw)
  To: pve-devel

and retroactively add descriptions for previous bumps.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
changes from v2:
* added additional sentence to new machine model description

 PVE/API2/Qemu/Machine.pm  |  9 +++++++++
 PVE/QemuServer/Machine.pm | 15 +++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/PVE/API2/Qemu/Machine.pm b/PVE/API2/Qemu/Machine.pm
index bbd814f0..83145f89 100644
--- a/PVE/API2/Qemu/Machine.pm
+++ b/PVE/API2/Qemu/Machine.pm
@@ -46,6 +46,12 @@ __PACKAGE__->register_method({
 		    type => 'string',
 		    description => "The machine version.",
 		},
+		description => {
+		    type => 'string',
+		    optional => 1,
+		    description => 'Notable changes that version introduces, only used for +pveX"
+			." versions.',
+		},
 	    },
 	},
     },
@@ -67,6 +73,9 @@ __PACKAGE__->register_method({
 			version => $version,
 		    };
 
+		    my $desc = PVE::QemuServer::Machine::get_pve_version_description($version);
+		    $entry->{description} = $desc if defined($desc);
+
 		    push $to_add->@*, $entry;
 		}
 	    }
diff --git a/PVE/QemuServer/Machine.pm b/PVE/QemuServer/Machine.pm
index 47667aac..2056aad0 100644
--- a/PVE/QemuServer/Machine.pm
+++ b/PVE/QemuServer/Machine.pm
@@ -15,6 +15,21 @@ our $PVE_MACHINE_VERSION = {
     '9.2' => 1,
 };
 
+# When bumping the pveX version, add a description why.
+my $PVE_MACHINE_VERSION_DESCRIPTIONS = {
+    '4.1+pve1' => 'Introduction of pveX versioning, no changes.',
+    '4.1+pve2' => 'Increases supported SCSI drive count.',
+    '9.2+pve1' => 'Disables S3/S4 power states. These are often problematic in virtualized guests.',
+};
+
+# returns the description of a given machine version with pve version, e.g. 9.2+pve1 or undef if
+# there is none
+sub get_pve_version_description {
+    my ($version) = @_;
+
+    return $PVE_MACHINE_VERSION_DESCRIPTIONS->{$version};
+}
+
 my $machine_fmt = {
     type => {
 	default_key => 1,
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [pve-devel] [PATCH docs v3 1/1] qm: pve machine version: add section to explain +pveX versions
  2025-04-04 12:53 [pve-devel] [PATCH qemu-server/docs v3] disable S3/S4 power states by default Dominik Csapak
                   ` (7 preceding siblings ...)
  2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 8/8] api: qemu machine capabilities: add description for pveX variants Dominik Csapak
@ 2025-04-04 12:53 ` Dominik Csapak
  2025-04-04 16:08   ` Stoiko Ivanov
  2025-04-04 15:56 ` [pve-devel] [PATCH qemu-server/docs v3] disable S3/S4 power states by default Stoiko Ivanov
  2025-04-06 17:46 ` [pve-devel] applied-series: " Thomas Lamprecht
  10 siblings, 1 reply; 13+ messages in thread
From: Dominik Csapak @ 2025-04-04 12:53 UTC (permalink / raw)
  To: pve-devel

and clarify what windows guests will be pinned to.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
changes from v2:
* mention that windows gets pinned during guest creation

 qm.adoc | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/qm.adoc b/qm.adoc
index 2617a7c..ff49c37 100644
--- a/qm.adoc
+++ b/qm.adoc
@@ -173,6 +173,21 @@ This means that after a fresh start, the newest machine version supported by the
 QEMU binary is used (e.g. the newest machine version QEMU 8.1 supports is
 version 8.1 for each machine type).
 
+PVE Machine Version
++++++++++++++++++++
+
+Sometimes it's necessary to introduce new defaults or change the existing
+hardware layout for new guests. For this, we have introduces an additional 'pve
+machine version'. This version begins with 0 with every new QEMU machine
+version, for example 'pc-q35-9.2+pve0'. When we want to change the hardware
+layout or a default option, we bump it to the next one (e.g.
+'pc-q35-9.2+pve1'), so older running guests are not impacted. When pinning a
+guest to a specific machine, this can be omitted. In that case it defaults to
+0.
+
+Windows guests get pinned to the most current version that is available for the
+specific machine version during guest creation.
+
 QEMU Machine Version Deprecation
 ++++++++++++++++++++++++++++++++
 
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [pve-devel] [PATCH qemu-server/docs v3] disable S3/S4 power states by default
  2025-04-04 12:53 [pve-devel] [PATCH qemu-server/docs v3] disable S3/S4 power states by default Dominik Csapak
                   ` (8 preceding siblings ...)
  2025-04-04 12:53 ` [pve-devel] [PATCH docs v3 1/1] qm: pve machine version: add section to explain +pveX versions Dominik Csapak
@ 2025-04-04 15:56 ` Stoiko Ivanov
  2025-04-06 17:46 ` [pve-devel] applied-series: " Thomas Lamprecht
  10 siblings, 0 replies; 13+ messages in thread
From: Stoiko Ivanov @ 2025-04-04 15:56 UTC (permalink / raw)
  To: Dominik Csapak; +Cc: Proxmox VE development discussion

Thanks for the patches!

Gave the series a spin on my machine, and compared:
* ps auxwf output (with various combinations of
  pc-q35-9.2+pve1,enable-s4=1,enable-s3=1 for a linux guest)
* running with pc-q35-9.2 vs pc-q35-92+pve1 for a linux guest
* comparing /sys/power/(state|mem_sleep|disk) (the last 2 seemed like a
  way to see S3/S4 support [0]
* running with pc-q35-9.2 vs pc-q35-92+pve1 for a Windows guest and
  comparing powercfg /a output

Looked through the diff of the patches and skimmed the discussions for
RFC, v1, v2.

Some small suggestions for the docs-patch (which can be followed-up, if
they are sensible imho) I'll send as reply to the patch.
with and without those addressed for the series:

Reviewed-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Tested-By: Stoiko Ivanov <s.ivanov@proxmox.com>

[0] https://www.kernel.org/doc/Documentation/power/states.txt
[1]
https://learn.microsoft.com/en-us/windows-hardware/drivers/kernel/system-sleeping-states 


On Fri,  4 Apr 2025 14:53:36 +0200
Dominik Csapak <d.csapak@proxmox.com> wrote:

> since they make some problems (e.g. windows hybrid shutdown is enabled
> by default then -> which makes vGPU problem). Libvirt/virsh also
> disables that by default (and tries preventing enabling it.)
> 
> This series introduces a new pve1 version for 9.2 machine versions, and
> pins new windows guests to that. (ignore the edge case for non-version
> pinned machine types on windows, so they'll get always +pve0).
> 
> Additionally I introduce 'enable-s{3,4}' settings so that users can
> still manually enable that (in case it's needed), or disable it for
> older machine types. (non hotpluggable).
> 
> I deliberately did not introduce a GUI option for the enabling of
> S3/S4 power states, since I don't think it'll come up often.
> (If it does, we can still add something to the UI)
> 
> changes from v2:
> * style nits fixed (too long lines, etc)
> * added now missing changes for SEV tests
> * add some more info to docs + machine descriptions
> 
> changes from v1:
> * dropped the RFC for pinning qemu version in tests
>   (was not really related and we can still tackle that when we actually
>   encounter it, e.g. with qemu 10.0)
> * dropped the saving of the pve machine version in the meta info
>   (just ignore that case and assign pve0)
> * remove globalFlags instead of fixing it's use (there was only
>   one user anyway)
> * move pveX pinning logic into windows_get_pinned_machine_version
> * add pveX versiosn to qemu/machine capabilities api call
> * add general description for pveX machine versions
> * add docs patch to explain +pveX versions
> 
> qemu-server:
> 
> Dominik Csapak (8):
>   tests: cfg2cmd: add test for windows machine pinning from meta info
>   config to command: get rid of globalFlags
>   machine: correctly select pve machine version for non pinned windows
>     guests
>   machine: incorporate pve machine version when pinning windows guests
>   machine: add S3/S4 power state properties
>   machine: bump pve machine version and reverse the s3/s4 defaults
>   api: qemu machine capabilities: add custom pveX versions too
>   api: qemu machine capabilities: add description for pveX variants
> 
>  PVE/API2/Qemu/Machine.pm                      | 37 +++++++++-
>  PVE/QemuServer.pm                             |  8 ++-
>  PVE/QemuServer/Machine.pm                     | 72 +++++++++++++++++--
>  test/cfg2cmd/bootorder-empty.conf.cmd         |  4 +-
>  test/cfg2cmd/bootorder-legacy.conf.cmd        |  4 +-
>  test/cfg2cmd/bootorder.conf.cmd               |  4 +-
>  ...putype-icelake-client-deprecation.conf.cmd |  4 +-
>  .../custom-cpu-model-defaults.conf.cmd        |  4 +-
>  .../custom-cpu-model-host-phys-bits.conf.cmd  |  4 +-
>  test/cfg2cmd/custom-cpu-model.conf.cmd        |  4 +-
>  test/cfg2cmd/efi-raw-template.conf.cmd        |  4 +-
>  test/cfg2cmd/efi-raw.conf.cmd                 |  4 +-
>  test/cfg2cmd/efi-secboot-and-tpm-q35.conf.cmd |  4 +-
>  test/cfg2cmd/efi-secboot-and-tpm.conf.cmd     |  4 +-
>  test/cfg2cmd/efidisk-on-rbd.conf.cmd          |  4 +-
>  test/cfg2cmd/i440fx-viommu-virtio.conf.cmd    |  4 +-
>  test/cfg2cmd/i440fx-win10-hostpci.conf.cmd    |  4 +-
>  test/cfg2cmd/ide.conf.cmd                     |  4 +-
>  .../cfg2cmd/memory-hotplug-hugepages.conf.cmd |  4 +-
>  test/cfg2cmd/memory-hotplug.conf.cmd          |  4 +-
>  test/cfg2cmd/memory-hugepages-1g.conf.cmd     |  4 +-
>  test/cfg2cmd/memory-hugepages-2m.conf.cmd     |  4 +-
>  test/cfg2cmd/minimal-defaults.conf.cmd        |  4 +-
>  test/cfg2cmd/netdev-7.1-multiqueues.conf.cmd  |  4 +-
>  test/cfg2cmd/netdev-7.1.conf.cmd              |  4 +-
>  test/cfg2cmd/q35-ide.conf.cmd                 |  4 +-
>  .../q35-linux-hostpci-mapping.conf.cmd        |  4 +-
>  .../q35-linux-hostpci-multifunction.conf.cmd  |  4 +-
>  .../q35-linux-hostpci-template.conf.cmd       |  4 +-
>  ...q35-linux-hostpci-x-pci-overrides.conf.cmd |  4 +-
>  test/cfg2cmd/q35-linux-hostpci.conf.cmd       |  4 +-
>  test/cfg2cmd/q35-simple.conf.cmd              |  4 +-
>  test/cfg2cmd/q35-viommu-intel.conf.cmd        |  4 +-
>  test/cfg2cmd/q35-viommu-virtio.conf.cmd       |  4 +-
>  test/cfg2cmd/q35-win10-hostpci.conf.cmd       |  4 +-
>  test/cfg2cmd/q35-windows-pinning.conf         |  5 ++
>  test/cfg2cmd/q35-windows-pinning.conf.cmd     | 24 +++++++
>  test/cfg2cmd/seabios_serial.conf.cmd          |  4 +-
>  test/cfg2cmd/sev-es.conf.cmd                  |  4 +-
>  test/cfg2cmd/sev-snp.conf.cmd                 |  4 +-
>  test/cfg2cmd/sev-std.conf.cmd                 |  4 +-
>  test/cfg2cmd/simple-btrfs.conf.cmd            |  4 +-
>  test/cfg2cmd/simple-virtio-blk.conf.cmd       |  4 +-
>  test/cfg2cmd/simple1-template.conf.cmd        |  4 +-
>  test/cfg2cmd/simple1.conf.cmd                 |  4 +-
>  test/cfg2cmd/spice-win.conf.cmd               |  4 +-
>  test/cfg2cmd/vnc-clipboard-spice.conf.cmd     |  4 +-
>  test/cfg2cmd/vnc-clipboard-std.conf.cmd       |  4 +-
>  48 files changed, 260 insertions(+), 58 deletions(-)
>  create mode 100644 test/cfg2cmd/q35-windows-pinning.conf
>  create mode 100644 test/cfg2cmd/q35-windows-pinning.conf.cmd
> 
> pve-docs:
> 
> Dominik Csapak (1):
>   qm: pve machine version: add section to explain +pveX versions
> 
>  qm.adoc | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [pve-devel] [PATCH docs v3 1/1] qm: pve machine version: add section to explain +pveX versions
  2025-04-04 12:53 ` [pve-devel] [PATCH docs v3 1/1] qm: pve machine version: add section to explain +pveX versions Dominik Csapak
@ 2025-04-04 16:08   ` Stoiko Ivanov
  0 siblings, 0 replies; 13+ messages in thread
From: Stoiko Ivanov @ 2025-04-04 16:08 UTC (permalink / raw)
  To: Dominik Csapak; +Cc: Proxmox VE development discussion

some suggestions for rephrasings inline:
On Fri,  4 Apr 2025 14:53:45 +0200
Dominik Csapak <d.csapak@proxmox.com> wrote:

> and clarify what windows guests will be pinned to.
> 
> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
> ---
> changes from v2:
> * mention that windows gets pinned during guest creation
> 
>  qm.adoc | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 
> diff --git a/qm.adoc b/qm.adoc
> index 2617a7c..ff49c37 100644
> --- a/qm.adoc
> +++ b/qm.adoc
> @@ -173,6 +173,21 @@ This means that after a fresh start, the newest machine version supported by the
>  QEMU binary is used (e.g. the newest machine version QEMU 8.1 supports is
>  version 8.1 for each machine type).
>  
> +PVE Machine Version
> ++++++++++++++++++++
> +
> +Sometimes it's necessary to introduce new defaults or change the existing
> +hardware layout for new guests. For this, we have introduces an additional 'pve
s/introduces/introduced/
but on a meta-level:
https://pve.proxmox.com/wiki/Technical_Writing_Style_Guide#Avoid_first_person

Maybe something like:
Some changes to the default settings or hardware layout are done by {pve}
on top of QEMU's defaults. Those are recorded in the 'pve machine
version'. 
?

> +machine version'. This version begins with 0 with every new QEMU machine
> +version, for example 'pc-q35-9.2+pve0'. When we want to change the hardware
> +layout or a default option, we bump it to the next one (e.g.
> +'pc-q35-9.2+pve1'), so older running guests are not impacted. When pinning a
When a change is done the number after +pve is increased (e.g.
'pc-q35-9.2+pve1') in order to not impact older running guests.

> +guest to a specific machine, this can be omitted. In that case it defaults to
> +0.
If omitted the 'pve machine version' defaults to 0.

> +
> +Windows guests get pinned to the most current version that is available for the
> +specific machine version during guest creation.
We have a similar statement in the paragraph above (for the qemu-machine
version) - maybe shorten this to:
Windows guests 'pve machine version' is pinnned, along with the QEMU
version during guest creation.



> +
>  QEMU Machine Version Deprecation
>  ++++++++++++++++++++++++++++++++
>  



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [pve-devel] applied-series: [PATCH qemu-server/docs v3] disable S3/S4 power states by default
  2025-04-04 12:53 [pve-devel] [PATCH qemu-server/docs v3] disable S3/S4 power states by default Dominik Csapak
                   ` (9 preceding siblings ...)
  2025-04-04 15:56 ` [pve-devel] [PATCH qemu-server/docs v3] disable S3/S4 power states by default Stoiko Ivanov
@ 2025-04-06 17:46 ` Thomas Lamprecht
  10 siblings, 0 replies; 13+ messages in thread
From: Thomas Lamprecht @ 2025-04-06 17:46 UTC (permalink / raw)
  To: Proxmox VE development discussion, Dominik Csapak

Am 04.04.25 um 14:53 schrieb Dominik Csapak:> qemu-server:
> 
> Dominik Csapak (8):
>   tests: cfg2cmd: add test for windows machine pinning from meta info
>   config to command: get rid of globalFlags
>   machine: correctly select pve machine version for non pinned windows
>     guests
>   machine: incorporate pve machine version when pinning windows guests
>   machine: add S3/S4 power state properties
>   machine: bump pve machine version and reverse the s3/s4 defaults
>   api: qemu machine capabilities: add custom pveX versions too
>   api: qemu machine capabilities: add description for pveX variants

applied series, thanks!

Tracking the changes of PVE versions is definitively filling a missing
piece. I rework that handling a bit in a follow-up, unifying the two
hashes to avoid running out of sync and also trying to make querying it
slightly easier (e.g., no need for counter for-loop). Another check
might be warranted to ensure I did not overlook something.

The docs I rewrote mostly completely, to make the PVE machines a sub
point of the overall machine version, as they are not really different,
but only extend the mechanism we already used by something we can
directly control. I tried to extend the previously existing machine
version to also describe that we use that version for deciding what
to enabled/change on the PVE side, i.e., not just what QEMU exposes,
and also reduce some implementation details; another read would be
great here too, when reworking parts locally thrice or more one
starts to get to close to matter to see all obvious issues with
the changes.

While at it, I replaced the first-person plural (we) use with third
person indicative mood as documented in our style guide [0].

[0]: https://pve.proxmox.com/wiki/Technical_Writing_Style_Guide#Person_and_Mood


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2025-04-06 17:46 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-04-04 12:53 [pve-devel] [PATCH qemu-server/docs v3] disable S3/S4 power states by default Dominik Csapak
2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 1/8] tests: cfg2cmd: add test for windows machine pinning from meta info Dominik Csapak
2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 2/8] config to command: get rid of globalFlags Dominik Csapak
2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 3/8] machine: correctly select pve machine version for non pinned windows guests Dominik Csapak
2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 4/8] machine: incorporate pve machine version when pinning " Dominik Csapak
2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 5/8] machine: add S3/S4 power state properties Dominik Csapak
2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 6/8] machine: bump pve machine version and reverse the s3/s4 defaults Dominik Csapak
2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 7/8] api: qemu machine capabilities: add custom pveX versions too Dominik Csapak
2025-04-04 12:53 ` [pve-devel] [PATCH qemu-server v3 8/8] api: qemu machine capabilities: add description for pveX variants Dominik Csapak
2025-04-04 12:53 ` [pve-devel] [PATCH docs v3 1/1] qm: pve machine version: add section to explain +pveX versions Dominik Csapak
2025-04-04 16:08   ` Stoiko Ivanov
2025-04-04 15:56 ` [pve-devel] [PATCH qemu-server/docs v3] disable S3/S4 power states by default Stoiko Ivanov
2025-04-06 17:46 ` [pve-devel] applied-series: " Thomas Lamprecht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal