diff mbox series

[v7,11/12] tests/acpi: unit test exercising global pci hotplug off for i440fx

Message ID 20200917100947.21106-12-ani@anisinha.ca
State Superseded
Headers show
Series i440fx/acpi: addition of feature and bug fixes. | expand

Commit Message

Ani Sinha Sept. 17, 2020, 10:09 a.m. UTC
This change adds a unit test to exercise the case when hotplug is disabled
both for pci root bus and the pci bridges by passing the following two
switches to qemu:

  -global PIIX4_PM.acpi-root-pci-hotplug=off
  -global PIIX4_PM.acpi-pci-hotplug-with-bridge-support=off

bios-tables-test-allowed-diff.h documents the fact that a new DSDT acpi gold
master binary blob we need to be added to test this. We will do the actual
addition in the next patch in the series.

Signed-off-by: Ani Sinha <ani@anisinha.ca>
---
 tests/qtest/bios-tables-test-allowed-diff.h |  1 +
 tests/qtest/bios-tables-test.c              | 17 +++++++++++++++++
 2 files changed, 18 insertions(+)

Comments

Igor Mammedov Sept. 17, 2020, 2:11 p.m. UTC | #1
On Thu, 17 Sep 2020 15:39:46 +0530
Ani Sinha <ani@anisinha.ca> wrote:

> This change adds a unit test to exercise the case when hotplug is disabled

> both for pci root bus and the pci bridges by passing the following two

> switches to qemu:

> 

>   -global PIIX4_PM.acpi-root-pci-hotplug=off

>   -global PIIX4_PM.acpi-pci-hotplug-with-bridge-support=off

> 

> bios-tables-test-allowed-diff.h documents the fact that a new DSDT acpi gold

> master binary blob we need to be added to test this. We will do the actual

> addition in the next patch in the series.

> 

> Signed-off-by: Ani Sinha <ani@anisinha.ca>


Reviewed-by: Igor Mammedov <imammedo@redhat.com>


> ---

>  tests/qtest/bios-tables-test-allowed-diff.h |  1 +

>  tests/qtest/bios-tables-test.c              | 17 +++++++++++++++++

>  2 files changed, 18 insertions(+)

> 

> diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h

> index dfb8523c8b..dea61d94f1 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/pc/DSDT.hpbrroot",

> diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c

> index c970556795..3f7f1a8107 100644

> --- a/tests/qtest/bios-tables-test.c

> +++ b/tests/qtest/bios-tables-test.c

> @@ -768,6 +768,21 @@ static void test_acpi_piix4_no_bridge_hotplug(void)

>      free_test_data(&data);

>  }

>  

> +static void test_acpi_piix4_no_acpi_pci_hotplug(void)

> +{

> +    test_data data;

> +

> +    memset(&data, 0, sizeof(data));

> +    data.machine = MACHINE_PC;

> +    data.variant = ".hpbrroot";

> +    data.required_struct_types = base_required_struct_types;

> +    data.required_struct_types_len = ARRAY_SIZE(base_required_struct_types);

> +    test_acpi_one("-global PIIX4_PM.acpi-root-pci-hotplug=off "

> +                  "-global PIIX4_PM.acpi-pci-hotplug-with-bridge-support=off "

> +                  "-device pci-bridge,chassis_nr=1", &data);

> +    free_test_data(&data);

> +}

> +

>  static void test_acpi_q35_tcg(void)

>  {

>      test_data data;

> @@ -1176,6 +1191,8 @@ int main(int argc, char *argv[])

>                         test_acpi_piix4_no_root_hotplug);

>          qtest_add_func("acpi/piix4/pci-hotplug/no_bridge_hotplug",

>                         test_acpi_piix4_no_bridge_hotplug);

> +        qtest_add_func("acpi/piix4/pci-hotplug/off",

> +                       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/mmio64", test_acpi_q35_tcg_mmio64);
diff mbox series

Patch

diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h
index dfb8523c8b..dea61d94f1 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/pc/DSDT.hpbrroot",
diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
index c970556795..3f7f1a8107 100644
--- a/tests/qtest/bios-tables-test.c
+++ b/tests/qtest/bios-tables-test.c
@@ -768,6 +768,21 @@  static void test_acpi_piix4_no_bridge_hotplug(void)
     free_test_data(&data);
 }
 
+static void test_acpi_piix4_no_acpi_pci_hotplug(void)
+{
+    test_data data;
+
+    memset(&data, 0, sizeof(data));
+    data.machine = MACHINE_PC;
+    data.variant = ".hpbrroot";
+    data.required_struct_types = base_required_struct_types;
+    data.required_struct_types_len = ARRAY_SIZE(base_required_struct_types);
+    test_acpi_one("-global PIIX4_PM.acpi-root-pci-hotplug=off "
+                  "-global PIIX4_PM.acpi-pci-hotplug-with-bridge-support=off "
+                  "-device pci-bridge,chassis_nr=1", &data);
+    free_test_data(&data);
+}
+
 static void test_acpi_q35_tcg(void)
 {
     test_data data;
@@ -1176,6 +1191,8 @@  int main(int argc, char *argv[])
                        test_acpi_piix4_no_root_hotplug);
         qtest_add_func("acpi/piix4/pci-hotplug/no_bridge_hotplug",
                        test_acpi_piix4_no_bridge_hotplug);
+        qtest_add_func("acpi/piix4/pci-hotplug/off",
+                       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/mmio64", test_acpi_q35_tcg_mmio64);