@@ -1154,6 +1154,17 @@ static void test_acpi_microvm_pcie_tcg(void)
free_test_data(&data);
}
+static void test_acpi_microvm_ioapic2_tcg(void)
+{
+ test_data data;
+
+ test_acpi_microvm_prepare(&data);
+ data.variant = ".ioapic2";
+ test_acpi_one(" -machine microvm,acpi=on,ioapic2=on,rtc=off",
+ &data);
+ free_test_data(&data);
+}
+
static void test_acpi_virt_tcg_numamem(void)
{
test_data data = {
@@ -1280,6 +1291,7 @@ int main(int argc, char *argv[])
qtest_add_func("acpi/microvm", test_acpi_microvm_tcg);
qtest_add_func("acpi/microvm/usb", test_acpi_microvm_usb_tcg);
qtest_add_func("acpi/microvm/rtc", test_acpi_microvm_rtc_tcg);
+ qtest_add_func("acpi/microvm/ioapic2", test_acpi_microvm_ioapic2_tcg);
if (strcmp(arch, "x86_64") == 0) {
qtest_add_func("acpi/microvm/pcie", test_acpi_microvm_pcie_tcg);
}
APIC table changes: [034h 0052 1] Subtable Type : 01 [I/O APIC] [035h 0053 1] Length : 0C [036h 0054 1] I/O Apic ID : 00 [037h 0055 1] Reserved : 00 [038h 0056 4] Address : FEC00000 [03Ch 0060 4] Interrupt : 00000000 +[040h 0064 1] Subtable Type : 01 [I/O APIC] +[041h 0065 1] Length : 0C +[042h 0066 1] I/O Apic ID : 01 +[043h 0067 1] Reserved : 00 +[044h 0068 4] Address : FEC10000 +[048h 0072 4] Interrupt : 00000018 DSDT table changes: - Device (VR07) + Device (VR23) { Name (_HID, "LNRO0005") // _HID: Hardware ID - Name (_UID, 0x07) // _UID: Unique ID + Name (_UID, 0x17) // _UID: Unique ID Name (_CCA, One) // _CCA: Cache Coherency Attribute Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { Memory32Fixed (ReadWrite, - 0xFEB00E00, // Address Base + 0xFEB02E00, // Address Base 0x00000200, // Address Length ) Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) { - 0x00000017, + 0x0000002F, } }) } } Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- tests/qtest/bios-tables-test.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)