*** Bug 1857668 has been marked as a duplicate of this bug. ***
https://www.mail-archive.com/qemu-devel@nongnu.org/msg765615.html
Set 'Verified:Tested,SanityOnly' as gating/tier1 test pass with 'qemu-kvm-6.0.0-22.module+el8.5.0+11695+95588379' pass.
Should I add this to the 8.5 errata? If yes, please add a NEEDINFO on me.
Verified device virtio-scsi-pci and virtio-blk-pci, it meet expected result. Red Hat Enterprise Linux release 8.5 Beta (Ootpa) 4.18.0-315.el8.x86_64 qemu-kvm-common-6.0.0-21.module+el8.5.0+11555+e0ab0d09.x86_64 /usr/libexec/qemu-kvm \ -name testvm \ -machine q35 \ -m 8G \ -smp 8 \ -cpu host,vmx,+kvm_pv_unhalt \ -device qemu-xhci,id=usb1 \ -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 \ \ -device pcie-root-port,id=pcie-root-port-0,multifunction=on,bus=pcie.0,addr=0x3,chassis=1 \ -device pcie-root-port,id=pcie-root-port-1,port=0x1,addr=0x3.0x1,bus=pcie.0,chassis=2 \ -device pcie-root-port,id=pcie-root-port-2,port=0x2,addr=0x3.0x2,bus=pcie.0,chassis=3 \ -device pcie-root-port,id=pcie-root-port-3,port=0x3,addr=0x3.0x3,bus=pcie.0,chassis=4 \ -device pcie-root-port,id=pcie-root-port-4,port=0x4,addr=0x3.0x4,bus=pcie.0,chassis=5 \ -device pcie-root-port,id=pcie-root-port-5,port=0x5,addr=0x3.0x5,bus=pcie.0,chassis=6 \ -device pcie-root-port,id=pcie-root-port-6,port=0x6,addr=0x3.0x6,bus=pcie.0,chassis=7 \ -device pcie-root-port,id=pcie-root-port-7,port=0x7,addr=0x3.0x7,bus=pcie.0,chassis=8 \ -device virtio-scsi-pci,id=scsi0,bus=pcie-root-port-5,aer=on,ats=on \ \ -blockdev driver=qcow2,file.driver=file,cache.direct=off,cache.no-flush=on,file.filename=/home/kvm_autotest_root/images/rhel850-64-virtio.qcow2,node-name=drive_image1 \ -device virtio-blk-pci,id=os,drive=drive_image1,bus=pcie-root-port-3,bootindex=0,serial=OS_DISK \ \ -blockdev driver=qcow2,file.driver=file,file.filename=/home/kvm_autotest_root/images/data1.qcow2,node-name=data_image1 \ -device virtio-blk-pci,id=data1,drive=data_image1,bus=pcie-root-port-4,bootindex=1,aer=on,ats=on,serial=DATA_DISK1 \ \ -vnc :5 \ -monitor stdio \ -qmp tcp:0:5955,server=on,wait=off \ -device virtio-net-pci,mac=9a:b5:b6:b1:b2:b7,id=idMmq1jH,vectors=4,netdev=idxgXAlm,bus=pcie-root-port-7 \ -netdev tap,id=idxgXAlm \ -chardev socket,id=qmp_id_qmpmonitor1,path=/var/tmp/monitor-qmp7.log,server=on,wait=off \ -mon chardev=qmp_id_qmpmonitor1,mode=control \ -chardev file,path=/var/tmp/monitor-serial7.log,id=serial_id_serial0 \ -device isa-serial,chardev=serial_id_serial0 \ -D debug.log \ -boot menu=on,reboot-timeout=1000 \ \ root@vm-198-107 /home $ lspci -s 05:00.0 -v 05:00.0 SCSI storage controller: Red Hat, Inc. Virtio block device (rev 01) Subsystem: Red Hat, Inc. Device 1100 Physical Slot: 0-4 Flags: bus master, fast devsel, latency 0, IRQ 23 Memory at fe000000 (32-bit, non-prefetchable) [size=4K] Memory at fc600000 (64-bit, prefetchable) [size=16K] Capabilities: [dc] MSI-X: Enable+ Count=9 Masked- Capabilities: [c8] Vendor Specific Information: VirtIO: <unknown> Capabilities: [b4] Vendor Specific Information: VirtIO: Notify Capabilities: [a4] Vendor Specific Information: VirtIO: DeviceCfg Capabilities: [94] Vendor Specific Information: VirtIO: ISR Capabilities: [84] Vendor Specific Information: VirtIO: CommonCfg Capabilities: [7c] Power Management version 3 Capabilities: [40] Express Endpoint, MSI 00 Capabilities: [100] Advanced Error Reporting Capabilities: [148] Address Translation Service (ATS) Kernel driver in use: virtio-pci root@vm-198-107 /home $ lspci -s 06:00.0 -v 06:00.0 SCSI storage controller: Red Hat, Inc. Virtio SCSI (rev 01) Subsystem: Red Hat, Inc. Device 1100 Physical Slot: 0-5 Flags: bus master, fast devsel, latency 0, IRQ 23 Memory at fde00000 (32-bit, non-prefetchable) [size=4K] Memory at fc400000 (64-bit, prefetchable) [size=16K] Capabilities: [dc] MSI-X: Enable+ Count=11 Masked- Capabilities: [c8] Vendor Specific Information: VirtIO: <unknown> Capabilities: [b4] Vendor Specific Information: VirtIO: Notify Capabilities: [a4] Vendor Specific Information: VirtIO: DeviceCfg Capabilities: [94] Vendor Specific Information: VirtIO: ISR Capabilities: [84] Vendor Specific Information: VirtIO: CommonCfg Capabilities: [7c] Power Management version 3 Capabilities: [40] Express Endpoint, MSI 00 Capabilities: [100] Advanced Error Reporting Capabilities: [148] Address Translation Service (ATS) Kernel driver in use: virtio-pci root@vm-198-107 /home $ lspci -s 00:03.0 -v 00:03.0 PCI bridge: Red Hat, Inc. QEMU PCIe Root port (prog-if 00 [Normal decode]) Flags: bus master, fast devsel, latency 0, IRQ 23 Memory at fea15000 (32-bit, non-prefetchable) [size=4K] Bus: primary=00, secondary=01, subordinate=01, sec-latency=0 I/O behind bridge: 00001000-00001fff [size=4K] Memory behind bridge: fe800000-fe9fffff [size=2M] Prefetchable memory behind bridge: 00000000fce00000-00000000fcffffff [size=2M] Capabilities: [54] Express Root Port (Slot+), MSI 00 Capabilities: [48] MSI-X: Enable+ Count=1 Masked- Capabilities: [40] Subsystem: Red Hat, Inc. Device 0000 Capabilities: [100] Advanced Error Reporting < --- enable default ? Capabilities: [148] Access Control Services Kernel driver in use: pcieport
Checked with vsock device: Host: RHEL.8.5.0 kernel: 4.18.0-319.el8.x86_64 qemu-kvm: qemu-kvm-6.0.0-22.module+el8.5.0+11695+95588379.x86_64 Command line: /usr/libexec/qemu-kvm \ -name 'l1-rhel8' \ -machine q35 \ -cpu host,svm \ -m 8192 \ -smp 12,maxcpus=12,cores=6,threads=1,sockets=2 \ -nodefaults \ -device pcie-root-port,id=pcie-root-port-0,multifunction=on,bus=pcie.0,addr=0x1,chassis=1 \ -device pcie-pci-bridge,id=pcie-pci-bridge-0,addr=0x0,bus=pcie-root-port-0 \ -device pcie-root-port,id=pcie-root-port-1,port=0x4,addr=0x1.0x4,bus=pcie.0,chassis=2 \ -device vhost-vsock-pci,id=vhost_vsock0,guest-cid=3,bus=pcie-root-port-1,addr=0x0,aer=on,ats=on \ -device VGA,bus=pcie.0,addr=0x2 \ -device qemu-xhci,id=usb1,bus=pcie.0,addr=0x3 \ -drive id=drive_image1,if=none,snapshot=off,aio=threads,cache=none,format=qcow2,file=/home/kvm_autotest_root/images/rhel850-64-virtio-scsi.qcow2 \ -device virtio-blk-pci,id=image1,drive=drive_image1,bootindex=0,serial=SYSTEM_DISK0,bus=pcie.0,addr=0x4 \ -device virtio-net-pci,mac=9a:ff:43:39:cd:8b,id=idO4Skpc,netdev=idpmLptO,bus=pcie.0,addr=0x5 \ -netdev tap,id=idpmLptO,vhost=on \ -vnc :1 \ -rtc base=localtime,clock=host,driftfix=slew \ -boot order=cdn,once=d,menu=off,strict=off \ -enable-kvm \ -monitor stdio -qmp tcp:0:6666,server,nowait \ In guest vm: # lspci -s 03:00.0 -v 03:00.0 Communication controller: Red Hat, Inc. Virtio socket (rev 01) Subsystem: Red Hat, Inc. Device 1100 Physical Slot: 0-1 Flags: bus master, fast devsel, latency 0, IRQ 21 Memory at fe600000 (32-bit, non-prefetchable) [size=4K] Memory at fe000000 (64-bit, prefetchable) [size=16K] Capabilities: [dc] MSI-X: Enable+ Count=3 Masked- Capabilities: [c8] Vendor Specific Information: VirtIO: <unknown> Capabilities: [b4] Vendor Specific Information: VirtIO: Notify Capabilities: [a4] Vendor Specific Information: VirtIO: DeviceCfg Capabilities: [94] Vendor Specific Information: VirtIO: ISR Capabilities: [84] Vendor Specific Information: VirtIO: CommonCfg Capabilities: [7c] Power Management version 3 Capabilities: [40] Express Endpoint, MSI 00 Capabilities: [100] Advanced Error Reporting Capabilities: [148] Address Translation Service (ATS) Kernel driver in use: virtio-pci
Tested virtio-balloon device with both rhel8.5 and win2022 guest, AER and ATS capabilities are present inside guest, and balloon function works well. Packages: qemu-kvm-6.0.0-22.module+el8.5.0+11695+95588379 kernel-4.18.0-318.el8.x86_64 QEMU cli: # /usr/libexec/qemu-kvm \ -name 'avocado-vt-vm1' \ -machine q35 \ -device pcie-root-port,id=pcie.0-root-port-5,slot=5,chassis=5,addr=0x5,bus=pcie.0 \ -device virtio-balloon-pci,id=balloon0,bus=pcie.0-root-port-5,aer=on,ats=on \ ... RHEL8.5 guest: # lspci -s 03:00.0 -v 03:00.0 Unclassified device [00ff]: Red Hat, Inc. Virtio memory balloon (rev 01) ... Capabilities: [100] Advanced Error Reporting Capabilities: [148] Address Translation Service (ATS) Kernel driver in use: virtio-pci Win2022 guest: The value of AER and ATS of balloon device is true.
Check with virtio-rng device PASS: 4.18.0-321.el8.x86_64 qemu-kvm-6.0.0-23.module+el8.5.0+11740+35571f13.x86_64 QEMU Command line: /usr/libexec/qemu-kvm \ -name 'RHEL.8.5.0' \ -sandbox on \ -machine q35 \ ...... -device pcie-root-port,id=pcie_extra_root_port_0,multifunction=on,bus=pcie.0,addr=0x3,chassis=5,hotplug=off \ -object rng-builtin,id=obj0 \ -device virtio-rng-pci,rng=obj0,id=rng0,bus=pcie_extra_root_port_0,addr=0x0,aer=on,ats=on \ ...... RHEL 8.5 guest: # lspci -s 06:00.0 -v 06:00.0 Unclassified device [00ff]: Red Hat, Inc. Virtio RNG (rev 01) Subsystem: Red Hat, Inc. Device 1100 Flags: bus master, fast devsel, latency 0, IRQ 23 Memory at fe200000 (64-bit, prefetchable) [size=16K] Capabilities: [c8] Vendor Specific Information: VirtIO: <unknown> Capabilities: [b4] Vendor Specific Information: VirtIO: Notify Capabilities: [a4] Vendor Specific Information: VirtIO: DeviceCfg Capabilities: [94] Vendor Specific Information: VirtIO: ISR Capabilities: [84] Vendor Specific Information: VirtIO: CommonCfg Capabilities: [7c] Power Management version 3 Capabilities: [40] Express Endpoint, MSI 00 Capabilities: [100] Advanced Error Reporting Capabilities: [148] Address Translation Service (ATS) Kernel driver in use: virtio-pci
Check with virtio-serial-pci device PASS with both rhel8.5 and win2019 guest, AER and ATS capabilities are present inside guest: Test Environments: qemu-kvm-6.0.0-22.module+el8.5.0+11695+95588379 4.18.0-323.el8.x86_64 Test qemu cmdline: /usr/libexec/qemu-kvm \ -machine q35 \ -device pcie-root-port,id=pcie-root-port-0,multifunction=on,bus=pcie.0,addr=0x1,chassis=1 \ ...... -device pcie-root-port,id=pcie-root-port-4,port=0x4,addr=0x1.0x4,bus=pcie.0,chassis=5 \ -device virtio-serial-pci,id=virtio_serial_pci0,bus=pcie-root-port-4,addr=0x0,aer=on,ats=on \ -device virtserialport,id=vs1,name=vs1,chardev=chardev_vs1,bus=virtio_serial_pci0.0,nr=1 \ -chardev socket,wait=off,server=on,id=chardev_vs1,path=/tmp/serial-vs1 \ RHEL8.5.0 guest: # lspci -s 06:00.0 -v 06:00.0 Communication controller: Red Hat, Inc. Virtio console (rev 01) Subsystem: Red Hat, Inc. Device 1100 Physical Slot: 0-4 Flags: bus master, fast devsel, latency 0, IRQ 21 Memory at fe000000 (32-bit, non-prefetchable) [size=4K] Memory at fd000000 (64-bit, prefetchable) [size=16K] Capabilities: [dc] MSI-X: Enable+ Count=2 Masked- Capabilities: [c8] Vendor Specific Information: VirtIO: <unknown> Capabilities: [b4] Vendor Specific Information: VirtIO: Notify Capabilities: [a4] Vendor Specific Information: VirtIO: DeviceCfg Capabilities: [94] Vendor Specific Information: VirtIO: ISR Capabilities: [84] Vendor Specific Information: VirtIO: CommonCfg Capabilities: [7c] Power Management version 3 Capabilities: [40] Express Endpoint, MSI 00 Capabilities: [100] Advanced Error Reporting Capabilities: [148] Address Translation Service (ATS) Kernel driver in use: virtio-pci Win2019 guest: The value of AER and ATS of the Virtio Serial device is present. Best regards Liu Nana
Verified device virtio-gpu-pci,virtio-scsi-pci,virtio-net-pci,vhost-vsock-pci on aarch64, it meet expected result. Packages: qemu-kvm:qemu-kvm-6.0.0-22.module+el8.5.0+11695+95588379 host kernel: 4.18.0-323.el8.aarch64 guest kernel:4.18.0-321.el8.aarch64 QEMU cli: /usr/libexec/qemu-kvm \ -name 'avocado-vt-vm1' \ -sandbox on \ -blockdev node-name=file_aavmf_code,driver=file,filename=/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw,auto-read-only=on,discard=unmap \ -blockdev node-name=drive_aavmf_code,driver=raw,read-only=on,file=file_aavmf_code \ -blockdev node-name=file_aavmf_vars,driver=file,filename=/home/kvm_autotest_root/images/avocado-vt-vm1_rhel850-aarch64-virtio-scsi.qcow2_VARS.fd,auto-read-only=on,discard=unmap \ -blockdev node-name=drive_aavmf_vars,driver=raw,read-only=off,file=file_aavmf_vars \ -machine virt,gic-version=host,pflash0=drive_aavmf_code,pflash1=drive_aavmf_vars \ -device pcie-root-port,id=pcie-root-port-0,multifunction=on,bus=pcie.0,addr=0x1,chassis=1 \ -device pcie-pci-bridge,id=pcie-pci-bridge-0,addr=0x0,bus=pcie-root-port-0 \ -nodefaults \ -device pcie-root-port,id=pcie-root-port-1,port=0x1,addr=0x1.0x1,bus=pcie.0,chassis=2 \ -device virtio-gpu-pci,bus=pcie-root-port-1,addr=0x0,aer=on,ats=on \ -m 4096 \ -cpu 'host' \ -object memory-backend-file,size=4G,mem-path=/dev/shm,share=yes,id=mem-mem1 \ -smp 8,cores=4,threads=1,sockets=2 \ -numa node,memdev=mem-mem1,nodeid=0 \ -chardev socket,server=on,wait=off,path=/tmp/monitor-qmpmonitor1-20210726-015313-pjmkEDXd,id=qmp_id_qmpmonitor1 \ -mon chardev=qmp_id_qmpmonitor1,mode=control \ -chardev socket,server=on,wait=off,path=/tmp/monitor-catch_monitor-20210726-015313-pjmkEDXd,id=qmp_id_catch_monitor \ -mon chardev=qmp_id_catch_monitor,mode=control \ -serial unix:'/tmp/serial-serial0-20210726-015313-pjmkEDXd',server=on,wait=off \ -device pcie-root-port,id=pcie-root-port-2,port=0x2,addr=0x1.0x2,bus=pcie.0,chassis=3 \ -device qemu-xhci,id=usb1,bus=pcie-root-port-2,addr=0x0 \ -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 \ -device pcie-root-port,id=pcie-root-port-3,port=0x3,addr=0x1.0x3,bus=pcie.0,chassis=4 \ -device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pcie-root-port-3,addr=0x0,aer=on,ats=on \ -blockdev node-name=file_image1,driver=file,auto-read-only=on,discard=unmap,aio=threads,filename=/home/kvm_autotest_root/images/rhel850-aarch64-virtio-scsi.qcow2,cache.direct=on,cache.no-flush=off \ -blockdev node-name=drive_image1,driver=qcow2,read-only=off,cache.direct=on,cache.no-flush=off,file=file_image1 \ -device scsi-hd,id=image1,drive=drive_image1,write-cache=on \ -device pcie-root-port,id=pcie-root-port-4,port=0x4,addr=0x1.0x4,bus=pcie.0,chassis=5 \ -device virtio-net-pci,mac=9a:4f:d5:a5:94:63,rombar=0,id=idffttea,netdev=idCyKEVR,bus=pcie-root-port-4,addr=0x0,aer=on,ats=on \ -netdev tap,id=idCyKEVR,vhost=on \ -device pcie-root-port,id=pcie-root-port-5,port=0x5,addr=0x1.0x5,bus=pcie.0,chassis=6 \ -device vhost-vsock-pci,id=vhost_vsock0,guest-cid=3,bus=pcie-root-port-5,addr=0x0,aer=on,ats=on \ -vnc :20 \ -rtc base=utc,clock=host,driftfix=slew \ -enable-kvm \ -monitor stdio RHEL8.5 guest: 03:00.0 -device virtio-gpu-pci,bus=pcie-root-port-1,addr=0x0,aer=on,ats=on \ 05:00.0 -device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pcie-root-port-3,addr=0x0,aer=on,ats=on \ 06:00.0 -device virtio-net-pci,mac=9a:4f:d5:a5:94:63,rombar=0,id=idffttea,netdev=idCyKEVR,bus=pcie-root-port-4,addr=0x0,aer=on,ats=on \ 07:00.0 -device vhost-vsock-pci,id=vhost_vsock0,guest-cid=3,bus=pcie-root-port-5,addr=0x0,aer=on,ats=on 03:00.0 Display controller: Red Hat, Inc. Virtio GPU (rev 01) ... Capabilities: [100] Advanced Error Reporting Capabilities: [148] Address Translation Service (ATS) Kernel driver in use: virtio-pci 05:00.0 SCSI storage controller: Red Hat, Inc. Virtio SCSI (rev 01) ... Capabilities: [100] Advanced Error Reporting Capabilities: [148] Address Translation Service (ATS) Kernel driver in use: virtio-pci 06:00.0 Ethernet controller: Red Hat, Inc. Virtio network device (rev 01) ... Capabilities: [100] Advanced Error Reporting Capabilities: [148] Address Translation Service (ATS) Kernel driver in use: virtio-pci 07:00.0 Communication controller: Red Hat, Inc. Virtio socket (rev 01) ... Capabilities: [100] Advanced Error Reporting Capabilities: [148] Address Translation Service (ATS) Kernel driver in use: virtio-pci
Verified device virtio-balloon,virtio-serial-pci,virtio-blk-pci,virtio-rng on aarch64, it meet expected result. Packages: qemu-kvm:qemu-kvm-6.0.0-22.module+el8.5.0+11695+95588379 host kernel: 4.18.0-323.el8.aarch64 guest kernel:4.18.0-321.el8.aarch64 QEMU cli: /usr/libexec/qemu-kvm \ -machine virt,gic-version=host,pflash0=drive_aavmf_code,pflash1=drive_aavmf_vars \ -device pcie-root-port,id=pcie-root-port-0,multifunction=on,bus=pcie.0,addr=0x1,chassis=1 \ -device pcie-pci-bridge,id=pcie-pci-bridge-0,addr=0x0,bus=pcie-root-port-0 \ ...... -device pcie-root-port,id=pcie-root-port-1,port=0x1,addr=0x1.0x1,bus=pcie.0,chassis=2 \ -device virtio-balloon-pci,id=balloon0,bus=pcie-root-port-1,addr=0x0,aer=on,ats=on \ ...... -device pcie-root-port,id=pcie-root-port-2,port=0x2,addr=0x1.0x2,bus=pcie.0,chassis=3 \ -device virtio-serial-pci,id=virtio_serial_pci0,bus=pcie-root-port-2,addr=0x0,aer=on,ats=on \ -device virtserialport,id=vs1,name=vs1,chardev=chardev_vs1,bus=virtio_serial_pci0.0,nr=1 \ -chardev socket,wait=off,server=on,id=chardev_vs1,path=/tmp/serial-serial0-20210726-015313-pjmkEDXd \ ...... -blockdev node-name=file_image1,driver=file,auto-read-only=on,discard=unmap,aio=threads,filename=/home/kvm_autotest_root/images/rhel850-aarch64-virtio-scsi.qcow2,cache.direct=on,cache.no-flush=off \ -blockdev node-name=drive_image1,driver=qcow2,read-only=off,cache.direct=on,cache.no-flush=off,file=file_image1 \ -device pcie-root-port,id=pcie-root-port-3,port=0x3,addr=0x1.0x3,bus=pcie.0,chassis=4 \ -device virtio-blk-pci,id=image1,drive=drive_image1,bootindex=0,write-cache=on,bus=pcie-root-port-3,addr=0x0,aer=on,ats=on \ ...... -device pcie-root-port,id=pcie-root-port-5,port=0x5,addr=0x1.0x5,bus=pcie.0,chassis=6 \ -object rng-builtin,id=obj0 \ -device virtio-rng-pci,rng=obj0,id=rng0,bus=pcie-root-port-5,addr=0x0,aer=on,ats=on \ RHEL8.5 guest: 03:00.0 -device virtio-balloon-pci,id=balloon0,bus=pcie-root-port-1,addr=0x0,aer=on,ats=on \ 04:00.0 -device virtio-serial-pci,id=virtio_serial_pci0,bus=pcie-root-port-2,addr=0x0,aer=on,ats=on \ 05:00.0 -device virtio-blk-pci,id=image1,drive=drive_image1,bootindex=0,write-cache=on,bus=pcie-root-port-3,addr=0x0,aer=on,ats=on \ 07:00.0 -device virtio-rng-pci,rng=obj0,id=rng0,bus=pcie-root-port-5,addr=0x0,aer=on,ats=on \ 03:00.0 Unclassified device [00ff]: Red Hat, Inc. Virtio memory balloon (rev 01) ... Capabilities: [100] Advanced Error Reporting Capabilities: [148] Address Translation Service (ATS) Kernel driver in use: virtio-pci 04:00.0 Communication controller: Red Hat, Inc. Virtio console (rev 01) ... Capabilities: [100] Advanced Error Reporting Capabilities: [148] Address Translation Service (ATS) Kernel driver in use: virtio-pci 05:00.0 SCSI storage controller: Red Hat, Inc. Virtio block device (rev 01) ... Capabilities: [100] Advanced Error Reporting Capabilities: [148] Address Translation Service (ATS) Kernel driver in use: virtio-pci 07:00.0 Unclassified device [00ff]: Red Hat, Inc. Virtio RNG (rev 01) ... Capabilities: [100] Advanced Error Reporting Capabilities: [148] Address Translation Service (ATS) Kernel driver in use: virtio-pci
Have verified virtio-vga, virtio-tablet-pci, virtio-mouse-pci and virtio-keyboard-pci with ats and aer: package used: qemu-kvm-6.0.0-24.module+el8.5.0+11844+1e3017bd.x86_64 4.18.0-325.el8.x86_64(rhel 8.5 VM) qemu cli used: ... -device virtio-tablet-pci,id=input0,bus=pci.7,addr=0x0,ats=on,aer=on \ -device virtio-mouse-pci,id=input1,bus=pci.8,addr=0x0,ats=on,aer=on \ -device virtio-keyboard-pci,id=input2,bus=pci.9,addr=0x0,ats=on,aer=on \ ... Inside rhel 8.5 vm, check the ats and aer capabilities supported by these devices: For virtio-tablet-pci, virtio-mouse-pci and virtio-keyboard-pci: #lspci ... 01:00.0 Input device controller: Red Hat, Inc. Virtio input (rev 01) 02:00.0 Mouse controller: Red Hat, Inc. Virtio input (rev 01) 03:00.0 Keyboard controller: Red Hat, Inc. Virtio input (rev 01) ... #lspci -v ... 01:00.0 Input device controller: Red Hat, Inc. Virtio input (rev 01) Subsystem: Red Hat, Inc. Device 1100 Physical Slot: 0 ... Capabilities: [100] Advanced Error Reporting Capabilities: [148] Address Translation Service (ATS) Kernel driver in use: virtio-pci 02:00.0 Mouse controller: Red Hat, Inc. Virtio input (rev 01) Subsystem: Red Hat, Inc. Device 1100 Physical Slot: 0-1 ... Capabilities: [100] Advanced Error Reporting Capabilities: [148] Address Translation Service (ATS) Kernel driver in use: virtio-pci 03:00.0 Keyboard controller: Red Hat, Inc. Virtio input (rev 01) Subsystem: Red Hat, Inc. Device 1100 Physical Slot: 0-2 ... Capabilities: [100] Advanced Error Reporting Capabilities: [148] Address Translation Service (ATS) Kernel driver in use: virtio-pci #lspci -tv -[0000:00]-+-00.0 Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller +-01.0-[01]----00.0 Red Hat, Inc. Virtio input +-01.1-[02]----00.0 Red Hat, Inc. Virtio input +-01.2-[03]----00.0 Red Hat, Inc. Virtio input ... For virtio-vga, enable ats and aer will require virtio-vga been put behind pcie-root-port but however video device should be put behind pcie.0 otherwise will impact the vga registers of virtio-vga read by linux VM. So just put virtio-vga to see whether ats and aer can be enabled for virtio-vga: #lspci -tv ... +-02.4-[08]----00.0 Red Hat, Inc. Virtio GPU ... #lspci -v ... 08:00.0 VGA compatible controller: Red Hat, Inc. Virtio GPU (rev 01) (prog-if 00 [VGA controller]) Subsystem: Red Hat, Inc. Device 1100 Physical Slot: 0-7 ... Capabilities: [100] Advanced Error Reporting Capabilities: [148] Address Translation Service (ATS) Kernel driver in use: virtio-pci ... Don't see any impacts to virtio input devices with ats and aer enabled. Also have checked aer and acs for these devices on windowns 10 21H1 VM, AER and ATS capabilities are present inside guest.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (virt:av bug fix and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2021:4684