hw/i386/acpi-build: Use pc_madt_cpu_entry() directly
This is x86-specific code, so there is no advantage in using pc_madt_cpu_entry() behind an architecture-agnostic interface. Signed-off-by: Bernhard Beschow <shentey@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20230908084234.17642-2-shentey@gmail.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
886e0a5f31
commit
f4a06e5921
@ -2547,8 +2547,7 @@ void acpi_build(AcpiBuildTables *tables, MachineState *machine)
|
|||||||
|
|
||||||
acpi_add_table(table_offsets, tables_blob);
|
acpi_add_table(table_offsets, tables_blob);
|
||||||
acpi_build_madt(tables_blob, tables->linker, x86ms,
|
acpi_build_madt(tables_blob, tables->linker, x86ms,
|
||||||
ACPI_DEVICE_IF(x86ms->acpi_dev), x86ms->oem_id,
|
x86ms->oem_id, x86ms->oem_table_id);
|
||||||
x86ms->oem_table_id);
|
|
||||||
|
|
||||||
#ifdef CONFIG_ACPI_ERST
|
#ifdef CONFIG_ACPI_ERST
|
||||||
{
|
{
|
||||||
|
@ -94,14 +94,13 @@ build_xrupt_override(GArray *entry, uint8_t src, uint32_t gsi, uint16_t flags)
|
|||||||
* 5.2.8 Multiple APIC Description Table
|
* 5.2.8 Multiple APIC Description Table
|
||||||
*/
|
*/
|
||||||
void acpi_build_madt(GArray *table_data, BIOSLinker *linker,
|
void acpi_build_madt(GArray *table_data, BIOSLinker *linker,
|
||||||
X86MachineState *x86ms, AcpiDeviceIf *adev,
|
X86MachineState *x86ms,
|
||||||
const char *oem_id, const char *oem_table_id)
|
const char *oem_id, const char *oem_table_id)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
bool x2apic_mode = false;
|
bool x2apic_mode = false;
|
||||||
MachineClass *mc = MACHINE_GET_CLASS(x86ms);
|
MachineClass *mc = MACHINE_GET_CLASS(x86ms);
|
||||||
const CPUArchIdList *apic_ids = mc->possible_cpu_arch_ids(MACHINE(x86ms));
|
const CPUArchIdList *apic_ids = mc->possible_cpu_arch_ids(MACHINE(x86ms));
|
||||||
AcpiDeviceIfClass *adevc = ACPI_DEVICE_IF_GET_CLASS(adev);
|
|
||||||
AcpiTable table = { .sig = "APIC", .rev = 3, .oem_id = oem_id,
|
AcpiTable table = { .sig = "APIC", .rev = 3, .oem_id = oem_id,
|
||||||
.oem_table_id = oem_table_id };
|
.oem_table_id = oem_table_id };
|
||||||
|
|
||||||
@ -111,7 +110,7 @@ void acpi_build_madt(GArray *table_data, BIOSLinker *linker,
|
|||||||
build_append_int_noprefix(table_data, 1 /* PCAT_COMPAT */, 4); /* Flags */
|
build_append_int_noprefix(table_data, 1 /* PCAT_COMPAT */, 4); /* Flags */
|
||||||
|
|
||||||
for (i = 0; i < apic_ids->len; i++) {
|
for (i = 0; i < apic_ids->len; i++) {
|
||||||
adevc->madt_cpu(i, apic_ids, table_data, false);
|
pc_madt_cpu_entry(i, apic_ids, table_data, false);
|
||||||
if (apic_ids->cpus[i].arch_id > 254) {
|
if (apic_ids->cpus[i].arch_id > 254) {
|
||||||
x2apic_mode = true;
|
x2apic_mode = true;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
#ifndef HW_I386_ACPI_COMMON_H
|
#ifndef HW_I386_ACPI_COMMON_H
|
||||||
#define HW_I386_ACPI_COMMON_H
|
#define HW_I386_ACPI_COMMON_H
|
||||||
|
|
||||||
#include "hw/acpi/acpi_dev_interface.h"
|
|
||||||
#include "hw/acpi/bios-linker-loader.h"
|
#include "hw/acpi/bios-linker-loader.h"
|
||||||
#include "hw/i386/x86.h"
|
#include "hw/i386/x86.h"
|
||||||
|
|
||||||
@ -9,7 +8,7 @@
|
|||||||
#define ACPI_BUILD_IOAPIC_ID 0x0
|
#define ACPI_BUILD_IOAPIC_ID 0x0
|
||||||
|
|
||||||
void acpi_build_madt(GArray *table_data, BIOSLinker *linker,
|
void acpi_build_madt(GArray *table_data, BIOSLinker *linker,
|
||||||
X86MachineState *x86ms, AcpiDeviceIf *adev,
|
X86MachineState *x86ms,
|
||||||
const char *oem_id, const char *oem_table_id);
|
const char *oem_id, const char *oem_table_id);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -214,8 +214,7 @@ static void acpi_build_microvm(AcpiBuildTables *tables,
|
|||||||
|
|
||||||
acpi_add_table(table_offsets, tables_blob);
|
acpi_add_table(table_offsets, tables_blob);
|
||||||
acpi_build_madt(tables_blob, tables->linker, X86_MACHINE(machine),
|
acpi_build_madt(tables_blob, tables->linker, X86_MACHINE(machine),
|
||||||
ACPI_DEVICE_IF(x86ms->acpi_dev), x86ms->oem_id,
|
x86ms->oem_id, x86ms->oem_table_id);
|
||||||
x86ms->oem_table_id);
|
|
||||||
|
|
||||||
#ifdef CONFIG_ACPI_ERST
|
#ifdef CONFIG_ACPI_ERST
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user