summaryrefslogtreecommitdiffstats
path: root/DynamicTablesPkg/Include
diff options
context:
space:
mode:
authorAbdul Lateef Attar <AbdulLateef.Attar@amd.com>2025-01-27 10:27:23 +0000
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2025-02-07 15:24:03 +0000
commit2b3ea9334f46a457ab4f22f2cfe67bc3e5916c1b (patch)
tree495febab8076f7ac33e66e572fe78626b595961b /DynamicTablesPkg/Include
parent1f1182c396466300ad6659c42b517542c61706d9 (diff)
downloadedk2-2b3ea9334f46a457ab4f22f2cfe67bc3e5916c1b.tar.gz
DynamicTablesPkg: Adds X64 support to SRAT table generator
Adds X64 support to the SRAT table generator library. Adds EX64ObjLocalApicX2ApicAffinity CM object to get platform configuration information. Update the parser with newly added CM object. Cc: Sami Mujawar <Sami.Mujawar@arm.com> Cc: Pierre Gondois <pierre.gondois@arm.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
Diffstat (limited to 'DynamicTablesPkg/Include')
-rw-r--r--DynamicTablesPkg/Include/X64NameSpaceObjects.h52
1 files changed, 33 insertions, 19 deletions
diff --git a/DynamicTablesPkg/Include/X64NameSpaceObjects.h b/DynamicTablesPkg/Include/X64NameSpaceObjects.h
index 1f229cd13d..5dc534cb87 100644
--- a/DynamicTablesPkg/Include/X64NameSpaceObjects.h
+++ b/DynamicTablesPkg/Include/X64NameSpaceObjects.h
@@ -33,25 +33,26 @@ typedef enum {
in the X64 Namespace
*/
typedef enum X64ObjectID {
- EX64ObjReserved, ///< 0 - Reserved
- EX64ObjFadtSciInterrupt, ///< 1 - FADT SCI Interrupt information
- EX64ObjFadtSciCmdInfo, ///< 2 - FADT SCI CMD information
- EX64ObjFadtPmBlockInfo, ///< 3 - FADT Power management block info
- EX64ObjFadtGpeBlockInfo, ///< 4 - FADT GPE block info
- EX64ObjFadtXpmBlockInfo, ///< 5 - FADT 64-bit Power Management block info
- EX64ObjFadtXgpeBlockInfo, ///< 6 - FADT 64-bit GPE block info
- EX64ObjFadtSleepBlockInfo, ///< 7 - FADT Sleep block info
- EX64ObjFadtResetBlockInfo, ///< 8 - FADT Reset block info
- EX64ObjFadtMiscInfo, ///< 9 - FADT Legacy fields info
- EX64ObjWsmtFlagsInfo, ///< 10 - WSMT protection flags info
- EX64ObjHpetInfo, ///< 11 - HPET device info
- EX64ObjMadtInfo, ///< 12 - MADT info
- EX64ObjLocalApicX2ApicInfo, ///< 13 - Local APIC and X2APIC info
- EX64ObjIoApicInfo, ///< 14 - IO APIC info
- EX64ObjIntrSourceOverrideInfo, ///< 15 - Interrupt Source Override info
- EX64ObjLocalApicX2ApicNmiInfo, ///< 16 - Local APIC and X2APIC NMI info
- EX64ObjFacsInfo, ///< 17 - FACS info
- EX64ObjMax ///< 18 - Maximum Object ID
+ EX64ObjReserved, ///< 0 - Reserved
+ EX64ObjFadtSciInterrupt, ///< 1 - FADT SCI Interrupt information
+ EX64ObjFadtSciCmdInfo, ///< 2 - FADT SCI CMD information
+ EX64ObjFadtPmBlockInfo, ///< 3 - FADT Power management block info
+ EX64ObjFadtGpeBlockInfo, ///< 4 - FADT GPE block info
+ EX64ObjFadtXpmBlockInfo, ///< 5 - FADT 64-bit Power Management block info
+ EX64ObjFadtXgpeBlockInfo, ///< 6 - FADT 64-bit GPE block info
+ EX64ObjFadtSleepBlockInfo, ///< 7 - FADT Sleep block info
+ EX64ObjFadtResetBlockInfo, ///< 8 - FADT Reset block info
+ EX64ObjFadtMiscInfo, ///< 9 - FADT Legacy fields info
+ EX64ObjWsmtFlagsInfo, ///< 10 - WSMT protection flags info
+ EX64ObjHpetInfo, ///< 11 - HPET device info
+ EX64ObjMadtInfo, ///< 12 - MADT info
+ EX64ObjLocalApicX2ApicInfo, ///< 13 - Local APIC and X2APIC info
+ EX64ObjIoApicInfo, ///< 14 - IO APIC info
+ EX64ObjIntrSourceOverrideInfo, ///< 15 - Interrupt Source Override info
+ EX64ObjLocalApicX2ApicNmiInfo, ///< 16 - Local APIC and X2APIC NMI info
+ EX64ObjFacsInfo, ///< 17 - FACS info
+ EX64ObjLocalApicX2ApicAffinityInfo, ///< 18 - Local APIC and X2APIC Affinity info
+ EX64ObjMax ///< 19 - Maximum Object ID
} EX64_OBJECT_ID;
/** A structure that describes the
@@ -278,5 +279,18 @@ typedef struct CmX64FacsInfo {
UINT32 OspmFlags;
} CM_X64_FACS_INFO;
+/**
+ A structure that describes the Local APIC and X2APIC Affinity information.
+
+ ID: EX64ObjLocalApicX2ApicAffinityInfo
+ */
+typedef struct CmX64LocalApicX2ApicAffinityInfo {
+ LOCAL_APIC_MODE ApicMode;
+ UINT32 ApicId;
+ UINT32 ProximityDomain;
+ UINT32 Flags;
+ UINT32 ClockDomain;
+} CM_X64_LOCAL_APIC_X2APIC_AFFINITY_INFO;
+
#pragma pack()
#endif // X64_NAMESPACE_OBJECTS_H_