hw/arm/virt-acpi-build: name GIC CPU Interface Structure appropriately

Also move the enabled flag definition from mach-virt code to
acpi common.

Signed-off-by: Andrew Jones <drjones@redhat.com>
Message-id: 20170102200153.28864-3-drjones@redhat.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Andrew Jones 2017-01-09 11:40:21 +00:00 committed by Peter Maydell
parent 330afe0599
commit 6e2ed65f4a
3 changed files with 10 additions and 9 deletions

View File

@ -581,11 +581,11 @@ build_madt(GArray *table_data, BIOSLinker *linker, VirtGuestInfo *guest_info)
gicd->version = guest_info->gic_version; gicd->version = guest_info->gic_version;
for (i = 0; i < guest_info->smp_cpus; i++) { for (i = 0; i < guest_info->smp_cpus; i++) {
AcpiMadtGenericInterrupt *gicc = acpi_data_push(table_data, AcpiMadtGenericCpuInterface *gicc = acpi_data_push(table_data,
sizeof *gicc); sizeof(*gicc));
ARMCPU *armcpu = ARM_CPU(qemu_get_cpu(i)); ARMCPU *armcpu = ARM_CPU(qemu_get_cpu(i));
gicc->type = ACPI_APIC_GENERIC_INTERRUPT; gicc->type = ACPI_APIC_GENERIC_CPU_INTERFACE;
gicc->length = sizeof(*gicc); gicc->length = sizeof(*gicc);
if (guest_info->gic_version == 2) { if (guest_info->gic_version == 2) {
gicc->base_address = cpu_to_le64(memmap[VIRT_GIC_CPU].base); gicc->base_address = cpu_to_le64(memmap[VIRT_GIC_CPU].base);
@ -593,7 +593,7 @@ build_madt(GArray *table_data, BIOSLinker *linker, VirtGuestInfo *guest_info)
gicc->cpu_interface_number = cpu_to_le32(i); gicc->cpu_interface_number = cpu_to_le32(i);
gicc->arm_mpidr = cpu_to_le64(armcpu->mp_affinity); gicc->arm_mpidr = cpu_to_le64(armcpu->mp_affinity);
gicc->uid = cpu_to_le32(i); gicc->uid = cpu_to_le32(i);
gicc->flags = cpu_to_le32(ACPI_GICC_ENABLED); gicc->flags = cpu_to_le32(ACPI_MADT_GICC_ENABLED);
if (arm_feature(&armcpu->env, ARM_FEATURE_PMU)) { if (arm_feature(&armcpu->env, ARM_FEATURE_PMU)) {
gicc->performance_interrupt = cpu_to_le32(PPI(VIRTUAL_PMU_IRQ)); gicc->performance_interrupt = cpu_to_le32(PPI(VIRTUAL_PMU_IRQ));

View File

@ -290,7 +290,7 @@ typedef struct AcpiMultipleApicTable AcpiMultipleApicTable;
#define ACPI_APIC_XRUPT_SOURCE 8 #define ACPI_APIC_XRUPT_SOURCE 8
#define ACPI_APIC_LOCAL_X2APIC 9 #define ACPI_APIC_LOCAL_X2APIC 9
#define ACPI_APIC_LOCAL_X2APIC_NMI 10 #define ACPI_APIC_LOCAL_X2APIC_NMI 10
#define ACPI_APIC_GENERIC_INTERRUPT 11 #define ACPI_APIC_GENERIC_CPU_INTERFACE 11
#define ACPI_APIC_GENERIC_DISTRIBUTOR 12 #define ACPI_APIC_GENERIC_DISTRIBUTOR 12
#define ACPI_APIC_GENERIC_MSI_FRAME 13 #define ACPI_APIC_GENERIC_MSI_FRAME 13
#define ACPI_APIC_GENERIC_REDISTRIBUTOR 14 #define ACPI_APIC_GENERIC_REDISTRIBUTOR 14
@ -361,7 +361,7 @@ struct AcpiMadtLocalX2ApicNmi {
} QEMU_PACKED; } QEMU_PACKED;
typedef struct AcpiMadtLocalX2ApicNmi AcpiMadtLocalX2ApicNmi; typedef struct AcpiMadtLocalX2ApicNmi AcpiMadtLocalX2ApicNmi;
struct AcpiMadtGenericInterrupt { struct AcpiMadtGenericCpuInterface {
ACPI_SUB_HEADER_DEF ACPI_SUB_HEADER_DEF
uint16_t reserved; uint16_t reserved;
uint32_t cpu_interface_number; uint32_t cpu_interface_number;
@ -378,7 +378,10 @@ struct AcpiMadtGenericInterrupt {
uint64_t arm_mpidr; uint64_t arm_mpidr;
} QEMU_PACKED; } QEMU_PACKED;
typedef struct AcpiMadtGenericInterrupt AcpiMadtGenericInterrupt; typedef struct AcpiMadtGenericCpuInterface AcpiMadtGenericCpuInterface;
/* GICC CPU Interface Flags */
#define ACPI_MADT_GICC_ENABLED 1
struct AcpiMadtGenericDistributor { struct AcpiMadtGenericDistributor {
ACPI_SUB_HEADER_DEF ACPI_SUB_HEADER_DEF

View File

@ -24,8 +24,6 @@
#include "hw/arm/virt.h" #include "hw/arm/virt.h"
#include "qemu/notify.h" #include "qemu/notify.h"
#define ACPI_GICC_ENABLED 1
typedef struct VirtGuestInfo { typedef struct VirtGuestInfo {
int smp_cpus; int smp_cpus;
FWCfgState *fw_cfg; FWCfgState *fw_cfg;