On 15.01.25 17:14, Reza Arbab wrote:
Most virtio-pci devices allow MSI-X. Add it to virtio-balloon-pci, but
only enable it in new machine types, so we don't break migration of
existing machine types between different qemu versions.
This copies what was done for virtio-rng-pci in:
9ea02e8f1306 ("virtio-rng-pci: Allow setting nvectors, so we can use MSI-X")
bad9c5a5166f ("virtio-rng-pci: fix migration compat for vectors")
62bdb8871512 ("virtio-rng-pci: fix transitional migration compat for vectors")
Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
---
This patch enables the virtio-balloon-pci device to be plugged on s390x.
Before this change, plugging that device would fail with "MSI-X support is
mandatory on s390".
However, the device does not seem to be initialized by the Linux guest:
# lspci -v
0001:00:00.0 Unclassified device [00ff]: Red Hat, Inc. Virtio memory balloon
Subsystem: Red Hat, Inc. Device 0005
Physical Slot: 00000000
Flags: fast devsel, IOMMU group 0
Memory at 4001000000000000 (32-bit, non-prefetchable) [virtual]
[size=4K]
Memory at 4002000000000000 (64-bit, prefetchable) [size=16K]
Capabilities: [98] MSI-X: Enable- Count=2 Masked-
Capabilities: [84] Vendor Specific Information: VirtIO: <unknown>
Capabilities: [70] Vendor Specific Information: VirtIO: Notify
Capabilities: [60] Vendor Specific Information: VirtIO: DeviceCfg
Capabilities: [50] Vendor Specific Information: VirtIO: ISR
Capabilities: [40] Vendor Specific Information: VirtIO: CommonCfg
I tried enabling it:
[ 343.718529] pci 0001:00:00.0: enabling device (0000 -> 0002)
Without any change. @s390x folks, is there something missing to make it fly,
or are there additional steps to initialize+use such devices from inside the VM?