Message ID | 1461219834-10416-5-git-send-email-zhaoshenglong@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Apr 21, 2016 at 02:23:53PM +0800, Shannon Zhao wrote: > From: Shannon Zhao <shannon.zhao@linaro.org> > > Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org> > --- > hw/i386/acpi-build.c | 2 +- > include/hw/acpi/acpi-defs.h | 15 ++++++++++++++- > 2 files changed, 15 insertions(+), 2 deletions(-) > > diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c > index 6477003..9ae4c0d 100644 > --- a/hw/i386/acpi-build.c > +++ b/hw/i386/acpi-build.c > @@ -2474,7 +2474,7 @@ build_srat(GArray *table_data, GArray *linker, MachineState *machine) > int apic_id = apic_ids->cpus[i].arch_id; > > core = acpi_data_push(table_data, sizeof *core); > - core->type = ACPI_SRAT_PROCESSOR; > + core->type = ACPI_SRAT_PROCESSOR_APIC; > core->length = sizeof(*core); > core->local_apic_id = apic_id; > curnode = pcms->node_cpu[apic_id]; > diff --git a/include/hw/acpi/acpi-defs.h b/include/hw/acpi/acpi-defs.h > index c7a03d4..bcf5c3f 100644 > --- a/include/hw/acpi/acpi-defs.h > +++ b/include/hw/acpi/acpi-defs.h > @@ -455,8 +455,10 @@ struct AcpiSystemResourceAffinityTable > } QEMU_PACKED; > typedef struct AcpiSystemResourceAffinityTable AcpiSystemResourceAffinityTable; > > -#define ACPI_SRAT_PROCESSOR 0 > +#define ACPI_SRAT_PROCESSOR_APIC 0 > #define ACPI_SRAT_MEMORY 1 > +#define ACPI_SRAT_PROCESSOR_x2APIC 2 > +#define ACPI_SRAT_PROCESSOR_GICC 3 > > struct AcpiSratProcessorAffinity > { > @@ -483,6 +485,17 @@ struct AcpiSratMemoryAffinity > } QEMU_PACKED; > typedef struct AcpiSratMemoryAffinity AcpiSratMemoryAffinity; > > +struct AcpiSratProcessorGiccAffinity > +{ > + ACPI_SUB_HEADER_DEF > + uint32_t proximity; > + uint32_t acpi_processor_uid; > + uint32_t flags; > + uint32_t clock_domain; > +} QEMU_PACKED; > + > +typedef struct AcpiSratProcessorGiccAffinity AcpiSratProcessorGiccAffinity; > + > /* PCI fw r3.0 MCFG table. */ > /* Subtable */ > struct AcpiMcfgAllocation { > -- > 2.0.4 > > Reviewed-by: Andrew Jones <drjones@redhat.com>
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 6477003..9ae4c0d 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -2474,7 +2474,7 @@ build_srat(GArray *table_data, GArray *linker, MachineState *machine) int apic_id = apic_ids->cpus[i].arch_id; core = acpi_data_push(table_data, sizeof *core); - core->type = ACPI_SRAT_PROCESSOR; + core->type = ACPI_SRAT_PROCESSOR_APIC; core->length = sizeof(*core); core->local_apic_id = apic_id; curnode = pcms->node_cpu[apic_id]; diff --git a/include/hw/acpi/acpi-defs.h b/include/hw/acpi/acpi-defs.h index c7a03d4..bcf5c3f 100644 --- a/include/hw/acpi/acpi-defs.h +++ b/include/hw/acpi/acpi-defs.h @@ -455,8 +455,10 @@ struct AcpiSystemResourceAffinityTable } QEMU_PACKED; typedef struct AcpiSystemResourceAffinityTable AcpiSystemResourceAffinityTable; -#define ACPI_SRAT_PROCESSOR 0 +#define ACPI_SRAT_PROCESSOR_APIC 0 #define ACPI_SRAT_MEMORY 1 +#define ACPI_SRAT_PROCESSOR_x2APIC 2 +#define ACPI_SRAT_PROCESSOR_GICC 3 struct AcpiSratProcessorAffinity { @@ -483,6 +485,17 @@ struct AcpiSratMemoryAffinity } QEMU_PACKED; typedef struct AcpiSratMemoryAffinity AcpiSratMemoryAffinity; +struct AcpiSratProcessorGiccAffinity +{ + ACPI_SUB_HEADER_DEF + uint32_t proximity; + uint32_t acpi_processor_uid; + uint32_t flags; + uint32_t clock_domain; +} QEMU_PACKED; + +typedef struct AcpiSratProcessorGiccAffinity AcpiSratProcessorGiccAffinity; + /* PCI fw r3.0 MCFG table. */ /* Subtable */ struct AcpiMcfgAllocation {