* [PATCH v3 0/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 @ 2021-10-07 13:57 Ani Sinha 2021-10-07 13:57 ` [PATCH v3 1/3] tests/acpi/bios-tables-test: add and allow changes to a new q35 DSDT table blob Ani Sinha ` (3 more replies) 0 siblings, 4 replies; 15+ messages in thread From: Ani Sinha @ 2021-10-07 13:57 UTC (permalink / raw) To: qemu-devel; +Cc: Ani Sinha, Igor Mammedov, Michael S. Tsirkin changelist: v3: removed "nodefaults" from the command line and rebased the patchset. v2: incorporated some of the feedbacks from Igor. v1 : initial RFC patch. This patchset adds a unit test to exercize acpi hotplug support for multifunction bridges on q35 machines. This support was added with the commit: d7346e614f4ec ("acpi: x86: pcihp: add support hotplug on multifunction bridges") Ani Sinha (3): tests/acpi/bios-tables-test: add and allow changes to a new q35 DSDT table blob tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 tests/acpi/bios-tables-test: update DSDT blob for multifunction bridge test tests/data/acpi/q35/DSDT.multi-bridge | Bin 0 -> 8583 bytes tests/qtest/bios-tables-test.c | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 tests/data/acpi/q35/DSDT.multi-bridge -- 2.25.1 ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 1/3] tests/acpi/bios-tables-test: add and allow changes to a new q35 DSDT table blob 2021-10-07 13:57 [PATCH v3 0/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 Ani Sinha @ 2021-10-07 13:57 ` Ani Sinha 2021-10-11 13:54 ` Igor Mammedov 2021-10-07 13:57 ` [PATCH v3 2/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 Ani Sinha ` (2 subsequent siblings) 3 siblings, 1 reply; 15+ messages in thread From: Ani Sinha @ 2021-10-07 13:57 UTC (permalink / raw) To: qemu-devel; +Cc: Ani Sinha, Igor Mammedov, Michael S. Tsirkin 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> --- tests/data/acpi/q35/DSDT.multi-bridge | 0 tests/qtest/bios-tables-test-allowed-diff.h | 1 + 2 files changed, 1 insertion(+) create mode 100644 tests/data/acpi/q35/DSDT.multi-bridge diff --git a/tests/data/acpi/q35/DSDT.multi-bridge b/tests/data/acpi/q35/DSDT.multi-bridge new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index dfb8523c8b..dabc024f53 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,2 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/q35/DSDT.multi-bridge", -- 2.25.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v3 1/3] tests/acpi/bios-tables-test: add and allow changes to a new q35 DSDT table blob 2021-10-07 13:57 ` [PATCH v3 1/3] tests/acpi/bios-tables-test: add and allow changes to a new q35 DSDT table blob Ani Sinha @ 2021-10-11 13:54 ` Igor Mammedov 0 siblings, 0 replies; 15+ messages in thread From: Igor Mammedov @ 2021-10-11 13:54 UTC (permalink / raw) To: Ani Sinha; +Cc: qemu-devel, Michael S. Tsirkin On Thu, 7 Oct 2021 19:27:48 +0530 Ani Sinha <ani@anisinha.ca> wrote: > 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> Acked-by: Igor Mammedov <imammedo@redhat.com> > --- > tests/data/acpi/q35/DSDT.multi-bridge | 0 > tests/qtest/bios-tables-test-allowed-diff.h | 1 + > 2 files changed, 1 insertion(+) > create mode 100644 tests/data/acpi/q35/DSDT.multi-bridge > > diff --git a/tests/data/acpi/q35/DSDT.multi-bridge b/tests/data/acpi/q35/DSDT.multi-bridge > new file mode 100644 > index 0000000000..e69de29bb2 > diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h > index dfb8523c8b..dabc024f53 100644 > --- a/tests/qtest/bios-tables-test-allowed-diff.h > +++ b/tests/qtest/bios-tables-test-allowed-diff.h > @@ -1 +1,2 @@ > /* List of comma-separated changed AML files to ignore */ > +"tests/data/acpi/q35/DSDT.multi-bridge", ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 2/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 2021-10-07 13:57 [PATCH v3 0/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 Ani Sinha 2021-10-07 13:57 ` [PATCH v3 1/3] tests/acpi/bios-tables-test: add and allow changes to a new q35 DSDT table blob Ani Sinha @ 2021-10-07 13:57 ` Ani Sinha 2021-10-11 13:53 ` Igor Mammedov 2021-10-07 13:57 ` [PATCH v3 3/3] tests/acpi/bios-tables-test: update DSDT blob for multifunction bridge test Ani Sinha 2021-10-20 8:39 ` [PATCH v3 0/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 Michael S. Tsirkin 3 siblings, 1 reply; 15+ messages in thread From: Ani Sinha @ 2021-10-07 13:57 UTC (permalink / raw) To: qemu-devel; +Cc: Ani Sinha, Igor Mammedov, Michael S. Tsirkin 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> --- tests/qtest/bios-tables-test.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c index 4f11d03055..33107caeed 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -859,6 +859,23 @@ static void test_acpi_q35_tcg_bridge(void) free_test_data(&data); } +static void test_acpi_q35_multif_bridge(void) +{ + test_data data = { + .machine = MACHINE_Q35, + .variant = ".multi-bridge", + }; + test_acpi_one("-device pcie-root-port,id=pcie-root-port-0," + "multifunction=on," + "port=0x0,chassis=1,addr=0x2,bus=pcie.0 " + "-device pcie-root-port,id=pcie-root-port-1," + "port=0x1,chassis=2,addr=0x3.0x1,bus=pcie.0 " + "-device virtio-balloon,id=balloon0," + "bus=pcie.0,addr=0x4.0x2", + &data); + free_test_data(&data); +} + static void test_acpi_q35_tcg_mmio64(void) { test_data data = { @@ -1534,6 +1551,7 @@ int main(int argc, char *argv[]) test_acpi_piix4_no_acpi_pci_hotplug); qtest_add_func("acpi/q35", test_acpi_q35_tcg); qtest_add_func("acpi/q35/bridge", test_acpi_q35_tcg_bridge); + qtest_add_func("acpi/q35/multif-bridge", test_acpi_q35_multif_bridge); qtest_add_func("acpi/q35/mmio64", test_acpi_q35_tcg_mmio64); qtest_add_func("acpi/piix4/ipmi", test_acpi_piix4_tcg_ipmi); qtest_add_func("acpi/q35/ipmi", test_acpi_q35_tcg_ipmi); -- 2.25.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v3 2/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 2021-10-07 13:57 ` [PATCH v3 2/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 Ani Sinha @ 2021-10-11 13:53 ` Igor Mammedov 0 siblings, 0 replies; 15+ messages in thread From: Igor Mammedov @ 2021-10-11 13:53 UTC (permalink / raw) To: Ani Sinha; +Cc: qemu-devel, Michael S. Tsirkin On Thu, 7 Oct 2021 19:27:49 +0530 Ani Sinha <ani@anisinha.ca> wrote: > 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> Reviewed-by: Igor Mammedov <imammedo@redhat.com> > --- > tests/qtest/bios-tables-test.c | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c > index 4f11d03055..33107caeed 100644 > --- a/tests/qtest/bios-tables-test.c > +++ b/tests/qtest/bios-tables-test.c > @@ -859,6 +859,23 @@ static void test_acpi_q35_tcg_bridge(void) > free_test_data(&data); > } > > +static void test_acpi_q35_multif_bridge(void) > +{ > + test_data data = { > + .machine = MACHINE_Q35, > + .variant = ".multi-bridge", > + }; > + test_acpi_one("-device pcie-root-port,id=pcie-root-port-0," > + "multifunction=on," > + "port=0x0,chassis=1,addr=0x2,bus=pcie.0 " > + "-device pcie-root-port,id=pcie-root-port-1," > + "port=0x1,chassis=2,addr=0x3.0x1,bus=pcie.0 " > + "-device virtio-balloon,id=balloon0," > + "bus=pcie.0,addr=0x4.0x2", > + &data); > + free_test_data(&data); > +} > + > static void test_acpi_q35_tcg_mmio64(void) > { > test_data data = { > @@ -1534,6 +1551,7 @@ int main(int argc, char *argv[]) > test_acpi_piix4_no_acpi_pci_hotplug); > qtest_add_func("acpi/q35", test_acpi_q35_tcg); > qtest_add_func("acpi/q35/bridge", test_acpi_q35_tcg_bridge); > + qtest_add_func("acpi/q35/multif-bridge", test_acpi_q35_multif_bridge); > qtest_add_func("acpi/q35/mmio64", test_acpi_q35_tcg_mmio64); > qtest_add_func("acpi/piix4/ipmi", test_acpi_piix4_tcg_ipmi); > qtest_add_func("acpi/q35/ipmi", test_acpi_q35_tcg_ipmi); ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 3/3] tests/acpi/bios-tables-test: update DSDT blob for multifunction bridge test 2021-10-07 13:57 [PATCH v3 0/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 Ani Sinha 2021-10-07 13:57 ` [PATCH v3 1/3] tests/acpi/bios-tables-test: add and allow changes to a new q35 DSDT table blob Ani Sinha 2021-10-07 13:57 ` [PATCH v3 2/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 Ani Sinha @ 2021-10-07 13:57 ` Ani Sinha 2021-10-11 13:54 ` Igor Mammedov 2021-10-20 8:39 ` [PATCH v3 0/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 Michael S. Tsirkin 3 siblings, 1 reply; 15+ messages in thread From: Ani Sinha @ 2021-10-07 13:57 UTC (permalink / raw) To: qemu-devel; +Cc: Ani Sinha, Igor Mammedov, Michael S. Tsirkin 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> --- tests/data/acpi/q35/DSDT.multi-bridge | Bin 0 -> 8583 bytes tests/qtest/bios-tables-test-allowed-diff.h | 1 - 2 files changed, 1 deletion(-) diff --git a/tests/data/acpi/q35/DSDT.multi-bridge b/tests/data/acpi/q35/DSDT.multi-bridge index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a24c713d22102a1a1583b5c902edffe1694e5cfe 100644 GIT binary patch literal 8583 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 P)}F_He7!|yIezv(me~h+ literal 0 HcmV?d00001 diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index dabc024f53..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,2 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/q35/DSDT.multi-bridge", -- 2.25.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v3 3/3] tests/acpi/bios-tables-test: update DSDT blob for multifunction bridge test 2021-10-07 13:57 ` [PATCH v3 3/3] tests/acpi/bios-tables-test: update DSDT blob for multifunction bridge test Ani Sinha @ 2021-10-11 13:54 ` Igor Mammedov 0 siblings, 0 replies; 15+ messages in thread From: Igor Mammedov @ 2021-10-11 13:54 UTC (permalink / raw) To: Ani Sinha; +Cc: qemu-devel, Michael S. Tsirkin On Thu, 7 Oct 2021 19:27:50 +0530 Ani Sinha <ani@anisinha.ca> wrote: > 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> Acked-by: Igor Mammedov <imammedo@redhat.com> > --- > tests/data/acpi/q35/DSDT.multi-bridge | Bin 0 -> 8583 bytes > tests/qtest/bios-tables-test-allowed-diff.h | 1 - > 2 files changed, 1 deletion(-) > > diff --git a/tests/data/acpi/q35/DSDT.multi-bridge b/tests/data/acpi/q35/DSDT.multi-bridge > index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a24c713d22102a1a1583b5c902edffe1694e5cfe 100644 > GIT binary patch > literal 8583 > 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 > P)}F_He7!|yIezv(me~h+ > > literal 0 > HcmV?d00001 > > diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h > index dabc024f53..dfb8523c8b 100644 > --- a/tests/qtest/bios-tables-test-allowed-diff.h > +++ b/tests/qtest/bios-tables-test-allowed-diff.h > @@ -1,2 +1 @@ > /* List of comma-separated changed AML files to ignore */ > -"tests/data/acpi/q35/DSDT.multi-bridge", ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v3 0/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 2021-10-07 13:57 [PATCH v3 0/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 Ani Sinha ` (2 preceding siblings ...) 2021-10-07 13:57 ` [PATCH v3 3/3] tests/acpi/bios-tables-test: update DSDT blob for multifunction bridge test Ani Sinha @ 2021-10-20 8:39 ` Michael S. Tsirkin 2021-10-21 1:48 ` Ani Sinha 3 siblings, 1 reply; 15+ messages in thread From: Michael S. Tsirkin @ 2021-10-20 8:39 UTC (permalink / raw) To: Ani Sinha; +Cc: Igor Mammedov, qemu-devel On Thu, Oct 07, 2021 at 07:27:47PM +0530, Ani Sinha wrote: > changelist: > v3: removed "nodefaults" from the command line and rebased the patchset. > v2: incorporated some of the feedbacks from Igor. > v1 : initial RFC patch. This seems to break on s390 hosts for people. Likely an endian-ness bug somewhere. Dropped for now - care tracking that down and fixing so I can pick up the test again? Thanks! > This patchset adds a unit test to exercize acpi hotplug support for multifunction > bridges on q35 machines. This support was added with the commit: > > d7346e614f4ec ("acpi: x86: pcihp: add support hotplug on multifunction bridges") > > Ani Sinha (3): > tests/acpi/bios-tables-test: add and allow changes to a new q35 DSDT > table blob > tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges > for q35 > tests/acpi/bios-tables-test: update DSDT blob for multifunction bridge > test > > tests/data/acpi/q35/DSDT.multi-bridge | Bin 0 -> 8583 bytes > tests/qtest/bios-tables-test.c | 18 ++++++++++++++++++ > 2 files changed, 18 insertions(+) > create mode 100644 tests/data/acpi/q35/DSDT.multi-bridge > > -- > 2.25.1 ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v3 0/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 2021-10-20 8:39 ` [PATCH v3 0/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 Michael S. Tsirkin @ 2021-10-21 1:48 ` Ani Sinha 2021-10-21 6:19 ` Michael S. Tsirkin 0 siblings, 1 reply; 15+ messages in thread From: Ani Sinha @ 2021-10-21 1:48 UTC (permalink / raw) To: Michael S. Tsirkin; +Cc: Igor Mammedov, qemu-devel [-- Attachment #1: Type: text/plain, Size: 1409 bytes --] On Wed, Oct 20, 2021 at 2:09 PM Michael S. Tsirkin <mst@redhat.com> wrote: > On Thu, Oct 07, 2021 at 07:27:47PM +0530, Ani Sinha wrote: > > changelist: > > v3: removed "nodefaults" from the command line and rebased the patchset. > > v2: incorporated some of the feedbacks from Igor. > > v1 : initial RFC patch. > > This seems to break on s390 hosts for people. Likely an > endian-ness bug somewhere. Dropped for now - care tracking that down > and fixing so I can pick up the test again? > > Thanks! So I take it this patch wasn't causing the issue since this has been merged to master now? > > > This patchset adds a unit test to exercize acpi hotplug support for > multifunction > > bridges on q35 machines. This support was added with the commit: > > > > d7346e614f4ec ("acpi: x86: pcihp: add support hotplug on multifunction > bridges") > > > > Ani Sinha (3): > > tests/acpi/bios-tables-test: add and allow changes to a new q35 DSDT > > table blob > > tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges > > for q35 > > tests/acpi/bios-tables-test: update DSDT blob for multifunction bridge > > test > > > > tests/data/acpi/q35/DSDT.multi-bridge | Bin 0 -> 8583 bytes > > tests/qtest/bios-tables-test.c | 18 ++++++++++++++++++ > > 2 files changed, 18 insertions(+) > > create mode 100644 tests/data/acpi/q35/DSDT.multi-bridge > > > > -- > > 2.25.1 > > [-- Attachment #2: Type: text/html, Size: 2213 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v3 0/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 2021-10-21 1:48 ` Ani Sinha @ 2021-10-21 6:19 ` Michael S. Tsirkin 2021-10-21 6:44 ` Ani Sinha 2021-10-21 7:00 ` Ani Sinha 0 siblings, 2 replies; 15+ messages in thread From: Michael S. Tsirkin @ 2021-10-21 6:19 UTC (permalink / raw) To: Ani Sinha; +Cc: Igor Mammedov, qemu-devel On Thu, Oct 21, 2021 at 07:18:43AM +0530, Ani Sinha wrote: > > > On Wed, Oct 20, 2021 at 2:09 PM Michael S. Tsirkin <mst@redhat.com> wrote: > > On Thu, Oct 07, 2021 at 07:27:47PM +0530, Ani Sinha wrote: > > changelist: > > v3: removed "nodefaults" from the command line and rebased the patchset. > > v2: incorporated some of the feedbacks from Igor. > > v1 : initial RFC patch. > > This seems to break on s390 hosts for people. Likely an > endian-ness bug somewhere. Dropped for now - care tracking that down > and fixing so I can pick up the test again? > > Thanks! > > > So I take it this patch wasn't causing the issue since this has been merged to > master now? > > Yes, we knew the bug is in the tested functionality not the test of course. With help from Thomas I was able to fix the original bug. The fix with more detail is here: commit 0e464f7d993113119f0fd17b890831440734ce15 Author: Michael S. Tsirkin <mst@redhat.com> Date: Wed Oct 20 05:48:54 2021 -0400 pci: fix PCI resource reserve capability on BE > > > This patchset adds a unit test to exercize acpi hotplug support for > multifunction > > bridges on q35 machines. This support was added with the commit: > > > > d7346e614f4ec ("acpi: x86: pcihp: add support hotplug on multifunction > bridges") > > > > Ani Sinha (3): > > tests/acpi/bios-tables-test: add and allow changes to a new q35 DSDT > > table blob > > tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges > > for q35 > > tests/acpi/bios-tables-test: update DSDT blob for multifunction bridge > > test > > > > tests/data/acpi/q35/DSDT.multi-bridge | Bin 0 -> 8583 bytes > > tests/qtest/bios-tables-test.c | 18 ++++++++++++++++++ > > 2 files changed, 18 insertions(+) > > create mode 100644 tests/data/acpi/q35/DSDT.multi-bridge > > > > -- > > 2.25.1 > > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v3 0/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 2021-10-21 6:19 ` Michael S. Tsirkin @ 2021-10-21 6:44 ` Ani Sinha 2021-10-21 7:00 ` Ani Sinha 1 sibling, 0 replies; 15+ messages in thread From: Ani Sinha @ 2021-10-21 6:44 UTC (permalink / raw) To: Michael S. Tsirkin; +Cc: Ani Sinha, Igor Mammedov, qemu-devel [-- Attachment #1: Type: text/plain, Size: 2346 bytes --] On Thu, 21 Oct 2021, Michael S. Tsirkin wrote: > On Thu, Oct 21, 2021 at 07:18:43AM +0530, Ani Sinha wrote: > > > > > > On Wed, Oct 20, 2021 at 2:09 PM Michael S. Tsirkin <mst@redhat.com> wrote: > > > > On Thu, Oct 07, 2021 at 07:27:47PM +0530, Ani Sinha wrote: > > > changelist: > > > v3: removed "nodefaults" from the command line and rebased the patchset. > > > v2: incorporated some of the feedbacks from Igor. > > > v1 : initial RFC patch. > > > > This seems to break on s390 hosts for people. Likely an > > endian-ness bug somewhere. Dropped for now - care tracking that down > > and fixing so I can pick up the test again? > > > > Thanks! > > > > > > So I take it this patch wasn't causing the issue since this has been merged to > > master now? > > > > > > Yes, we knew the bug is in the tested functionality not the test of > course. Yes which is why I was confused as well since the test would not introduce regression in the product! > With help from Thomas I was able to fix the original bug. Ok good. wanted to take a look at it with a clear mind in the morning but since this is fixed, all is good. > The fix with more detail is here: > > commit 0e464f7d993113119f0fd17b890831440734ce15 > Author: Michael S. Tsirkin <mst@redhat.com> > Date: Wed Oct 20 05:48:54 2021 -0400 > > pci: fix PCI resource reserve capability on BE > > > > > > > > This patchset adds a unit test to exercize acpi hotplug support for > > multifunction > > > bridges on q35 machines. This support was added with the commit: > > > > > > d7346e614f4ec ("acpi: x86: pcihp: add support hotplug on multifunction > > bridges") > > > > > > Ani Sinha (3): > > > tests/acpi/bios-tables-test: add and allow changes to a new q35 DSDT > > > table blob > > > tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges > > > for q35 > > > tests/acpi/bios-tables-test: update DSDT blob for multifunction bridge > > > test > > > > > > tests/data/acpi/q35/DSDT.multi-bridge | Bin 0 -> 8583 bytes > > > tests/qtest/bios-tables-test.c | 18 ++++++++++++++++++ > > > 2 files changed, 18 insertions(+) > > > create mode 100644 tests/data/acpi/q35/DSDT.multi-bridge > > > > > > -- > > > 2.25.1 > > > > > > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v3 0/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 2021-10-21 6:19 ` Michael S. Tsirkin 2021-10-21 6:44 ` Ani Sinha @ 2021-10-21 7:00 ` Ani Sinha 1 sibling, 0 replies; 15+ messages in thread From: Ani Sinha @ 2021-10-21 7:00 UTC (permalink / raw) To: Michael S. Tsirkin; +Cc: Ani Sinha, Igor Mammedov, qemu-devel On Thu, 21 Oct 2021, Michael S. Tsirkin wrote: > On Thu, Oct 21, 2021 at 07:18:43AM +0530, Ani Sinha wrote: > > > > > > On Wed, Oct 20, 2021 at 2:09 PM Michael S. Tsirkin <mst@redhat.com> wrote: > > > > On Thu, Oct 07, 2021 at 07:27:47PM +0530, Ani Sinha wrote: > > > changelist: > > > v3: removed "nodefaults" from the command line and rebased the patchset. > > > v2: incorporated some of the feedbacks from Igor. > > > v1 : initial RFC patch. > > > > This seems to break on s390 hosts for people. Likely an > > endian-ness bug somewhere. Dropped for now - care tracking that down > > and fixing so I can pick up the test again? > > > > Thanks! > > > > > > So I take it this patch wasn't causing the issue since this has been merged to > > master now? > > > > > > Yes, we knew the bug is in the tested functionality not the test of > course. With help from Thomas I was able to fix the original bug. > The fix with more detail is here: > > commit 0e464f7d993113119f0fd17b890831440734ce15 > Author: Michael S. Tsirkin <mst@redhat.com> > Date: Wed Oct 20 05:48:54 2021 -0400 > > pci: fix PCI resource reserve capability on BE BUG is quite old, since the time the function was actually written - 70e1ee59bb94 ("hw/pci: introduce bridge-only vendor-specific capability to provide some hints to firmware") I doubt in BE systems it ever worked. ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v3 0/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 @ 2021-09-20 7:00 Ani Sinha 2021-09-23 7:14 ` Ani Sinha 0 siblings, 1 reply; 15+ messages in thread From: Ani Sinha @ 2021-09-20 7:00 UTC (permalink / raw) To: qemu-devel; +Cc: Ani Sinha, imammedo, mst This patchset adds a unit test to exercize acpi hotplug support for multifunction bridges on q35 machines. This support was added with the commit: d7346e614f4ec ("acpi: x86: pcihp: add support hotplug on multifunction bridges") changelist: v1 : initial RFC patch. v2: incorporated some of the feedbacks from Igor. v3: forgot to add the ASL diff for patch 3 in commit log for v2. Added now. Ani Sinha (3): tests/acpi/bios-tables-test: add and allow changes to a new q35 DSDT table blob tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 tests/acpi/bios-tables-test: update DSDT blob for multifunction bridge test tests/data/acpi/q35/DSDT.multi-bridge | Bin 0 -> 8435 bytes tests/qtest/bios-tables-test.c | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 tests/data/acpi/q35/DSDT.multi-bridge -- 2.25.1 ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v3 0/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 2021-09-20 7:00 Ani Sinha @ 2021-09-23 7:14 ` Ani Sinha 2021-10-04 11:35 ` Ani Sinha 0 siblings, 1 reply; 15+ messages in thread From: Ani Sinha @ 2021-09-23 7:14 UTC (permalink / raw) To: Ani Sinha; +Cc: imammedo, qemu-devel, mst ping ... On Mon, 20 Sep 2021, Ani Sinha wrote: > This patchset adds a unit test to exercize acpi hotplug support for multifunction > bridges on q35 machines. This support was added with the commit: > > d7346e614f4ec ("acpi: x86: pcihp: add support hotplug on multifunction bridges") > > changelist: > v1 : initial RFC patch. > v2: incorporated some of the feedbacks from Igor. > v3: forgot to add the ASL diff for patch 3 in commit log for v2. Added now. > > Ani Sinha (3): > tests/acpi/bios-tables-test: add and allow changes to a new q35 DSDT > table blob > tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges > for q35 > tests/acpi/bios-tables-test: update DSDT blob for multifunction bridge > test > > tests/data/acpi/q35/DSDT.multi-bridge | Bin 0 -> 8435 bytes > tests/qtest/bios-tables-test.c | 18 ++++++++++++++++++ > 2 files changed, 18 insertions(+) > create mode 100644 tests/data/acpi/q35/DSDT.multi-bridge > > -- > 2.25.1 > > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v3 0/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 2021-09-23 7:14 ` Ani Sinha @ 2021-10-04 11:35 ` Ani Sinha 0 siblings, 0 replies; 15+ messages in thread From: Ani Sinha @ 2021-10-04 11:35 UTC (permalink / raw) To: Ani Sinha; +Cc: imammedo, qemu-devel, mst ping On Thu, Sep 23, 2021 at 12:44 PM Ani Sinha <ani@anisinha.ca> wrote: > > ping ... > > On Mon, 20 Sep 2021, Ani Sinha wrote: > > > This patchset adds a unit test to exercize acpi hotplug support for multifunction > > bridges on q35 machines. This support was added with the commit: > > > > d7346e614f4ec ("acpi: x86: pcihp: add support hotplug on multifunction bridges") > > > > changelist: > > v1 : initial RFC patch. > > v2: incorporated some of the feedbacks from Igor. > > v3: forgot to add the ASL diff for patch 3 in commit log for v2. Added now. > > > > Ani Sinha (3): > > tests/acpi/bios-tables-test: add and allow changes to a new q35 DSDT > > table blob > > tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges > > for q35 > > tests/acpi/bios-tables-test: update DSDT blob for multifunction bridge > > test > > > > tests/data/acpi/q35/DSDT.multi-bridge | Bin 0 -> 8435 bytes > > tests/qtest/bios-tables-test.c | 18 ++++++++++++++++++ > > 2 files changed, 18 insertions(+) > > create mode 100644 tests/data/acpi/q35/DSDT.multi-bridge > > > > -- > > 2.25.1 > > > > ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2021-10-21 7:04 UTC | newest] Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-10-07 13:57 [PATCH v3 0/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 Ani Sinha 2021-10-07 13:57 ` [PATCH v3 1/3] tests/acpi/bios-tables-test: add and allow changes to a new q35 DSDT table blob Ani Sinha 2021-10-11 13:54 ` Igor Mammedov 2021-10-07 13:57 ` [PATCH v3 2/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 Ani Sinha 2021-10-11 13:53 ` Igor Mammedov 2021-10-07 13:57 ` [PATCH v3 3/3] tests/acpi/bios-tables-test: update DSDT blob for multifunction bridge test Ani Sinha 2021-10-11 13:54 ` Igor Mammedov 2021-10-20 8:39 ` [PATCH v3 0/3] tests/acpi/pcihp: add unit tests for hotplug on multifunction bridges for q35 Michael S. Tsirkin 2021-10-21 1:48 ` Ani Sinha 2021-10-21 6:19 ` Michael S. Tsirkin 2021-10-21 6:44 ` Ani Sinha 2021-10-21 7:00 ` Ani Sinha -- strict thread matches above, loose matches on Subject: below -- 2021-09-20 7:00 Ani Sinha 2021-09-23 7:14 ` Ani Sinha 2021-10-04 11:35 ` Ani Sinha
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.