Commit f06765a9 authored by Shannon Zhao's avatar Shannon Zhao Committed by Peter Maydell
Browse files

ACPI: ARM: Present GIC version in MADT table



In ACPI 5.1 Errata, it adds GIC version in GIC distributor structure.
This is useful for guest kernel to identify which version GIC hardware
is. Update GIC distributor structure and present GIC version in MADT
table.

Signed-off-by: default avatarShannon Zhao <shannon.zhao@linaro.org>
Reviewed-by: default avatarAndrew Jones <drjones@redhat.com>
Message-id: 1465960955-17388-1-git-send-email-zhaoshenglong@huawei.com
Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parent 1d3e65aa
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -523,6 +523,7 @@ build_madt(GArray *table_data, BIOSLinker *linker, VirtGuestInfo *guest_info)
    gicd->type = ACPI_APIC_GENERIC_DISTRIBUTOR;
    gicd->length = sizeof(*gicd);
    gicd->base_address = memmap[VIRT_GIC_DIST].base;
    gicd->version = guest_info->gic_version;

    for (i = 0; i < guest_info->smp_cpus; i++) {
        AcpiMadtGenericInterrupt *gicc = acpi_data_push(table_data,
+3 −1
Original line number Diff line number Diff line
@@ -367,7 +367,9 @@ struct AcpiMadtGenericDistributor {
    uint32_t gic_id;
    uint64_t base_address;
    uint32_t global_irq_base;
    uint32_t reserved2;
    /* ACPI 5.1 Errata 1228 Present GIC version in MADT table */
    uint8_t version;
    uint8_t reserved2[3];
} QEMU_PACKED;

typedef struct AcpiMadtGenericDistributor AcpiMadtGenericDistributor;