Message ID | 20200916061335.14045-11-ani@anisinha.ca |
---|---|
State | New |
Headers | show |
Series | i440fx/acpi: addition of feature and bug fixes. | expand |
On Wed, 16 Sep 2020 11:43:34 +0530 Ani Sinha <ani@anisinha.ca> wrote: > This change adds a unit test to exercize 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. > > The following link contains the disassembly of the DSDT table after passing the above > two switches to qemu: https://pastebin.ubuntu.com/p/WvpYYjpPN8/ > > Signed-off-by: Ani Sinha <ani@anisinha.ca> > --- > tests/qtest/bios-tables-test-allowed-diff.h | 1 + > tests/qtest/bios-tables-test.c | 19 ++++++++++++++++++- > 2 files changed, 19 insertions(+), 1 deletion(-) > > 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 7632cfe1be..4c834474ad 100644 > --- a/tests/qtest/bios-tables-test.c > +++ b/tests/qtest/bios-tables-test.c > @@ -768,6 +768,21 @@ static void test_acpi_piix4_bridge_hotplug(void) > free_test_data(&data); > } > > +static void test_acpi_piix4_bridge_root_hotplug(void) maybe better naming would be s/bridge_root_hotplug/no_acpi_pci_hotplug/ > +{ > + 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; > @@ -1172,8 +1187,10 @@ int main(int argc, char *argv[]) > qtest_add_func("acpi/q35/tpm-tis", test_acpi_q35_tcg_tpm_tis); > qtest_add_func("acpi/piix4", test_acpi_piix4_tcg); > qtest_add_func("acpi/piix4/bridge", test_acpi_piix4_tcg_bridge); > - qtest_add_func("acpi/piix4/hotplug", test_acpi_piix4_root_hotplug); > + qtest_add_func("acpi/piix4/roothotplug", test_acpi_piix4_root_hotplug); > qtest_add_func("acpi/piix4/brhotplug", test_acpi_piix4_bridge_hotplug); > + qtest_add_func("acpi/piix4/disablehp", how about: "pci-hotplug/off" > + test_acpi_piix4_bridge_root_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);
On Wed, 16 Sep 2020 11:43:34 +0530 Ani Sinha <ani@anisinha.ca> wrote: > This change adds a unit test to exercize 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. > The following link contains the disassembly of the DSDT table after passing the above > two switches to qemu: https://pastebin.ubuntu.com/p/WvpYYjpPN8/ put this below --- line, please > > Signed-off-by: Ani Sinha <ani@anisinha.ca> > --- > tests/qtest/bios-tables-test-allowed-diff.h | 1 + > tests/qtest/bios-tables-test.c | 19 ++++++++++++++++++- > 2 files changed, 19 insertions(+), 1 deletion(-) > > 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 7632cfe1be..4c834474ad 100644 > --- a/tests/qtest/bios-tables-test.c > +++ b/tests/qtest/bios-tables-test.c > @@ -768,6 +768,21 @@ static void test_acpi_piix4_bridge_hotplug(void) > free_test_data(&data); > } > > +static void test_acpi_piix4_bridge_root_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; > @@ -1172,8 +1187,10 @@ int main(int argc, char *argv[]) > qtest_add_func("acpi/q35/tpm-tis", test_acpi_q35_tcg_tpm_tis); > qtest_add_func("acpi/piix4", test_acpi_piix4_tcg); > qtest_add_func("acpi/piix4/bridge", test_acpi_piix4_tcg_bridge); > - qtest_add_func("acpi/piix4/hotplug", test_acpi_piix4_root_hotplug); > + qtest_add_func("acpi/piix4/roothotplug", test_acpi_piix4_root_hotplug); > qtest_add_func("acpi/piix4/brhotplug", test_acpi_piix4_bridge_hotplug); > + qtest_add_func("acpi/piix4/disablehp", > + test_acpi_piix4_bridge_root_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);
Hi! On 16/09/2020 08.13, Ani Sinha wrote: > This change adds a unit test to exercize the case when hotplug is disabled both for exercize ==> exercise (also in the subject, please) [...]> diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c > index 7632cfe1be..4c834474ad 100644 > --- a/tests/qtest/bios-tables-test.c > +++ b/tests/qtest/bios-tables-test.c > @@ -768,6 +768,21 @@ static void test_acpi_piix4_bridge_hotplug(void) > free_test_data(&data); > } > > +static void test_acpi_piix4_bridge_root_hotplug(void) > +{ > + test_data data; > + > + memset(&data, 0, sizeof(data)); > + data.machine = MACHINE_PC; > + data.variant = ".hpbrroot"; You could use: test data = { .machine = MACHINE_PC; .variant = ".hpbrroot"; }; ... then you don't need the memset() call anymore. Thomas
On Wed, Sep 16, 2020 at 1:11 PM Thomas Huth <thuth@redhat.com> wrote: > > Hi! > > On 16/09/2020 08.13, Ani Sinha wrote: > > This change adds a unit test to exercize the case when hotplug is disabled both for > > exercize ==> exercise > (also in the subject, please) > > [...]> diff --git a/tests/qtest/bios-tables-test.c > b/tests/qtest/bios-tables-test.c > > index 7632cfe1be..4c834474ad 100644 > > --- a/tests/qtest/bios-tables-test.c > > +++ b/tests/qtest/bios-tables-test.c > > @@ -768,6 +768,21 @@ static void test_acpi_piix4_bridge_hotplug(void) > > free_test_data(&data); > > } > > > > +static void test_acpi_piix4_bridge_root_hotplug(void) > > +{ > > + test_data data; > > + > > + memset(&data, 0, sizeof(data)); > > + data.machine = MACHINE_PC; > > + data.variant = ".hpbrroot"; > > You could use: > > test data = { > .machine = MACHINE_PC; > .variant = ".hpbrroot"; > }; > > ... then you don't need the memset() call anymore. It seems the tests which initialize data that way are the ones which have more test attributes to set in data. Most tests does a memset. So I will leave the memset as is for now. > > Thomas >
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 7632cfe1be..4c834474ad 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -768,6 +768,21 @@ static void test_acpi_piix4_bridge_hotplug(void) free_test_data(&data); } +static void test_acpi_piix4_bridge_root_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; @@ -1172,8 +1187,10 @@ int main(int argc, char *argv[]) qtest_add_func("acpi/q35/tpm-tis", test_acpi_q35_tcg_tpm_tis); qtest_add_func("acpi/piix4", test_acpi_piix4_tcg); qtest_add_func("acpi/piix4/bridge", test_acpi_piix4_tcg_bridge); - qtest_add_func("acpi/piix4/hotplug", test_acpi_piix4_root_hotplug); + qtest_add_func("acpi/piix4/roothotplug", test_acpi_piix4_root_hotplug); qtest_add_func("acpi/piix4/brhotplug", test_acpi_piix4_bridge_hotplug); + qtest_add_func("acpi/piix4/disablehp", + test_acpi_piix4_bridge_root_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);
This change adds a unit test to exercize 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. The following link contains the disassembly of the DSDT table after passing the above two switches to qemu: https://pastebin.ubuntu.com/p/WvpYYjpPN8/ Signed-off-by: Ani Sinha <ani@anisinha.ca> --- tests/qtest/bios-tables-test-allowed-diff.h | 1 + tests/qtest/bios-tables-test.c | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-)