qemu with hax to log dma reads & writes jcs.org/2018/11/12/vfio

acpi: make build_madt() more generic.

Remove PCMachineState dependency from build_madt().
Pass AcpiDeviceIf as separate argument instead of
depending on PCMachineState->acpi_dev.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20200520132003.9492-6-kraxel@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

authored by

Gerd Hoffmann and committed by
Michael S. Tsirkin
1dc32f9a 9b83bb27

+7 -7
+7 -7
hw/i386/acpi-build.c
··· 366 366 } 367 367 368 368 static void 369 - build_madt(GArray *table_data, BIOSLinker *linker, PCMachineState *pcms) 369 + build_madt(GArray *table_data, BIOSLinker *linker, 370 + X86MachineState *x86ms, AcpiDeviceIf *adev) 370 371 { 371 - MachineClass *mc = MACHINE_GET_CLASS(pcms); 372 - X86MachineState *x86ms = X86_MACHINE(pcms); 373 - const CPUArchIdList *apic_ids = mc->possible_cpu_arch_ids(MACHINE(pcms)); 372 + MachineClass *mc = MACHINE_GET_CLASS(x86ms); 373 + const CPUArchIdList *apic_ids = mc->possible_cpu_arch_ids(MACHINE(x86ms)); 374 374 int madt_start = table_data->len; 375 - AcpiDeviceIfClass *adevc = ACPI_DEVICE_IF_GET_CLASS(pcms->acpi_dev); 376 - AcpiDeviceIf *adev = ACPI_DEVICE_IF(pcms->acpi_dev); 375 + AcpiDeviceIfClass *adevc = ACPI_DEVICE_IF_GET_CLASS(adev); 377 376 bool x2apic_mode = false; 378 377 379 378 AcpiMultipleApicTable *madt; ··· 2708 2707 aml_len += tables_blob->len - fadt; 2709 2708 2710 2709 acpi_add_table(table_offsets, tables_blob); 2711 - build_madt(tables_blob, tables->linker, pcms); 2710 + build_madt(tables_blob, tables->linker, x86ms, 2711 + ACPI_DEVICE_IF(pcms->acpi_dev)); 2712 2712 2713 2713 vmgenid_dev = find_vmgenid_dev(); 2714 2714 if (vmgenid_dev) {