return EFI_SUCCESS;\r
}\r
\r
+/** EArmObjNamedComponent token fixer.\r
+\r
+ CmObjectToken fixer function that updates the Tokens in the CmObjects.\r
+\r
+ @param [in] CmObject Pointer to the Configuration Manager Object.\r
+ @param [in] Token Token to be updated in the CmObject.\r
+\r
+ @retval EFI_SUCCESS Success.\r
+ @retval EFI_INVALID_PARAMETER A parameter is invalid.\r
+ @retval EFI_UNSUPPORTED Not supported.\r
+**/\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+TokenFixerNamedComponentNode (\r
+ IN CM_OBJ_DESCRIPTOR *CmObject,\r
+ IN CM_OBJECT_TOKEN Token\r
+ )\r
+{\r
+ ASSERT (CmObject != NULL);\r
+ ((CM_ARM_NAMED_COMPONENT_NODE *)CmObject->Data)->Token = Token;\r
+ return EFI_SUCCESS;\r
+}\r
+\r
+/** EArmObjRootComplex token fixer.\r
+\r
+ CmObjectToken fixer function that updates the Tokens in the CmObjects.\r
+\r
+ @param [in] CmObject Pointer to the Configuration Manager Object.\r
+ @param [in] Token Token to be updated in the CmObject.\r
+\r
+ @retval EFI_SUCCESS Success.\r
+ @retval EFI_INVALID_PARAMETER A parameter is invalid.\r
+ @retval EFI_UNSUPPORTED Not supported.\r
+**/\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+TokenFixerRootComplexNode (\r
+ IN CM_OBJ_DESCRIPTOR *CmObject,\r
+ IN CM_OBJECT_TOKEN Token\r
+ )\r
+{\r
+ ASSERT (CmObject != NULL);\r
+ ((CM_ARM_ROOT_COMPLEX_NODE *)CmObject->Data)->Token = Token;\r
+ return EFI_SUCCESS;\r
+}\r
+\r
+/** EArmObjSmmuV3 token fixer.\r
+\r
+ CmObjectToken fixer function that updates the Tokens in the CmObjects.\r
+\r
+ @param [in] CmObject Pointer to the Configuration Manager Object.\r
+ @param [in] Token Token to be updated in the CmObject.\r
+\r
+ @retval EFI_SUCCESS Success.\r
+ @retval EFI_INVALID_PARAMETER A parameter is invalid.\r
+ @retval EFI_UNSUPPORTED Not supported.\r
+**/\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+TokenFixerSmmuV3Node (\r
+ IN CM_OBJ_DESCRIPTOR *CmObject,\r
+ IN CM_OBJECT_TOKEN Token\r
+ )\r
+{\r
+ ASSERT (CmObject != NULL);\r
+ ((CM_ARM_SMMUV3_NODE *)CmObject->Data)->Token = Token;\r
+ return EFI_SUCCESS;\r
+}\r
+\r
/** TokenFixer functions table.\r
\r
A CmObj having a CM_OBJECT_TOKEN field might need to have its\r
NULL, ///< 16 - Hypervisor Vendor Id\r
NULL, ///< 17 - Fixed feature flags for FADT\r
TokenFixerItsGroup, ///< 18 - ITS Group\r
- TokenFixerNotImplemented, ///< 19 - Named Component\r
- TokenFixerNotImplemented, ///< 20 - Root Complex\r
+ TokenFixerNamedComponentNode, ///< 19 - Named Component\r
+ TokenFixerRootComplexNode, ///< 20 - Root Complex\r
TokenFixerNotImplemented, ///< 21 - SMMUv1 or SMMUv2\r
- TokenFixerNotImplemented, ///< 22 - SMMUv3\r
+ TokenFixerSmmuV3Node, ///< 22 - SMMUv3\r
TokenFixerNotImplemented, ///< 23 - PMCG\r
NULL, ///< 24 - GIC ITS Identifier Array\r
NULL, ///< 25 - ID Mapping Array\r