Ability to turn hotplug off on the pci root bus for i440fx was added in commit:
3d7e78aa7777f0 ("Introduce a new flag for i440fx to disable PCI hotplug on the root bus")
This change adds a unit test in order to test this feature.
This change has been tested against upstream qemu master branch on top of tag v5.1.0.
Signed-off-by: Ani Sinha <ani@anisinha.ca>
---
tests/qtest/bios-tables-test.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
index d49b3988ec..8f7d87c0f6 100644
--- a/tests/qtest/bios-tables-test.c
+++ b/tests/qtest/bios-tables-test.c
@@ -709,6 +709,19 @@ static void test_acpi_piix4_tcg_bridge(void)
free_test_data(&data);
}
+static void test_acpi_piix4_root_hotplug(void)
+{
+ test_data data;
+
+ memset(&data, 0, sizeof(data));
+ data.machine = MACHINE_PC;
+ data.variant = ".roothp";
+ 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", &data);
+ free_test_data(&data);
+}
+
static void test_acpi_q35_tcg(void)
{
test_data data;
@@ -1102,6 +1115,7 @@ 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/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);
--
2.17.1
On Sun, 30 Aug 2020 15:29:13 +0530
Ani Sinha <ani@anisinha.ca> wrote:
> Ability to turn hotplug off on the pci root bus for i440fx was added in commit:
> 3d7e78aa7777f0 ("Introduce a new flag for i440fx to disable PCI hotplug on the root bus")
>
> This change adds a unit test in order to test this feature.
>
> This change has been tested against upstream qemu master branch on top of tag v5.1.0.
>
> Signed-off-by: Ani Sinha <ani@anisinha.ca>
> ---
> tests/qtest/bios-tables-test.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
> index d49b3988ec..8f7d87c0f6 100644
> --- a/tests/qtest/bios-tables-test.c
> +++ b/tests/qtest/bios-tables-test.c
> @@ -709,6 +709,19 @@ static void test_acpi_piix4_tcg_bridge(void)
> free_test_data(&data);
> }
>
> +static void test_acpi_piix4_root_hotplug(void)
> +{
> + test_data data;
> +
> + memset(&data, 0, sizeof(data));
> + data.machine = MACHINE_PC;
> + data.variant = ".roothp";
> + 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", &data);
I'd include here bridge config as well (test_acpi_piix4_tcg_bridge)
so that ASL diff could show whether bridge was or wasn't affected.
> + free_test_data(&data);
> +}
> +
> static void test_acpi_q35_tcg(void)
> {
> test_data data;
> @@ -1102,6 +1115,7 @@ 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/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 Tue, Sep 1, 2020 at 7:21 PM Igor Mammedov <imammedo@redhat.com> wrote:
>
> On Sun, 30 Aug 2020 15:29:13 +0530
> Ani Sinha <ani@anisinha.ca> wrote:
>
> > Ability to turn hotplug off on the pci root bus for i440fx was added in commit:
> > 3d7e78aa7777f0 ("Introduce a new flag for i440fx to disable PCI hotplug on the root bus")
> >
> > This change adds a unit test in order to test this feature.
> >
> > This change has been tested against upstream qemu master branch on top of tag v5.1.0.
> >
> > Signed-off-by: Ani Sinha <ani@anisinha.ca>
> > ---
> > tests/qtest/bios-tables-test.c | 14 ++++++++++++++
> > 1 file changed, 14 insertions(+)
> >
> > diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
> > index d49b3988ec..8f7d87c0f6 100644
> > --- a/tests/qtest/bios-tables-test.c
> > +++ b/tests/qtest/bios-tables-test.c
> > @@ -709,6 +709,19 @@ static void test_acpi_piix4_tcg_bridge(void)
> > free_test_data(&data);
> > }
> >
> > +static void test_acpi_piix4_root_hotplug(void)
> > +{
> > + test_data data;
> > +
> > + memset(&data, 0, sizeof(data));
> > + data.machine = MACHINE_PC;
> > + data.variant = ".roothp";
> > + 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", &data);
>
> I'd include here bridge config as well (test_acpi_piix4_tcg_bridge)
> so that ASL diff could show whether bridge was or wasn't affected.
Patch series v2 just sent.
>
> > + free_test_data(&data);
> > +}
> > +
> > static void test_acpi_q35_tcg(void)
> > {
> > test_data data;
> > @@ -1102,6 +1115,7 @@ 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/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);
>
© 2016 - 2026 Red Hat, Inc.