diff mbox

[V3,3/3] tests/acpi: add pxb/pxb-pcie tests

Message ID 1467107968-10410-4-git-send-email-marcel@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Marcel Apfelbaum June 28, 2016, 9:59 a.m. UTC
Add an ivshmem device with 4G shared memory to
pxb in order to check the ACPI code of 64bit MMIO allocation.

Signed-off-by: Marcel Apfelbaum <marcel@redhat.com>
---
 tests/acpi-test-data/pc/DSDT.pxb       | Bin 0 -> 6329 bytes
 tests/acpi-test-data/q35/DSDT.pxb_pcie | Bin 0 -> 9098 bytes
 tests/bios-tables-test.c               |  37 +++++++++++++++++++++++++++++++++
 3 files changed, 37 insertions(+)
 create mode 100644 tests/acpi-test-data/pc/DSDT.pxb
 create mode 100644 tests/acpi-test-data/q35/DSDT.pxb_pcie
diff mbox

Patch

diff --git a/tests/acpi-test-data/pc/DSDT.pxb b/tests/acpi-test-data/pc/DSDT.pxb
new file mode 100644
index 0000000000000000000000000000000000000000..8c0dbf714e7fb7b7a7cdd32945f07f721d45d7d8
GIT binary patch
literal 6329
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

literal 0
HcmV?d00001

diff --git a/tests/acpi-test-data/q35/DSDT.pxb_pcie b/tests/acpi-test-data/q35/DSDT.pxb_pcie
new file mode 100644
index 0000000000000000000000000000000000000000..838ca876dece056934ed511197c2a8fa0d27fd11
GIT binary patch
literal 9098
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
D-{y{a

literal 0
HcmV?d00001

diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c
index 92c90dd..3d87f9e 100644
--- a/tests/bios-tables-test.c
+++ b/tests/bios-tables-test.c
@@ -838,6 +838,41 @@  static void test_acpi_piix4_tcg_ipmi(void)
     free_test_data(&data);
 }
 
+static void test_acpi_piix4_tcg_pxb(void)
+{
+    test_data data;
+
+    memset(&data, 0, sizeof(data));
+    data.machine = MACHINE_PC;
+    data.variant = ".pxb";
+    data.required_struct_types = base_required_struct_types;
+    data.required_struct_types_len = ARRAY_SIZE(base_required_struct_types);
+    test_acpi_one("-machine accel=tcg"
+                  " -device pxb,id=pxb,bus_nr=0x80,bus=pci.0"
+                  " -object memory-backend-file,size=4G,mem-path=/tmp/shmem,share,id=mb"
+                  " -device ivshmem-plain,memdev=mb,bus=pxb",
+                  &data);
+    free_test_data(&data);
+}
+
+static void test_acpi_q35_tcg_pxb_pcie(void)
+{
+    test_data data;
+
+    memset(&data, 0, sizeof(data));
+    data.machine = MACHINE_Q35;
+    data.variant = ".pxb_pcie";
+    data.required_struct_types = base_required_struct_types;
+    data.required_struct_types_len = ARRAY_SIZE(ipmi_required_struct_types);
+    test_acpi_one("-machine q35,accel=tcg"
+                  " -device pxb-pcie,id=pxb,bus_nr=0x80,bus=pcie.0"
+                  " -device ioh3420,id=rp,bus=pxb,slot=1"
+                  " -object memory-backend-file,size=4G,mem-path=/tmp/shmem,share,id=mb"
+                  " -device ivshmem-plain,memdev=mb,bus=rp",
+                  &data);
+    free_test_data(&data);
+}
+
 int main(int argc, char *argv[])
 {
     const char *arch = qtest_get_arch();
@@ -856,6 +891,8 @@  int main(int argc, char *argv[])
         qtest_add_func("acpi/q35/tcg/bridge", test_acpi_q35_tcg_bridge);
         qtest_add_func("acpi/piix4/tcg/ipmi", test_acpi_piix4_tcg_ipmi);
         qtest_add_func("acpi/q35/tcg/ipmi", test_acpi_q35_tcg_ipmi);
+        qtest_add_func("acpi/piix4/tcg/pxb", test_acpi_piix4_tcg_pxb);
+        qtest_add_func("acpi/q35/tcg/pxb-pcie", test_acpi_q35_tcg_pxb_pcie);
     }
     ret = g_test_run();
     boot_sector_cleanup(disk);