On Fri, Jan 26, 2018 at 04:00:36PM +0800, Ming Huang wrote: > Move definition of Madt struct to head file, so PPTT driver > can include it. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Ming Huang > Signed-off-by: Heyi Guo > --- Looks sane to me Reviewed-by: Graeme Gregory > Silicon/Hisilicon/Hi1616/D05AcpiTables/Hi1616Platform.h | 30 +++++++++++++++++++- > Silicon/Hisilicon/Hi1616/D05AcpiTables/MadtHi1616.aslc | 23 +-------------- > 2 files changed, 30 insertions(+), 23 deletions(-) > > diff --git a/Silicon/Hisilicon/Hi1616/D05AcpiTables/Hi1616Platform.h b/Silicon/Hisilicon/Hi1616/D05AcpiTables/Hi1616Platform.h > index 808219a..ad73aa2 100644 > --- a/Silicon/Hisilicon/Hi1616/D05AcpiTables/Hi1616Platform.h > +++ b/Silicon/Hisilicon/Hi1616/D05AcpiTables/Hi1616Platform.h > @@ -1,7 +1,7 @@ > /** @file > * > * Copyright (c) 2011-2015, ARM Limited. All rights reserved. > -* Copyright (c) 2015-2016, Hisilicon Limited. All rights reserved. > +* Copyright (c) 2015-2018, Hisilicon Limited. All rights reserved. > * Copyright (c) 2015-2016, Linaro Limited. All rights reserved. > * > * This program and the accompanying materials > @@ -20,6 +20,8 @@ > #ifndef _HI1610_PLATFORM_H_ > #define _HI1610_PLATFORM_H_ > > +#include > + > // > // ACPI table information used to initialize tables. > // > @@ -44,5 +46,31 @@ > } > > #define HI1616_WATCHDOG_COUNT 2 > +#define HI1616_GIC_STRUCTURE_COUNT 64 > + > +#define HI1616_MPID_TA_BASE 0x10000 > +#define HI1616_MPID_TB_BASE 0x30000 > +#define HI1616_MPID_TA_2_BASE 0x50000 > +#define HI1616_MPID_TB_2_BASE 0x70000 > + > +// Differs from Juno, we have another affinity level beyond cluster and core > +#define PLATFORM_GET_MPID_TA(ClusterId, CoreId) (HI1616_MPID_TA_BASE | ((ClusterId) << 8) | (CoreId)) > +#define PLATFORM_GET_MPID_TB(ClusterId, CoreId) (HI1616_MPID_TB_BASE | ((ClusterId) << 8) | (CoreId)) > +#define PLATFORM_GET_MPID_TA_2(ClusterId, CoreId) (HI1616_MPID_TA_2_BASE | ((ClusterId) << 8) | (CoreId)) > +#define PLATFORM_GET_MPID_TB_2(ClusterId, CoreId) (HI1616_MPID_TB_2_BASE | ((ClusterId) << 8) | (CoreId)) > + > +// > +// Multiple APIC Description Table > +// > +#pragma pack (1) > + > +typedef struct { > + EFI_ACPI_6_1_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER Header; > + EFI_ACPI_6_1_GIC_STRUCTURE GicInterfaces[HI1616_GIC_STRUCTURE_COUNT]; > + EFI_ACPI_6_1_GIC_DISTRIBUTOR_STRUCTURE GicDistributor; > + EFI_ACPI_6_1_GIC_ITS_STRUCTURE GicITS[8]; > +} EFI_ACPI_6_1_MULTIPLE_APIC_DESCRIPTION_TABLE; > + > +#pragma pack () > > #endif > diff --git a/Silicon/Hisilicon/Hi1616/D05AcpiTables/MadtHi1616.aslc b/Silicon/Hisilicon/Hi1616/D05AcpiTables/MadtHi1616.aslc > index 169ee72..54605a6 100644 > --- a/Silicon/Hisilicon/Hi1616/D05AcpiTables/MadtHi1616.aslc > +++ b/Silicon/Hisilicon/Hi1616/D05AcpiTables/MadtHi1616.aslc > @@ -2,7 +2,7 @@ > * Multiple APIC Description Table (MADT) > * > * Copyright (c) 2012 - 2014, ARM Limited. All rights reserved. > -* Copyright (c) 2015 - 2016, Hisilicon Limited. All rights reserved. > +* Copyright (c) 2015 - 2018, Hisilicon Limited. All rights reserved. > * Copyright (c) 2015 - 2016, Linaro Limited. All rights reserved. > * > * This program and the accompanying materials > @@ -27,27 +27,6 @@ > #include > #include "Hi1616Platform.h" > > -// Differs from Juno, we have another affinity level beyond cluster and core > -// 0x20000 is only for socket 0 > -#define PLATFORM_GET_MPID_TA(ClusterId, CoreId) (0x10000 | ((ClusterId) << 8) | (CoreId)) > -#define PLATFORM_GET_MPID_TB(ClusterId, CoreId) (0x30000 | ((ClusterId) << 8) | (CoreId)) > -#define PLATFORM_GET_MPID_TA_2(ClusterId, CoreId) (0x50000 | ((ClusterId) << 8) | (CoreId)) > -#define PLATFORM_GET_MPID_TB_2(ClusterId, CoreId) (0x70000 | ((ClusterId) << 8) | (CoreId)) > - > -// > -// Multiple APIC Description Table > -// > -#pragma pack (1) > - > -typedef struct { > - EFI_ACPI_6_1_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER Header; > - EFI_ACPI_6_1_GIC_STRUCTURE GicInterfaces[64]; > - EFI_ACPI_6_1_GIC_DISTRIBUTOR_STRUCTURE GicDistributor; > - EFI_ACPI_6_1_GIC_ITS_STRUCTURE GicITS[8]; > -} EFI_ACPI_6_1_MULTIPLE_APIC_DESCRIPTION_TABLE; > - > -#pragma pack () > - > EFI_ACPI_6_1_MULTIPLE_APIC_DESCRIPTION_TABLE Madt = { > { > ARM_ACPI_HEADER ( > -- > 1.9.1 >