EArmObjGicItsIdentifierArray, ///< 24 - GIC ITS Identifier Array\r
EArmObjIdMappingArray, ///< 25 - ID Mapping Array\r
EArmObjSmmuInterruptArray, ///< 26 - SMMU Interrupt Array\r
+ EArmObjProcHierarchyInfo, ///< 27 - Processor Hierarchy Info\r
+ EArmObjCacheInfo, ///< 28 - Cache Info\r
+ EArmObjProcNodeIdInfo, ///< 29 - Processor Hierarchy Node ID Info\r
+ EArmObjCmRef, ///< 30 - CM Object Reference\r
EArmObjMax\r
} EARM_OBJECT_ID;\r
\r
UINT32 Flags;\r
} CM_ARM_SMMU_INTERRUPT;\r
\r
+/** A structure that describes the Processor Hierarchy Node (Type 0) in PPTT\r
+\r
+ ID: EArmObjProcHierarchyInfo\r
+*/\r
+typedef struct CmArmProcHierarchyInfo {\r
+ /// A unique token used to identify this object\r
+ CM_OBJECT_TOKEN Token;\r
+ /// Processor structure flags (ACPI 6.3 - January 2019, PPTT, Table 5-155)\r
+ UINT32 Flags;\r
+ /// Token for the parent CM_ARM_PROC_HIERARCHY_INFO object in the processor\r
+ /// topology. A value of CM_NULL_TOKEN means this node has no parent.\r
+ CM_OBJECT_TOKEN ParentToken;\r
+ /// Token of the associated CM_ARM_GICC_INFO object which has the\r
+ /// corresponding ACPI Processor ID. A value of CM_NULL_TOKEN means this\r
+ /// node represents a group of associated processors and it does not have an\r
+ /// associated GIC CPU interface.\r
+ CM_OBJECT_TOKEN GicCToken;\r
+ /// Number of resources private to this Node\r
+ UINT32 NoOfPrivateResources;\r
+ /// Token of the array which contains references to the resources private to\r
+ /// this CM_ARM_PROC_HIERARCHY_INFO instance. This field is ignored if\r
+ /// the NoOfPrivateResources is 0, in which case it is recomended to set\r
+ /// this field to CM_NULL_TOKEN.\r
+ CM_OBJECT_TOKEN PrivateResourcesArrayToken;\r
+} CM_ARM_PROC_HIERARCHY_INFO;\r
+\r
+/** A structure that describes the Cache Type Structure (Type 1) in PPTT\r
+\r
+ ID: EArmObjCacheInfo\r
+*/\r
+typedef struct CmArmCacheInfo {\r
+ /// A unique token used to identify this object\r
+ CM_OBJECT_TOKEN Token;\r
+ /// Reference token for the next level of cache that is private to the same\r
+ /// CM_ARM_PROC_HIERARCHY_INFO instance. A value of CM_NULL_TOKEN means this\r
+ /// entry represents the last cache level appropriate to the processor\r
+ /// hierarchy node structures using this entry.\r
+ CM_OBJECT_TOKEN NextLevelOfCacheToken;\r
+ /// Size of the cache in bytes\r
+ UINT32 Size;\r
+ /// Number of sets in the cache\r
+ UINT32 NumberOfSets;\r
+ /// Integer number of ways. The maximum associativity supported by\r
+ /// ACPI Cache type structure is limited to MAX_UINT8. However,\r
+ /// the maximum number of ways supported by the architecture is\r
+ /// PPTT_ARM_CCIDX_CACHE_ASSOCIATIVITY_MAX. Therfore this field\r
+ /// is 32-bit wide.\r
+ UINT32 Associativity;\r
+ /// Cache attributes (ACPI 6.3 - January 2019, PPTT, Table 5-156)\r
+ UINT8 Attributes;\r
+ /// Line size in bytes\r
+ UINT16 LineSize;\r
+} CM_ARM_CACHE_INFO;\r
+\r
+/** A structure that describes the ID Structure (Type 2) in PPTT\r
+\r
+ ID: EArmObjProcNodeIdInfo\r
+*/\r
+typedef struct CmArmProcNodeIdInfo {\r
+ /// A unique token used to identify this object\r
+ CM_OBJECT_TOKEN Token;\r
+ // Vendor ID (as described in ACPI ID registry)\r
+ UINT32 VendorId;\r
+ /// First level unique node ID\r
+ UINT64 Level1Id;\r
+ /// Second level unique node ID\r
+ UINT64 Level2Id;\r
+ /// Major revision of the node\r
+ UINT16 MajorRev;\r
+ /// Minor revision of the node\r
+ UINT16 MinorRev;\r
+ /// Spin revision of the node\r
+ UINT16 SpinRev;\r
+} CM_ARM_PROC_NODE_ID_INFO;\r
+\r
+/** A structure that describes a reference to another Configuration Manager\r
+ object.\r
+\r
+ This is useful for creating an array of reference tokens. The framework\r
+ can then query the configuration manager for these arrays using the\r
+ object ID EArmObjCmRef.\r
+\r
+ This can be used is to represent one-to-many relationships between objects.\r
+\r
+ ID: EArmObjCmRef\r
+*/\r
+typedef struct CmArmObjRef {\r
+ /// Token of the CM object being referenced\r
+ CM_OBJECT_TOKEN ReferenceToken;\r
+} CM_ARM_OBJ_REF;\r
+\r
#pragma pack()\r
\r
#endif // ARM_NAMESPACE_OBJECTS_H_\r