[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 685db1: tests: acpi: dump table with failed c
From: |
Richard Henderson |
Subject: |
[Qemu-commits] [qemu/qemu] 685db1: tests: acpi: dump table with failed checksum |
Date: |
Wed, 20 Oct 2021 10:55:53 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 685db13a38f7599fabd353382ff65d3c244ea641
https://github.com/qemu/qemu/commit/685db13a38f7599fabd353382ff65d3c244ea641
Author: Igor Mammedov <imammedo@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M tests/qtest/acpi-utils.c
Log Message:
-----------
tests: acpi: dump table with failed checksum
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20210902113551.461632-2-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: e741aff0f43343d6d91242fee1072fee376d5cce
https://github.com/qemu/qemu/commit/e741aff0f43343d6d91242fee1072fee376d5cce
Author: Igor Mammedov <imammedo@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M meson.build
M tests/qtest/libqos/libqtest.h
M tests/qtest/libqtest.c
Log Message:
-----------
tests: qtest: add qtest_has_accel() to check if tested binary supports
accelerator
Currently it is not possible to create tests that have KVM as a hard
requirement on a host that doesn't support KVM for tested target
binary (modulo going through the trouble of compiling out
the offending test case).
Following scenario makes test fail when it's run on non x86 host:
qemu-system-x86_64 -enable-kvm -M q35,kernel-irqchip=on -smp 1,maxcpus=288
This patch introduces qtest_has_accel() to let users check if accel is
available in advance and avoid executing non run-able test-cases.
It implements detection of TCG and KVM only, the rest could be
added later on, when we actually start testing them in qtest.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20210902113551.461632-3-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: c306cdb0cc5327f336fbf9a7411f319f0717ee75
https://github.com/qemu/qemu/commit/c306cdb0cc5327f336fbf9a7411f319f0717ee75
Author: Igor Mammedov <imammedo@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
A tests/data/acpi/q35/APIC.xapic
A tests/data/acpi/q35/DSDT.xapic
A tests/data/acpi/q35/FACP.xapic
A tests/data/acpi/q35/SRAT.xapic
M tests/qtest/bios-tables-test-allowed-diff.h
Log Message:
-----------
tests: acpi: whitelist expected tables for acpi/q35/xapic testcase
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20210902113551.461632-4-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 80a2f3387c239d06d4a4b6838b511a88838ddc0f
https://github.com/qemu/qemu/commit/80a2f3387c239d06d4a4b6838b511a88838ddc0f
Author: Igor Mammedov <imammedo@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M tests/qtest/bios-tables-test.c
Log Message:
-----------
tests: acpi: q35: test for x2APIC entries in SRAT
Set -smp 1,maxcpus=288 to test for ACPI code that
deal with CPUs with large APIC ID (>255).
PS:
Test requires KVM and in-kernel irqchip support,
so skip test if KVM is not available.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20210902113551.461632-5-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: b59a898458aea328618521be7dc180d2396c0bf4
https://github.com/qemu/qemu/commit/b59a898458aea328618521be7dc180d2396c0bf4
Author: Igor Mammedov <imammedo@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M tests/data/acpi/q35/APIC.xapic
M tests/data/acpi/q35/DSDT.xapic
M tests/data/acpi/q35/FACP.xapic
M tests/data/acpi/q35/SRAT.xapic
M tests/qtest/bios-tables-test-allowed-diff.h
Log Message:
-----------
tests: acpi: update expected tables blobs
Update adds CPU entries to MADT/SRAT/FACP and DSDT to cover 288 CPUs.
Notable changes are that CPUs with APIC ID 255 and higher
use 'Processor Local x2APIC Affinity' structure in SRAT and
"Device" element in DSDT.
FACP:
- Use APIC Cluster Model (V4) : 0
+ Use APIC Cluster Model (V4) : 1
SRAT:
...
+[1010h 4112 1] Subtable Type : 00 [Processor Local APIC/SAPIC
Affinity]
+[1011h 4113 1] Length : 10
+
+[1012h 4114 1] Proximity Domain Low(8) : 00
+[1013h 4115 1] Apic ID : FE
+[1014h 4116 4] Flags (decoded below) : 00000001
+ Enabled : 1
+[1018h 4120 1] Local Sapic EID : 00
+[1019h 4121 3] Proximity Domain High(24) : 000000
+[101Ch 4124 4] Clock Domain : 00000000
+
+[1020h 4128 1] Subtable Type : 02 [Processor Local x2APIC
Affinity]
+[1021h 4129 1] Length : 18
+
+[1022h 4130 2] Reserved1 : 0000
+[1024h 4132 4] Proximity Domain : 00000001
+[1028h 4136 4] Apic ID : 000000FF
+[102Ch 4140 4] Flags (decoded below) : 00000001
+ Enabled : 1
+[1030h 4144 4] Clock Domain : 00000000
+[1034h 4148 4] Reserved2 : 00000000
...
+[1320h 4896 1] Subtable Type : 02 [Processor Local x2APIC
Affinity]
+[1321h 4897 1] Length : 18
+
+[1322h 4898 2] Reserved1 : 0000
+[1324h 4900 4] Proximity Domain : 00000001
+[1328h 4904 4] Apic ID : 0000011F
+[132Ch 4908 4] Flags (decoded below) : 00000001
+ Enabled : 1
+[1330h 4912 4] Clock Domain : 00000000
+[1334h 4916 4] Reserved2 : 00000000
DSDT:
...
+ Processor (C0FE, 0xFE, 0x00000000, 0x00)
+ {
...
+ }
+
+ Device (C0FF)
+ {
+ Name (_HID, "ACPI0007" /* Processor Device */) // _HID:
Hardware ID
+ Name (_UID, 0xFF) // _UID: Unique ID
...
+ }
+ Device (C11F)
+ {
+ Name (_HID, "ACPI0007" /* Processor Device */) // _HID:
Hardware ID
+ Name (_UID, 0x011F) // _UID: Unique ID
...
+ }
APIC:
+[034h 0052 1] Subtable Type : 00 [Processor Local APIC]
+[035h 0053 1] Length : 08
+[036h 0054 1] Processor ID : 01
+[037h 0055 1] Local Apic ID : 01
+[038h 0056 4] Flags (decoded below) : 00000000
+ Processor Enabled : 0
...
+[81Ch 2076 1] Subtable Type : 00 [Processor Local APIC]
+[81Dh 2077 1] Length : 08
+[81Eh 2078 1] Processor ID : FE
+[81Fh 2079 1] Local Apic ID : FE
+[820h 2080 4] Flags (decoded below) : 00000000
+ Processor Enabled : 0
+
+[824h 2084 1] Subtable Type : 09 [Processor Local x2APIC]
+[825h 2085 1] Length : 10
+[826h 2086 2] Reserved : 0000
+[828h 2088 4] Processor x2Apic ID : 000000FF
+[82Ch 2092 4] Flags (decoded below) : 00000000
+ Processor Enabled : 0
+[830h 2096 4] Processor UID : 000000FF
...
+[A24h 2596 1] Subtable Type : 09 [Processor Local x2APIC]
+[A25h 2597 1] Length : 10
+[A26h 2598 2] Reserved : 0000
+[A28h 2600 4] Processor x2Apic ID : 0000011F
+[A2Ch 2604 4] Flags (decoded below) : 00000000
+ Processor Enabled : 0
+[A30h 2608 4] Processor UID : 0000011F
+
+[A34h 2612 1] Subtable Type : 01 [I/O APIC]
+[A35h 2613 1] Length : 0C
+[A36h 2614 1] I/O Apic ID : 00
+[A37h 2615 1] Reserved : 00
+[A38h 2616 4] Address : FEC00000
+[A3Ch 2620 4] Interrupt : 00000000
+
+[A40h 2624 1] Subtable Type : 02 [Interrupt Source Override]
+[A41h 2625 1] Length : 0A
+[A42h 2626 1] Bus : 00
+[A43h 2627 1] Source : 00
+[A44h 2628 4] Interrupt : 00000002
+[A48h 2632 2] Flags (decoded below) : 0000
Polarity : 0
Trigger Mode : 0
-[04Ah 0074 1] Subtable Type : 02 [Interrupt Source Override]
-[04Bh 0075 1] Length : 0A
-[04Ch 0076 1] Bus : 00
-[04Dh 0077 1] Source : 05
-[04Eh 0078 4] Interrupt : 00000005
-[052h 0082 2] Flags (decoded below) : 000D
+[A4Ah 2634 1] Subtable Type : 02 [Interrupt Source Override]
+[A4Bh 2635 1] Length : 0A
+[A4Ch 2636 1] Bus : 00
+[A4Dh 2637 1] Source : 05
+[A4Eh 2638 4] Interrupt : 00000005
+[A52h 2642 2] Flags (decoded below) : 000D
Polarity : 1
Trigger Mode : 3
-[054h 0084 1] Subtable Type : 02 [Interrupt Source Override]
-[055h 0085 1] Length : 0A
-[056h 0086 1] Bus : 00
-[057h 0087 1] Source : 09
-[058h 0088 4] Interrupt : 00000009
-[05Ch 0092 2] Flags (decoded below) : 000D
+[A54h 2644 1] Subtable Type : 02 [Interrupt Source Override]
+[A55h 2645 1] Length : 0A
+[A56h 2646 1] Bus : 00
+[A57h 2647 1] Source : 09
+[A58h 2648 4] Interrupt : 00000009
+[A5Ch 2652 2] Flags (decoded below) : 000D
Polarity : 1
Trigger Mode : 3
-[05Eh 0094 1] Subtable Type : 02 [Interrupt Source Override]
-[05Fh 0095 1] Length : 0A
-[060h 0096 1] Bus : 00
-[061h 0097 1] Source : 0A
-[062h 0098 4] Interrupt : 0000000A
-[066h 0102 2] Flags (decoded below) : 000D
+[A5Eh 2654 1] Subtable Type : 02 [Interrupt Source Override]
+[A5Fh 2655 1] Length : 0A
+[A60h 2656 1] Bus : 00
+[A61h 2657 1] Source : 0A
+[A62h 2658 4] Interrupt : 0000000A
+[A66h 2662 2] Flags (decoded below) : 000D
Polarity : 1
Trigger Mode : 3
-[068h 0104 1] Subtable Type : 02 [Interrupt Source Override]
-[069h 0105 1] Length : 0A
-[06Ah 0106 1] Bus : 00
-[06Bh 0107 1] Source : 0B
-[06Ch 0108 4] Interrupt : 0000000B
-[070h 0112 2] Flags (decoded below) : 000D
+[A68h 2664 1] Subtable Type : 02 [Interrupt Source Override]
+[A69h 2665 1] Length : 0A
+[A6Ah 2666 1] Bus : 00
+[A6Bh 2667 1] Source : 0B
+[A6Ch 2668 4] Interrupt : 0000000B
+[A70h 2672 2] Flags (decoded below) : 000D
Polarity : 1
Trigger Mode : 3
-[072h 0114 1] Subtable Type : 04 [Local APIC NMI]
-[073h 0115 1] Length : 06
-[074h 0116 1] Processor ID : FF
-[075h 0117 2] Flags (decoded below) : 0000
+[A72h 2674 1] Subtable Type : 0A [Local x2APIC NMI]
+[A73h 2675 1] Length : 0C
+[A74h 2676 2] Flags (decoded below) : 0000
Polarity : 0
Trigger Mode : 0
-[077h 0119 1] Interrupt Input LINT : 01
+[A76h 2678 4] Processor UID : FFFFFFFF
+[A7Ah 2682 1] Interrupt Input LINT : 01
+[A7Bh 2683 3] Reserved : 000000
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20210902113551.461632-6-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: f6826ac4ae2dea392a69fe1ca870a8a27e2bf0ac
https://github.com/qemu/qemu/commit/f6826ac4ae2dea392a69fe1ca870a8a27e2bf0ac
Author: Igor Mammedov <imammedo@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
A tests/data/acpi/q35/DMAR.dmar
M tests/qtest/bios-tables-test-allowed-diff.h
Log Message:
-----------
tests: acpi: whitelist new expected table tests/data/acpi/q35/DMAR.dmar
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20210902113551.461632-7-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 0ff92b6d99011c8de57321503c0eb655c461a217
https://github.com/qemu/qemu/commit/0ff92b6d99011c8de57321503c0eb655c461a217
Author: Igor Mammedov <imammedo@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M tests/qtest/bios-tables-test.c
Log Message:
-----------
tests: acpi: add testcase for intel_iommu (DMAR table)
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20210902113551.461632-8-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 44d3bdd8a6f1ae2a5ca417251736a033900d4c08
https://github.com/qemu/qemu/commit/44d3bdd8a6f1ae2a5ca417251736a033900d4c08
Author: Igor Mammedov <imammedo@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M tests/data/acpi/q35/DMAR.dmar
M tests/qtest/bios-tables-test-allowed-diff.h
Log Message:
-----------
tests: acpi: add expected blob for DMAR table
[000h 0000 4] Signature : "DMAR" [DMA Remapping table]
[004h 0004 4] Table Length : 00000078
[008h 0008 1] Revision : 01
[009h 0009 1] Checksum : 15
[00Ah 0010 6] Oem ID : "BOCHS "
[010h 0016 8] Oem Table ID : "BXPC "
[018h 0024 4] Oem Revision : 00000001
[01Ch 0028 4] Asl Compiler ID : "BXPC"
[020h 0032 4] Asl Compiler Revision : 00000001
[024h 0036 1] Host Address Width : 26
[025h 0037 1] Flags : 01
[026h 0038 10] Reserved : 00 00 00 00 00 00 00 00 00 00
[030h 0048 2] Subtable Type : 0000 [Hardware Unit Definition]
[032h 0050 2] Length : 0040
[034h 0052 1] Flags : 00
[035h 0053 1] Reserved : 00
[036h 0054 2] PCI Segment Number : 0000
[038h 0056 8] Register Base Address : 00000000FED90000
[040h 0064 1] Device Scope Type : 03 [IOAPIC Device]
[041h 0065 1] Entry Length : 08
[042h 0066 2] Reserved : 0000
[044h 0068 1] Enumeration ID : 00
[045h 0069 1] PCI Bus Number : FF
[046h 0070 2] PCI Path : 00,00
[048h 0072 1] Device Scope Type : 01 [PCI Endpoint Device]
[049h 0073 1] Entry Length : 08
[04Ah 0074 2] Reserved : 0000
[04Ch 0076 1] Enumeration ID : 00
[04Dh 0077 1] PCI Bus Number : 00
[04Eh 0078 2] PCI Path : 00,00
[050h 0080 1] Device Scope Type : 01 [PCI Endpoint Device]
[051h 0081 1] Entry Length : 08
[052h 0082 2] Reserved : 0000
[054h 0084 1] Enumeration ID : 00
[055h 0085 1] PCI Bus Number : 00
[056h 0086 2] PCI Path : 01,00
[058h 0088 1] Device Scope Type : 01 [PCI Endpoint Device]
[059h 0089 1] Entry Length : 08
[05Ah 0090 2] Reserved : 0000
[05Ch 0092 1] Enumeration ID : 00
[05Dh 0093 1] PCI Bus Number : 00
[05Eh 0094 2] PCI Path : 1F,00
[060h 0096 1] Device Scope Type : 01 [PCI Endpoint Device]
[061h 0097 1] Entry Length : 08
[062h 0098 2] Reserved : 0000
[064h 0100 1] Enumeration ID : 00
[065h 0101 1] PCI Bus Number : 00
[066h 0102 2] PCI Path : 1F,02
[068h 0104 1] Device Scope Type : 01 [PCI Endpoint Device]
[069h 0105 1] Entry Length : 08
[06Ah 0106 2] Reserved : 0000
[06Ch 0108 1] Enumeration ID : 00
[06Dh 0109 1] PCI Bus Number : 00
[06Eh 0110 2] PCI Path : 1F,03
[070h 0112 2] Subtable Type : 0002 [Root Port ATS Capability]
[072h 0114 2] Length : 0008
[074h 0116 1] Flags : 01
[075h 0117 1] Reserved : 00
[076h 0118 2] PCI Segment Number : 0000
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20210902113551.461632-9-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: c5a7baad2997091c48ec40a2a8efa63f18f9b3b7
https://github.com/qemu/qemu/commit/c5a7baad2997091c48ec40a2a8efa63f18f9b3b7
Author: Igor Mammedov <imammedo@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
A tests/data/acpi/q35/DSDT.ivrs
A tests/data/acpi/q35/IVRS.ivrs
M tests/qtest/bios-tables-test-allowed-diff.h
Log Message:
-----------
tests: acpi: whitelist expected blobs for new acpi/q35/ivrs testcase
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20210902113551.461632-10-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: a4c730cbb284479ec2f7799bbbd7521525553593
https://github.com/qemu/qemu/commit/a4c730cbb284479ec2f7799bbbd7521525553593
Author: Igor Mammedov <imammedo@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M tests/qtest/bios-tables-test.c
Log Message:
-----------
tests: acpi: add testcase for amd-iommu (IVRS table)
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20210902113551.461632-11-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: ef422a14226fd0078bdf61657fdd63099cb49099
https://github.com/qemu/qemu/commit/ef422a14226fd0078bdf61657fdd63099cb49099
Author: Igor Mammedov <imammedo@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M tests/data/acpi/q35/DSDT.ivrs
M tests/data/acpi/q35/IVRS.ivrs
M tests/qtest/bios-tables-test-allowed-diff.h
Log Message:
-----------
tests: acpi: update expected blobs
DSDT:
+ Device (S10)
+ {
+ Name (_ADR, 0x00020000) // _ADR: Address
+ }
New IVRS table:
[000h 0000 4] Signature : "IVRS" [I/O Virtualization
Reporting Structure]
[004h 0004 4] Table Length : 00000068
[008h 0008 1] Revision : 01
[009h 0009 1] Checksum : 43
[00Ah 0010 6] Oem ID : "BOCHS "
[010h 0016 8] Oem Table ID : "BXPC "
[018h 0024 4] Oem Revision : 00000001
[01Ch 0028 4] Asl Compiler ID : "BXPC"
[020h 0032 4] Asl Compiler Revision : 00000001
[024h 0036 4] Virtualization Info : 00002800
[028h 0040 8] Reserved : 0000000000000000
[030h 0048 1] Subtable Type : 10 [Hardware Definition Block]
[031h 0049 1] Flags : D1
[032h 0050 2] Length : 0038
[034h 0052 2] DeviceId : 0010
[036h 0054 2] Capability Offset : 0040
[038h 0056 8] Base Address : 00000000FED80000
[040h 0064 2] PCI Segment Group : 0000
[042h 0066 2] Virtualization Info : 0000
[044h 0068 4] Reserved : 00000044
[048h 0072 1] Entry Type : 02
[049h 0073 2] Device ID : 0000
[04Bh 0075 1] Data Setting : 00
[04Ch 0076 1] Entry Type : 02
[04Dh 0077 2] Device ID : 0008
[04Fh 0079 1] Data Setting : 00
[050h 0080 1] Entry Type : 02
[051h 0081 2] Device ID : 0010
[053h 0083 1] Data Setting : 00
[054h 0084 1] Entry Type : 02
[055h 0085 2] Device ID : 00F8
[057h 0087 1] Data Setting : 00
[058h 0088 1] Entry Type : 02
[059h 0089 2] Device ID : 00FA
[05Bh 0091 1] Data Setting : 00
[05Ch 0092 1] Entry Type : 02
[05Dh 0093 2] Device ID : 00FB
[05Fh 0095 1] Data Setting : 00
[060h 0096 1] Entry Type : 48
[061h 0097 2] Device ID : 0000
[063h 0099 1] Data Setting : 00
[064h 0100 1] Handle : 00
[065h 0101 2] Source Used Device ID : 00A0
[067h 0103 1] Variety : 01
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20210902113551.461632-12-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 709611cb23cc677fa0c2d4de76a21c24baefe9a0
https://github.com/qemu/qemu/commit/709611cb23cc677fa0c2d4de76a21c24baefe9a0
Author: Igor Mammedov <imammedo@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M tests/qtest/bios-tables-test.c
Log Message:
-----------
tests: acpi: arm/virt: drop redundant test_acpi_one() in test_acpi_virt_tcg()
follow up call with smbios options generates the same ACPI tables,
so there is no need to run smbios-less variant at all.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20210902113551.461632-13-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 07e6ed2c79b311aad4d2c87740753752ad1503ba
https://github.com/qemu/qemu/commit/07e6ed2c79b311aad4d2c87740753752ad1503ba
Author: Igor Mammedov <imammedo@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M tests/qtest/arm-cpu-features.c
Log Message:
-----------
tests: arm-cpu-features: use qtest_has_kvm() API
and drop custom function that were doing the job
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20210902113551.461632-14-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: b72c76033de766d4ff891c582514caf12edbbfb4
https://github.com/qemu/qemu/commit/b72c76033de766d4ff891c582514caf12edbbfb4
Author: Igor Mammedov <imammedo@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M tests/qtest/migration-test.c
Log Message:
-----------
tests: migration-test: use qtest_has_accel() API
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Suggested-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210902113551.461632-15-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 220ffd949bf2c157665905f7744bdbf201333e1f
https://github.com/qemu/qemu/commit/220ffd949bf2c157665905f7744bdbf201333e1f
Author: Igor Mammedov <imammedo@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M tests/qtest/bios-tables-test.c
Log Message:
-----------
tests: bios-tables-test: use qtest_has_accel() API to register TCG only tests
.. only if TCG is available
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20210902113551.461632-16-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: c64038c93e171697058d96871f87a4438b613662
https://github.com/qemu/qemu/commit/c64038c93e171697058d96871f87a4438b613662
Author: Eugenio Pérez <eperezma@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M hw/virtio/vhost-vdpa.c
Log Message:
-----------
vdpa: Skip protected ram IOMMU mappings
Following the logic of commit 56918a126ae ("memory: Add RAM_PROTECTED
flag to skip IOMMU mappings") with VFIO, skip memory sections
inaccessible via normal mechanisms, including DMA.
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20211014141236.923287-2-eperezma@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Commit: 032e4d686e9c6f8ae3b9206c720ae3614e28d8a3
https://github.com/qemu/qemu/commit/032e4d686e9c6f8ae3b9206c720ae3614e28d8a3
Author: Eugenio Pérez <eperezma@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M hw/virtio/vhost-vdpa.c
Log Message:
-----------
vdpa: Add vhost_vdpa_section_end
Abstract this operation, that will be reused when validating the region
against the iova range that the device supports.
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20211014141236.923287-3-eperezma@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Commit: 013108b6e51e1c10b78859e2e091202364aa7a7d
https://github.com/qemu/qemu/commit/013108b6e51e1c10b78859e2e091202364aa7a7d
Author: Eugenio Pérez <eperezma@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M hw/virtio/trace-events
M hw/virtio/vhost-vdpa.c
M include/hw/virtio/vhost-vdpa.h
Log Message:
-----------
vdpa: Check for iova range at mappings changes
Check vdpa device range before updating memory regions so we don't add
any outside of it, and report the invalid change if any.
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Message-Id: <20211014141236.923287-4-eperezma@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Commit: 819bbda81fd6a08bea79d56a6ca27092ec29719b
https://github.com/qemu/qemu/commit/819bbda81fd6a08bea79d56a6ca27092ec29719b
Author: Eric Auger <eric.auger@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M hw/virtio/virtio-iommu-pci.c
Log Message:
-----------
virtio-iommu: Remove the non transitional name
Remove the non transitional name for virtio iommu. Like other
devices introduced after 1.0 spec, the virtio-iommu does
not need it.
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reported-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <20211013191755.767468-2-eric.auger@redhat.com>
Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 19d20e910a586f503994acf590d5f41c314fa4c3
https://github.com/qemu/qemu/commit/19d20e910a586f503994acf590d5f41c314fa4c3
Author: Eric Auger <eric.auger@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M hw/virtio/virtio-iommu-pci.c
M include/hw/virtio/virtio-iommu.h
Log Message:
-----------
virtio-iommu: Drop base_name and change generic_name
Drop base_name and turn generic_name into
"virtio-iommu-pci". This is more in line with
other modern-only devices.
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Suggested-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <20211013191755.767468-3-eric.auger@redhat.com>
Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 6889eb2d431ae962e3e083b57bff47cd573cb1c4
https://github.com/qemu/qemu/commit/6889eb2d431ae962e3e083b57bff47cd573cb1c4
Author: David Hildenbrand <david@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M subprojects/libvhost-user/libvhost-user.c
Log Message:
-----------
libvhost-user: fix VHOST_USER_REM_MEM_REG skipping mmap_addr
We end up not copying the mmap_addr of all existing regions, resulting
in a SEGFAULT once we actually try to map/access anything within our
memory regions.
Fixes: 875b9fd97b34 ("Support individual region unmap in libvhost-user")
Cc: qemu-stable@nongnu.org
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Raphael Norwitz <raphael.norwitz@nutanix.com>
Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Coiby Xu <coiby.xu@gmail.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20211011201047.62587-1-david@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 821d28b88f850e5fbc66ee62bdd155eb2d474a29
https://github.com/qemu/qemu/commit/821d28b88f850e5fbc66ee62bdd155eb2d474a29
Author: Mathieu Poirier <mathieu.poirier@linaro.org>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M hw/virtio/Kconfig
M hw/virtio/meson.build
A hw/virtio/vhost-user-rng.c
A include/hw/virtio/vhost-user-rng.h
Log Message:
-----------
vhost-user-rng: Add vhost-user-rng implementation
Introduce a random number generator (RNG) backend that communicates
with a vhost-user server to retrieve entropy. That way other VMM
that comply with the vhost user protocl can use the same vhost-user
daemon without having to write yet another RNG driver.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Message-Id: <20211012205904.4106769-2-mathieu.poirier@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: c7160fff7d48cead5d673ef2032b60c363c84e27
https://github.com/qemu/qemu/commit/c7160fff7d48cead5d673ef2032b60c363c84e27
Author: Mathieu Poirier <mathieu.poirier@linaro.org>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M hw/virtio/meson.build
A hw/virtio/vhost-user-rng-pci.c
Log Message:
-----------
vhost-user-rng-pci: Add vhost-user-rng-pci implementation
This patch provides a PCI bus interface to the vhost-user-rng backend.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Message-Id: <20211012205904.4106769-3-mathieu.poirier@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: c47d4fa0c8f0a28614cc0ce849dc9bbaa5c6878f
https://github.com/qemu/qemu/commit/c47d4fa0c8f0a28614cc0ce849dc9bbaa5c6878f
Author: Mathieu Poirier <mathieu.poirier@linaro.org>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M docs/system/device-emulation.rst
A docs/system/devices/vhost-user-rng.rst
Log Message:
-----------
docs: Add documentation for vhost based RNG implementation
Add description and example for the vhost-user based RNG implementation.
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Message-Id: <20211012205904.4106769-4-mathieu.poirier@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: a1ed9ef1de87c3e86ff68589604298ec90875a14
https://github.com/qemu/qemu/commit/a1ed9ef1de87c3e86ff68589604298ec90875a14
Author: Xueming Li <xuemingl@nvidia.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M hw/virtio/vhost-user.c
Log Message:
-----------
vhost-user: fix duplicated notifier MR init
In case of device resume after suspend, VQ notifier MR still valid.
Duplicated registrations explode memory block list and slow down device
resume.
Fixes: 44866521bd6e ("vhost-user: support registering external host notifiers")
Cc: tiwei.bie@intel.com
Cc: qemu-stable@nongnu.org
Cc: Yuwei Zhang <zhangyuwei.9149@bytedance.com>
Signed-off-by: Xueming Li <xuemingl@nvidia.com>
Message-Id: <20211008080215.590292-1-xuemingl@nvidia.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 7fe7791e3f652ac31ef98dcc94a8f2a317ab846b
https://github.com/qemu/qemu/commit/7fe7791e3f652ac31ef98dcc94a8f2a317ab846b
Author: Laurent Vivier <lvivier@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M hw/net/virtio-net.c
Log Message:
-----------
failover: fix a regression introduced by JSON'ification of -device
The hide_device helper can be called several times for the same
devices as it shouldn't change any state and should only return an
information.
But not to rely anymore on QemuOpts we have introduced a new field
to store the parameters of the device and don't allow to update it
once it is done.
And as the function is called several times, we ends with:
warning: Cannot attach more than one primary device to 'virtio0'
That is not only a warning as it prevents to hide the device and breaks
failover.
Fix that by checking the device id.
Now, we fail only if the virtio-net device is really used by two different
devices, for instance:
-device virtio-net-pci,id=virtio0,failover=on,... \
-device vfio-pci,id=hostdev0,failover_pair_id=virtio0,... \
-device e1000e,id=e1000e0,failover_pair_id=virtio0,... \
will exit with:
Cannot attach more than one primary device to 'virtio0': 'hostdev0' and
'e1000e0'
Fixes: 259a10dbcb4f ("virtio-net: Store failover primary opts pointer locally")
Cc: kwolf@redhat.com
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Message-Id: <20211019071532.682717-2-lvivier@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Commit: 515efffc2fd0928317a0a1ec47b28a972c40ddad
https://github.com/qemu/qemu/commit/515efffc2fd0928317a0a1ec47b28a972c40ddad
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M tests/qtest/vhost-user-blk-test.c
Log Message:
-----------
vhost-user-blk-test: pass vhost-user socket fds to QSD
qemu-storage-daemon is launched with the vhost-user listen socket path.
The path is first unlinked before opening the listen socket. This
prevents stale UNIX domain socket files from stopping socket
initialization.
This behavior is undesirable in vhost-user-blk-test and the cause of a
bug:
There is a race condition in vhost-user-blk-test when QEMU launches
before QSD. It connects to the old socket that QSD unlinks and the
vhost-user connection is never serviced, resulting in a hang.
Pass the listen socket fd to QSD to maintain listen socket continuity
and prevent the lost connection.
Fixes: 806952026df41939680abe92b329715b9b4e01cc ("test: new qTest case to test
the vhost-user-blk-server")
Cc: Raphael Norwitz <raphael.norwitz@nutanix.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Thomas Huth <thuth@redhat.com>
Cc: Coiby Xu <coiby.xu@gmail.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20211019135655.83067-1-stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: bcfc906be47a88803307cd6b665dc4c26fdd6dd2
https://github.com/qemu/qemu/commit/bcfc906be47a88803307cd6b665dc4c26fdd6dd2
Author: Laurent Vivier <lvivier@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M hw/net/virtio-net.c
M softmmu/qdev-monitor.c
Log Message:
-----------
qdev/qbus: remove failover specific code
Commit f3a850565693 ("qdev/qbus: add hidden device support") has
introduced a generic way to hide a device but it has modified
qdev_device_add() to check a specific option of the failover device,
"failover_pair_id", before calling the generic mechanism.
It's not needed (and not generic) to do that in qdev_device_add() because
this is also checked by the failover_hide_primary_device() function that
uses the generic mechanism to hide the device.
Cc: Jens Freimann <jfreimann@redhat.com>
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Message-Id: <20211019071532.682717-3-lvivier@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Commit: 71352aa95bf49d7a0ddab4e685147974c32ebc2c
https://github.com/qemu/qemu/commit/71352aa95bf49d7a0ddab4e685147974c32ebc2c
Author: Michael S. Tsirkin <mst@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M tests/data/acpi/rebuild-expected-aml.sh
Log Message:
-----------
rebuild-expected-aml.sh: allow partial target list
Only rebuild AML for configured targets.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 81d7228647e0bd17d4f4f0434b8ed410fe5f7497
https://github.com/qemu/qemu/commit/81d7228647e0bd17d4f4f0434b8ed410fe5f7497
Author: Michael S. Tsirkin <mst@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M tests/qtest/bios-tables-test.c
Log Message:
-----------
bios-tables-test: don't disassemble empty files
A recommended way to populate new tables is to have an
empty expected file. In this case, attempts to disassemble
will fail but it is useful to disassemble the actual files.
Detect and skip decompile step in this case.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 7327813d17086fadabe3b27ba2d9737c8a33c5b0
https://github.com/qemu/qemu/commit/7327813d17086fadabe3b27ba2d9737c8a33c5b0
Author: Jason Wang <jasowang@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M net/vhost-vdpa.c
Log Message:
-----------
vhost-vdpa: open device fd in net_init_vhost_vdpa()
This patch switches to open device fd in net_init_vhost_vpda(). This is
used to prepare for the multiqueue support.
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20211020045600.16082-2-jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 4d191cfdc7de958d06f821173f721c56bc131620
https://github.com/qemu/qemu/commit/4d191cfdc7de958d06f821173f721c56bc131620
Author: Jason Wang <jasowang@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M hw/virtio/vhost-vdpa.c
M include/hw/virtio/vhost-vdpa.h
Log Message:
-----------
vhost-vdpa: classify one time request
Vhost-vdpa uses one device multiqueue queue (pairs) model. So we need
to classify the one time request (e.g SET_OWNER) and make sure those
request were only called once per device.
This is used for multiqueue support.
Signed-off-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20211020045600.16082-3-jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 353244d8b96767659e6c95c0c87dfe4372fe8c12
https://github.com/qemu/qemu/commit/353244d8b96767659e6c95c0c87dfe4372fe8c12
Author: Jason Wang <jasowang@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M hw/virtio/vhost-vdpa.c
Log Message:
-----------
vhost-vdpa: prepare for the multiqueue support
Unlike vhost-kernel, vhost-vdpa adapts a single device multiqueue
model. So we need to simply use virtqueue index as the vhost virtqueue
index. This is a must for multiqueue to work for vhost-vdpa.
Signed-off-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20211020045600.16082-4-jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 654790b65b8435a7d409b1873b566e8db9e91b9b
https://github.com/qemu/qemu/commit/654790b65b8435a7d409b1873b566e8db9e91b9b
Author: Jason Wang <jasowang@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M net/vhost-vdpa.c
Log Message:
-----------
vhost-vdpa: let net_vhost_vdpa_init() returns NetClientState *
This patch switches to let net_vhost_vdpa_init() to return
NetClientState *. This is used for the callers to allocate multiqueue
NetClientState for multiqueue support.
Signed-off-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20211020045600.16082-5-jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 2f849dbdb2ab2c70715520a8129524f197b9a8ba
https://github.com/qemu/qemu/commit/2f849dbdb2ab2c70715520a8129524f197b9a8ba
Author: Jason Wang <jasowang@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M include/net/net.h
M net/net.c
Log Message:
-----------
net: introduce control client
This patch introduces a boolean for the device has control queue which
can accepts control command via network queue.
The first user would be the control virtqueue support for vhost.
Signed-off-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20211020045600.16082-6-jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 05ba3f63d174a716b42aa31c9af5d0ef64fff515
https://github.com/qemu/qemu/commit/05ba3f63d174a716b42aa31c9af5d0ef64fff515
Author: Jason Wang <jasowang@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M hw/net/vhost_net-stub.c
M hw/net/vhost_net.c
M hw/net/virtio-net.c
M include/net/vhost_net.h
Log Message:
-----------
vhost-net: control virtqueue support
We assume there's no cvq in the past, this is not true when we need
control virtqueue support for vhost-user backends. So this patch
implements the control virtqueue support for vhost-net. As datapath,
the control virtqueue is also required to be coupled with the
NetClientState. The vhost_net_start/stop() are tweaked to accept the
number of datapath queue pairs plus the the number of control
virtqueue for us to start and stop the vhost device.
Signed-off-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20211020045600.16082-7-jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 441537f1ce0153978b4c9ee1cc4d4152147aa16f
https://github.com/qemu/qemu/commit/441537f1ce0153978b4c9ee1cc4d4152147aa16f
Author: Jason Wang <jasowang@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M hw/net/vhost_net.c
M hw/net/virtio-net.c
M include/hw/virtio/virtio-net.h
Log Message:
-----------
virtio-net: use "queue_pairs" instead of "queues" when possible
Most of the time, "queues" really means queue pairs. So this patch
switch to use "queue_pairs" to avoid confusion.
Signed-off-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20211020045600.16082-8-jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 049eb15b5fc9c54ae76254a196b695000127da7a
https://github.com/qemu/qemu/commit/049eb15b5fc9c54ae76254a196b695000127da7a
Author: Jason Wang <jasowang@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M hw/net/vhost_net.c
M include/hw/virtio/vhost.h
Log Message:
-----------
vhost: record the last virtqueue index for the virtio device
This patch introduces a new field in the vhost_dev structure to record
the last virtqueue index for the virtio device. This will be useful
for the vhost backends with 1:N model to start or stop the device
after all the vhost_dev structures were started or stopped.
Signed-off-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20211020045600.16082-9-jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 22288fe5a3f2dc4cb5c8826646d466019ad67682
https://github.com/qemu/qemu/commit/22288fe5a3f2dc4cb5c8826646d466019ad67682
Author: Jason Wang <jasowang@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M hw/net/vhost_net.c
M hw/net/virtio-net.c
M include/hw/virtio/virtio-net.h
Log Message:
-----------
virtio-net: vhost control virtqueue support
This patch implements the control virtqueue support for vhost. This
requires virtio-net to figure out the datapath queue pairs and control
virtqueue via is_datapath and pass the number of those two types
of virtqueues to vhost_net_start()/vhost_net_stop().
Signed-off-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20211020045600.16082-10-jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 402378407dbdce79ce745a13f5c84815f929cfdd
https://github.com/qemu/qemu/commit/402378407dbdce79ce745a13f5c84815f929cfdd
Author: Jason Wang <jasowang@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M hw/virtio/vhost-vdpa.c
M net/vhost-vdpa.c
Log Message:
-----------
vhost-vdpa: multiqueue support
This patch implements the multiqueue support for vhost-vdpa. This is
done simply by reading the number of queue pairs from the config space
and initialize the datapath and control path net client.
Signed-off-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20211020045600.16082-11-jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 0e464f7d993113119f0fd17b890831440734ce15
https://github.com/qemu/qemu/commit/0e464f7d993113119f0fd17b890831440734ce15
Author: Michael S. Tsirkin <mst@redhat.com>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M hw/pci/pci_bridge.c
Log Message:
-----------
pci: fix PCI resource reserve capability on BE
PCI resource reserve capability should use LE format as all other PCI
things. If we don't then seabios won't boot:
=== PCI new allocation pass #1 ===
PCI: check devices
PCI: QEMU resource reserve cap: size 10000000000000 type io
PCI: secondary bus 1 size 10000000000000 type io
PCI: secondary bus 1 size 00200000 type mem
PCI: secondary bus 1 size 00200000 type prefmem
=== PCI new allocation pass #2 ===
PCI: out of I/O address space
This became more important since we started reserving IO by default,
previously no one noticed.
Fixes: e2a6290aab ("hw/pcie-root-port: Fix hotplug for PCI devices requiring
IO")
Cc: marcel.apfelbaum@gmail.com
Fixes: 226263fb5c ("hw/pci: add QEMU-specific PCI capability to the Generic PCI
Express Root Port")
Cc: zuban32s@gmail.com
Fixes: 6755e618d0 ("hw/pci: add PCI resource reserve capability to legacy PCI
bridge")
Cc: jing2.liu@linux.intel.com
Tested-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Commit: 6dcb1cc9512c6b4cd8f85abc537abaf6f6c0738b
https://github.com/qemu/qemu/commit/6dcb1cc9512c6b4cd8f85abc537abaf6f6c0738b
Author: Ani Sinha <ani@anisinha.ca>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
A tests/data/acpi/q35/DSDT.multi-bridge
M tests/qtest/bios-tables-test-allowed-diff.h
Log Message:
-----------
tests/acpi/bios-tables-test: add and allow changes to a new q35 DSDT table
blob
We are adding a new unit test to cover the acpi hotplug support in q35 for
multi-function bridges. This test uses a new table DSDT.multi-bridge.
We need to allow changes in DSDT acpi table for addition of this new
unit test.
Signed-off-by: Ani Sinha <ani@anisinha.ca>
Message-Id: <20211007135750.1277213-2-ani@anisinha.ca>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Igor Mammedov <imammedo@redhat.com>
Commit: 04dd78b9e85720226a148eef54b45cb02b463034
https://github.com/qemu/qemu/commit/04dd78b9e85720226a148eef54b45cb02b463034
Author: Ani Sinha <ani@anisinha.ca>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M tests/qtest/bios-tables-test.c
Log Message:
-----------
tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35
commit d7346e614f4ec ("acpi: x86: pcihp: add support hotplug on multifunction
bridges")
added ACPI hotplug descriptions for cold plugged bridges for functions other
than 0. For all other devices, the ACPI hotplug descriptions are limited to
function 0 only. This change adds unit tests for this feature.
This test adds the following devices to qemu and then checks the changes
introduced in the DSDT table due to the addition of the following devices:
(a) a multifunction bridge device
(b) a bridge device with function 1
(c) a non-bridge device with function 2
In the DSDT table, we should see AML hotplug descriptions for (a) and (b).
For (a) we should find a hotplug AML description for function 0.
The following diff compares the DSDT table AML with the new unit test before
and after the change d7346e614f4ec is introduced. In other words,
this diff reflects the changes that occurs in the DSDT table due to the change
d7346e614f4ec .
@@ -1,60 +1,38 @@
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20190509 (64-bit version)
* Copyright (c) 2000 - 2019 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
- * Disassembly of tests/data/acpi/q35/DSDT.multi-bridge, Thu Oct 7 18:56:05
2021
+ * Disassembly of /tmp/aml-AN0DA1, Thu Oct 7 18:56:05 2021
*
* Original Table Header:
* Signature "DSDT"
- * Length 0x000020FE (8446)
+ * Length 0x00002187 (8583)
* Revision 0x01 **** 32-bit table (V1), no 64-bit math support
- * Checksum 0xDE
+ * Checksum 0x8D
* OEM ID "BOCHS "
* OEM Table ID "BXPC "
* OEM Revision 0x00000001 (1)
* Compiler ID "BXPC"
* Compiler Version 0x00000001 (1)
*/
DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPC ", 0x00000001)
{
- /*
- * iASL Warning: There was 1 external control method found during
- * disassembly, but only 0 were resolved (1 unresolved). Additional
- * ACPI tables may be required to properly disassemble the code. This
- * resulting disassembler output file may not compile because the
- * disassembler did not know how many arguments to assign to the
- * unresolved methods. Note: SSDTs can be dynamically loaded at
- * runtime and may or may not be available via the host OS.
- *
- * In addition, the -fe option can be used to specify a file containing
- * control method external declarations with the associated method
- * argument counts. Each line of the file must be of the form:
- * External (<method pathname>, MethodObj, <argument count>)
- * Invocation:
- * iasl -fe refs.txt -d dsdt.aml
- *
- * The following methods were unresolved and many not compile properly
- * because the disassembler had to guess at the number of arguments
- * required for each:
- */
- External (_SB_.PCI0.S19_.PCNT, MethodObj) // Warning: Unknown method,
guessing 1 arguments
-
Scope (\)
{
OperationRegion (DBG, SystemIO, 0x0402, One)
Field (DBG, ByteAcc, NoLock, Preserve)
{
DBGB, 8
}
Method (DBUG, 1, NotSerialized)
{
ToHexString (Arg0, Local0)
ToBuffer (Local0, Local0)
Local1 = (SizeOf (Local0) - One)
Local2 = Zero
While ((Local2 < Local1))
{
@@ -3322,24 +3300,60 @@
Method (DVNT, 2, NotSerialized)
{
If ((Arg0 & One))
{
Notify (S00, Arg1)
}
}
Method (PCNT, 0, NotSerialized)
{
BNUM = One
DVNT (PCIU, One)
DVNT (PCID, 0x03)
}
}
+ Device (S19)
+ {
+ Name (_ADR, 0x00030001) // _ADR: Address
+ Name (BSEL, Zero)
+ Device (S00)
+ {
+ Name (_SUN, Zero) // _SUN: Slot User Number
+ Name (_ADR, Zero) // _ADR: Address
+ Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device,
x=0-9
+ {
+ PCEJ (BSEL, _SUN)
+ }
+
+ Method (_DSM, 4, Serialized) // _DSM: Device-Specific
Method
+ {
+ Return (PDSM (Arg0, Arg1, Arg2, Arg3, BSEL, _SUN))
+ }
+ }
+
+ Method (DVNT, 2, NotSerialized)
+ {
+ If ((Arg0 & One))
+ {
+ Notify (S00, Arg1)
+ }
+ }
+
+ Method (PCNT, 0, NotSerialized)
+ {
+ BNUM = Zero
+ DVNT (PCIU, One)
+ DVNT (PCID, 0x03)
+ }
+ }
+
Method (PCNT, 0, NotSerialized)
{
- ^S19.PCNT (^S10.PCNT ())
+ ^S19.PCNT ()
+ ^S10.PCNT ()
}
}
}
}
Signed-off-by: Ani Sinha <ani@anisinha.ca>
Message-Id: <20211007135750.1277213-3-ani@anisinha.ca>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Commit: a8339e07f94a47f99560baef59d65a9e039aaf45
https://github.com/qemu/qemu/commit/a8339e07f94a47f99560baef59d65a9e039aaf45
Author: Ani Sinha <ani@anisinha.ca>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M tests/data/acpi/q35/DSDT.multi-bridge
M tests/qtest/bios-tables-test-allowed-diff.h
Log Message:
-----------
tests/acpi/bios-tables-test: update DSDT blob for multifunction bridge test
We added a new unit test for testing acpi hotplug on multifunction bridges in
q35 machines. Here, we update the DSDT table gloden master blob for this unit
test.
The test adds the following devices to qemu and then checks the changes
introduced in the DSDT table due to the addition of the following devices:
(a) a multifunction bridge device
(b) a bridge device with function 1
(c) a non-bridge device with function 2
In the DSDT table, we should see AML hotplug descriptions for (a) and (b).
For (a) we should find a hotplug AML description for function 0.
Following is the ASL diff between the original DSDT table and the modified DSDT
table due to the unit test. We see that multifunction bridge on bus 2 and single
function bridge on bus 3 function 1 are described, not the non-bridge balloon
device on bus 4, function 2.
@@ -1,30 +1,30 @@
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20190509 (64-bit version)
* Copyright (c) 2000 - 2019 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
- * Disassembly of tests/data/acpi/q35/DSDT, Thu Oct 7 18:29:19 2021
+ * Disassembly of /tmp/aml-C7JCA1, Thu Oct 7 18:29:19 2021
*
* Original Table Header:
* Signature "DSDT"
- * Length 0x00002061 (8289)
+ * Length 0x00002187 (8583)
* Revision 0x01 **** 32-bit table (V1), no 64-bit math support
- * Checksum 0xF9
+ * Checksum 0x8D
* OEM ID "BOCHS "
* OEM Table ID "BXPC "
* OEM Revision 0x00000001 (1)
* Compiler ID "BXPC"
* Compiler Version 0x00000001 (1)
*/
DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPC ", 0x00000001)
{
Scope (\)
{
OperationRegion (DBG, SystemIO, 0x0402, One)
Field (DBG, ByteAcc, NoLock, Preserve)
{
DBGB, 8
}
@@ -3265,23 +3265,95 @@
Method (_S1D, 0, NotSerialized) // _S1D: S1 Device State
{
Return (Zero)
}
Method (_S2D, 0, NotSerialized) // _S2D: S2 Device State
{
Return (Zero)
}
Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
{
Return (Zero)
}
}
+ Device (S10)
+ {
+ Name (_ADR, 0x00020000) // _ADR: Address
+ Name (BSEL, One)
+ Device (S00)
+ {
+ Name (_SUN, Zero) // _SUN: Slot User Number
+ Name (_ADR, Zero) // _ADR: Address
+ Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device,
x=0-9
+ {
+ PCEJ (BSEL, _SUN)
+ }
+
+ Method (_DSM, 4, Serialized) // _DSM: Device-Specific
Method
+ {
+ Return (PDSM (Arg0, Arg1, Arg2, Arg3, BSEL, _SUN))
+ }
+ }
+
+ Method (DVNT, 2, NotSerialized)
+ {
+ If ((Arg0 & One))
+ {
+ Notify (S00, Arg1)
+ }
+ }
+
+ Method (PCNT, 0, NotSerialized)
+ {
+ BNUM = One
+ DVNT (PCIU, One)
+ DVNT (PCID, 0x03)
+ }
+ }
+
+ Device (S19)
+ {
+ Name (_ADR, 0x00030001) // _ADR: Address
+ Name (BSEL, Zero)
+ Device (S00)
+ {
+ Name (_SUN, Zero) // _SUN: Slot User Number
+ Name (_ADR, Zero) // _ADR: Address
+ Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device,
x=0-9
+ {
+ PCEJ (BSEL, _SUN)
+ }
+
+ Method (_DSM, 4, Serialized) // _DSM: Device-Specific
Method
+ {
+ Return (PDSM (Arg0, Arg1, Arg2, Arg3, BSEL, _SUN))
+ }
+ }
+
+ Method (DVNT, 2, NotSerialized)
+ {
+ If ((Arg0 & One))
+ {
+ Notify (S00, Arg1)
+ }
+ }
+
+ Method (PCNT, 0, NotSerialized)
+ {
+ BNUM = Zero
+ DVNT (PCIU, One)
+ DVNT (PCID, 0x03)
+ }
+ }
+
Method (PCNT, 0, NotSerialized)
{
+ ^S19.PCNT ()
+ ^S10.PCNT ()
}
}
}
}
Signed-off-by: Ani Sinha <ani@anisinha.ca>
Message-Id: <20211007135750.1277213-4-ani@anisinha.ca>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Igor Mammedov <imammedo@redhat.com>
Commit: afc9fcde55296b83f659de9da3cdf044812a6eeb
https://github.com/qemu/qemu/commit/afc9fcde55296b83f659de9da3cdf044812a6eeb
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2021-10-20 (Wed, 20 Oct 2021)
Changed paths:
M docs/system/device-emulation.rst
A docs/system/devices/vhost-user-rng.rst
M hw/net/vhost_net-stub.c
M hw/net/vhost_net.c
M hw/net/virtio-net.c
M hw/pci/pci_bridge.c
M hw/virtio/Kconfig
M hw/virtio/meson.build
M hw/virtio/trace-events
A hw/virtio/vhost-user-rng-pci.c
A hw/virtio/vhost-user-rng.c
M hw/virtio/vhost-user.c
M hw/virtio/vhost-vdpa.c
M hw/virtio/virtio-iommu-pci.c
A include/hw/virtio/vhost-user-rng.h
M include/hw/virtio/vhost-vdpa.h
M include/hw/virtio/vhost.h
M include/hw/virtio/virtio-iommu.h
M include/hw/virtio/virtio-net.h
M include/net/net.h
M include/net/vhost_net.h
M meson.build
M net/net.c
M net/vhost-vdpa.c
M softmmu/qdev-monitor.c
M subprojects/libvhost-user/libvhost-user.c
A tests/data/acpi/q35/APIC.xapic
A tests/data/acpi/q35/DMAR.dmar
A tests/data/acpi/q35/DSDT.ivrs
A tests/data/acpi/q35/DSDT.multi-bridge
A tests/data/acpi/q35/DSDT.xapic
A tests/data/acpi/q35/FACP.xapic
A tests/data/acpi/q35/IVRS.ivrs
A tests/data/acpi/q35/SRAT.xapic
M tests/data/acpi/rebuild-expected-aml.sh
M tests/qtest/acpi-utils.c
M tests/qtest/arm-cpu-features.c
M tests/qtest/bios-tables-test.c
M tests/qtest/libqos/libqtest.h
M tests/qtest/libqtest.c
M tests/qtest/migration-test.c
M tests/qtest/vhost-user-blk-test.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
pc,pci,virtio: features, fixes, tests
vhost user rng
vdpa multiqueue
Fixes, cleanups, new tests all over the place.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
# gpg: Signature made Wed 20 Oct 2021 03:18:24 AM PDT
# gpg: using RSA key 5D09FD0871C8F85B94CA8A0D281F0DB8D28D5469
# gpg: issuer "mst@redhat.com"
# gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" [full]
# gpg: aka "Michael S. Tsirkin <mst@redhat.com>" [full]
* remotes/mst/tags/for_upstream: (44 commits)
tests/acpi/bios-tables-test: update DSDT blob for multifunction bridge test
tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35
tests/acpi/bios-tables-test: add and allow changes to a new q35 DSDT table
blob
pci: fix PCI resource reserve capability on BE
vhost-vdpa: multiqueue support
virtio-net: vhost control virtqueue support
vhost: record the last virtqueue index for the virtio device
virtio-net: use "queue_pairs" instead of "queues" when possible
vhost-net: control virtqueue support
net: introduce control client
vhost-vdpa: let net_vhost_vdpa_init() returns NetClientState *
vhost-vdpa: prepare for the multiqueue support
vhost-vdpa: classify one time request
vhost-vdpa: open device fd in net_init_vhost_vdpa()
bios-tables-test: don't disassemble empty files
rebuild-expected-aml.sh: allow partial target list
qdev/qbus: remove failover specific code
vhost-user-blk-test: pass vhost-user socket fds to QSD
failover: fix a regression introduced by JSON'ification of -device
vhost-user: fix duplicated notifier MR init
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Compare: https://github.com/qemu/qemu/compare/50352cce138e...afc9fcde5529