diff mbox

[v5,4/5] include/hw/acpi/acpi-defs: Add GICC Affinity Structure

Message ID 1461219834-10416-5-git-send-email-zhaoshenglong@huawei.com
State New
Headers show

Commit Message

Shannon Zhao April 21, 2016, 6:23 a.m. UTC
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(-)

-- 
2.0.4

Comments

Andrew Jones April 22, 2016, 1:26 p.m. UTC | #1
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 mbox

Patch

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 {