Add ITS affinity structure in SRAT.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <[email protected]>
Signed-off-by: Heyi Guo <[email protected]>
---
Silicon/Hisilicon/Hi1616/D05AcpiTables/D05Srat.aslc | 10 ++++++++++
Silicon/Hisilicon/Include/Library/AcpiNextLib.h | 10 +++++++++-
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/Silicon/Hisilicon/Hi1616/D05AcpiTables/D05Srat.aslc
b/Silicon/Hisilicon/Hi1616/D05AcpiTables/D05Srat.aslc
index b448a29..8ea0c4b 100644
--- a/Silicon/Hisilicon/Hi1616/D05AcpiTables/D05Srat.aslc
+++ b/Silicon/Hisilicon/Hi1616/D05AcpiTables/D05Srat.aslc
@@ -121,6 +121,16 @@ EFI_ACPI_STATIC_RESOURCE_AFFINITY_TABLE Srat = {
EFI_ACPI_6_1_GICC_AFFINITY_STRUCTURE_INIT(0x00000003,0x0000003E,0x00000001,0x00000000),
//GICC Affinity Processor 62
EFI_ACPI_6_1_GICC_AFFINITY_STRUCTURE_INIT(0x00000003,0x0000003F,0x00000001,0x00000000)
//GICC Affinity Processor 63
},
+ {
+ EFI_ACPI_6_2_ITS_AFFINITY_STRUCTURE_INIT(0x00000000, 0x00000000),
+ EFI_ACPI_6_2_ITS_AFFINITY_STRUCTURE_INIT(0x00000001, 0x00000001),
+ EFI_ACPI_6_2_ITS_AFFINITY_STRUCTURE_INIT(0x00000000, 0x00000002),
+ EFI_ACPI_6_2_ITS_AFFINITY_STRUCTURE_INIT(0x00000001, 0x00000003),
+ EFI_ACPI_6_2_ITS_AFFINITY_STRUCTURE_INIT(0x00000002, 0x00000004),
+ EFI_ACPI_6_2_ITS_AFFINITY_STRUCTURE_INIT(0x00000003, 0x00000005),
+ EFI_ACPI_6_2_ITS_AFFINITY_STRUCTURE_INIT(0x00000002, 0x00000006),
+ EFI_ACPI_6_2_ITS_AFFINITY_STRUCTURE_INIT(0x00000003, 0x00000007)
+ },
};
//
diff --git a/Silicon/Hisilicon/Include/Library/AcpiNextLib.h
b/Silicon/Hisilicon/Include/Library/AcpiNextLib.h
index 60f9925..fd05a3b 100644
--- a/Silicon/Hisilicon/Include/Library/AcpiNextLib.h
+++ b/Silicon/Hisilicon/Include/Library/AcpiNextLib.h
@@ -39,6 +39,13 @@
ACPIProcessorUID, Flags, ClockDomain
\
}
+#define EFI_ACPI_6_2_ITS_AFFINITY_STRUCTURE_INIT(
\
+ ProximityDomain, ItsId)
\
+ {
\
+ 4, sizeof (EFI_ACPI_6_2_GIC_ITS_AFFINITY_STRUCTURE), ProximityDomain,
\
+ {EFI_ACPI_RESERVED_BYTE, EFI_ACPI_RESERVED_BYTE}, ItsId
\
+ }
+
#define EFI_ACPI_6_1_MEMORY_AFFINITY_STRUCTURE_INIT(
\
ProximityDomain, AddressBaseLow, AddressBaseHigh, LengthLow, LengthHigh,
Flags) \
{
\
@@ -70,12 +77,13 @@
//
#define EFI_ACPI_PROCESSOR_LOCAL_GICC_AFFINITY_STRUCTURE_COUNT 64
#define EFI_ACPI_MEMORY_AFFINITY_STRUCTURE_COUNT 10
-
+#define EFI_ACPI_6_2_ITS_AFFINITY_STRUCTURE_COUNT 8
typedef struct {
EFI_ACPI_6_0_SYSTEM_RESOURCE_AFFINITY_TABLE_HEADER Header;
EFI_ACPI_6_0_MEMORY_AFFINITY_STRUCTURE
Memory[EFI_ACPI_MEMORY_AFFINITY_STRUCTURE_COUNT];
EFI_ACPI_6_0_GICC_AFFINITY_STRUCTURE
Gicc[EFI_ACPI_PROCESSOR_LOCAL_GICC_AFFINITY_STRUCTURE_COUNT];
+ EFI_ACPI_6_2_GIC_ITS_AFFINITY_STRUCTURE
Its[EFI_ACPI_6_2_ITS_AFFINITY_STRUCTURE_COUNT];
} EFI_ACPI_STATIC_RESOURCE_AFFINITY_TABLE;
#pragma pack()
--
1.9.1
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel