From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (EUR04-DB3-obe.outbound.protection.outlook.com [40.107.6.80]) by mx.groups.io with SMTP id smtpd.web10.52427.1658313613797564553 for ; Wed, 20 Jul 2022 03:40:14 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=BnPwxBe8; spf=pass (domain: arm.com, ip: 40.107.6.80, mailfrom: sami.mujawar@arm.com) ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=GPpXVp++JPNLTdyOTUCtmr5o3ZpFL21e+DlJFOM6T6OKJ6NDP+XpSBpLzkR00Fd3VRvOeRTr20VpORRm76cAgLGCKAxQK8EiTr+YS0cXF+TtHQdKsmPOu2aIute/d3Bge2acCDFcpL+bssrSP6FPC0l+ZOnzMYs+B1r6nPYJKnftBnfbP/c4aED2FiLByOG2fUdyJ0S3UK7dF/CxQUV+OSnNq6JH3UTCQTSHiFYdc7MycaTk3ZA659DaAxlcIG1NPKzKkEltw2syPILAw6/cy5Ng0doh+3k5crL/S05dga66fhUT73grD4dndzH0OR+1MYbxsXlNaimTdVv6Mu4Y5w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=VBtdymbT+kA181pc7j7n1l7+vNC6hNLxRjrgoksfARE=; b=O9GWRJ/4NalZKt8RwF1Reds8ouRawb7YrDeP450BhwnqcBANSu1Ea1XNY0qd7YToHla2u27MT1vlhN0LivCUDGszD5104q2mIsZT7DKcHCUlqr/VQ7UNfCwzdqBiHz99CX4bQxhkmwROsGMu942+AL4Oe4SZD4XulSf0HdJT68fbuXkEOumaaWC4qPdRADCqCPGSBf3Ljd8qMID40WYWmBv/kmVGyhE4/8gDvuyfCoXgXNc6dVqZQgD6k44Z95iArmROU727txGI31duu9ftJaomjehYeuw/M2Q/dFUEiPWlGSvC93UU4i6EPupnvqHzBqKEL+n8nkTuvzsCmHc+nA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VBtdymbT+kA181pc7j7n1l7+vNC6hNLxRjrgoksfARE=; b=BnPwxBe8/y5mwDH60OVEGOkeeMuEBH6pn6TVND3aB02txXmqG85UM/vihl3fO8BTsBIQPoyk9nPnp8KXwJZH59g1LLO3azStXLSZrKP4uVjn2kWK8DgFXJqF+y55sRnqNlur8Ad9iCNT+XG261KIgIhAZ4RZcN9CwqdaLkrlOf4= Received: from DB6PR07CA0181.eurprd07.prod.outlook.com (2603:10a6:6:42::11) by PAXPR08MB6653.eurprd08.prod.outlook.com (2603:10a6:102:15f::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.14; Wed, 20 Jul 2022 10:40:10 +0000 Received: from DBAEUR03FT033.eop-EUR03.prod.protection.outlook.com (2603:10a6:6:42:cafe::d4) by DB6PR07CA0181.outlook.office365.com (2603:10a6:6:42::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5458.10 via Frontend Transport; Wed, 20 Jul 2022 10:40:10 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DBAEUR03FT033.mail.protection.outlook.com (100.127.142.251) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5458.17 via Frontend Transport; Wed, 20 Jul 2022 10:40:10 +0000 Received: ("Tessian outbound 2af316122c7a:v123"); Wed, 20 Jul 2022 10:40:10 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: aaa96dad0b9025e0 X-CR-MTA-TID: 64aa7808 Received: from eefddd8f434c.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 82117D08-8E6B-4655-812F-534141941EDA.1; Wed, 20 Jul 2022 10:39:49 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id eefddd8f434c.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 20 Jul 2022 10:39:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bGWvwUlWPcZq1Thp/ia0xFBmQYU3U++16aG6JwQkV08uz45X0WwNVSuD8tSZk7MGvUX1V5+NWTCjfFpRmjW0+AGwXQI7iAtJfFueTBm6kyf5o+UrDGeCP997qLqibjYJcdIQFYtR7uibY88LBse4JZhKFJiEo8bpSK7gqhD3KX8oQpJ+gcKtsMOylVf2lBfSM4RBCiEzb8cP2APMdVJMbAljUvEio4VLaZ4lpBS3KjJgupjXB3ZkD01TDgv7lcJiwU2kbQjFG/lhF05Jcf+HMFhTuz+fDb1WuOrH+emyORffVzpZT3vYpf5oT9tGNGKDkVNUUfuAxsdWwFu8EYyi4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=VBtdymbT+kA181pc7j7n1l7+vNC6hNLxRjrgoksfARE=; b=c4EsgwgySIfOPb0qwPZBTZ8MlI5o4PkP5FiBwYhmnWSQFq2Vl/FI8QgjorZUyRLTgVZ/mwi+umb+UavMiSfDH22Iy7JwL5bMbPP4HYJvatuwxsyDDQEJwWiXNPzTW6rLWlJGKTVr35ma04F0GnEg2amk4xWWTMmRmQftffDcFoVSBhUv5XkGpnaH3/ziKkn+2OAA5BJOKIHxPuYZnqhbbZSzTWSnF1ilppICXFgtHmNZ+NyTQSChMqEtwI7HBjaEY9GxJgbJqSx63hVYAGcUsVmyMXwUgAGKCyb3yQRlYLzji1a/UU8QiVL5J17w3r3MHETKen1u89wiHk7zxihuNA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VBtdymbT+kA181pc7j7n1l7+vNC6hNLxRjrgoksfARE=; b=BnPwxBe8/y5mwDH60OVEGOkeeMuEBH6pn6TVND3aB02txXmqG85UM/vihl3fO8BTsBIQPoyk9nPnp8KXwJZH59g1LLO3azStXLSZrKP4uVjn2kWK8DgFXJqF+y55sRnqNlur8Ad9iCNT+XG261KIgIhAZ4RZcN9CwqdaLkrlOf4= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) by AM4PR08MB2851.eurprd08.prod.outlook.com (2603:10a6:205:d::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.14; Wed, 20 Jul 2022 10:39:48 +0000 Received: from AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::d562:5a52:f638:7fe9]) by AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::d562:5a52:f638:7fe9%4]) with mapi id 15.20.5458.018; Wed, 20 Jul 2022 10:39:47 +0000 Message-ID: Date: Wed, 20 Jul 2022 11:39:46 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [PATCH v1 3/6] DynamicTablesPkg: DynamicPlatRepoLib: Adding more token fixers To: Kun Qin , devel@edk2.groups.io Cc: Alexei Fedorov , Joe Lopez , nd@arm.com References: <20220719002254.1891-1-kuqin12@gmail.com> <20220719002254.1891-4-kuqin12@gmail.com> From: "Sami Mujawar" In-Reply-To: <20220719002254.1891-4-kuqin12@gmail.com> X-ClientProxiedBy: LO4P123CA0620.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:294::16) To AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 326428f0-a71e-4590-6fd9-08da6a3c386d X-MS-TrafficTypeDiagnostic: AM4PR08MB2851:EE_|DBAEUR03FT033:EE_|PAXPR08MB6653:EE_ x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 65xlR4X+vEyJSiC31KYrA9+xflKo2tEvWvgKPu1sXB78ffanTagEapFhLGIKhebHrh0p21wrVxMISe2rfxZ2TFer1oxFHkZNg3qo6bRq/zZKwAmihU8/cn1IQTMvDKk49qkcLJydfYctkIf1QfbLFFIigtsXd2y9Vi01TVWrDO7qrTKcPY8pRCzanotHc4f/kHKbpu+MOGIcngzd72mZRXDIVv7ZHsrVYi40ZgGYd4zO4ysR7Tlwl5vCyQOLmdRXhm0feM9W5jLGqapaLSHrY5v2X1881V1CDzWth21ohUiaLKBdAK3dMgVcpP+7gGwoka+eFpMGc9If7IGDhPdKa94IGGKWucTcJ37Yji8Lk/CO7EvqFtlILeGFjuGY7PmBAzs74oA4XYSzI7npN4w2XaKUM88gcH0rbVvkIUSy4/dc+3wfKdOgzPUUIOgDs5NNgo/aA4I6A2XS3mh39IrYlg7dbU6rZNi7KZLGgW7c2FU6HK3QUdAu5vzFC47Ksga4FgR+S946d2vsC0Ym5hpwafKZVhG5bZJdVEIJWS9lsiRzQ5J1a5EEmNBJWkKPm90BioR8WdvAqBFH/9EO70Wm35G20qI8fX+0EZ5knX3bdxPbmzMkX9tPgqjiUR8Wz6EfjMTdPRThKuDjak+R1DbKTGtOkeDNb6l7xW2HJ5NSGcNVAVUS7/G85ZsPM87cqhFuxYIsazo0CkPZl6+tZN512uTiez4NHhh1zzfVzP6KntT0V9uG6wBELSoCT/+M3OJdXuUlA1vtfmoiaFD5lHQ6inKOgrCZJ+AZoH61G+GPwxB/+5LkQD6hLqvl0GUiFMOVPXM52/NzODxeYABT5y27To+Y/6sbwDvJdDoQi+T1HuM= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6806.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(346002)(376002)(39860400002)(136003)(396003)(366004)(31696002)(54906003)(86362001)(316002)(2906002)(45080400002)(44832011)(8936002)(5660300002)(38100700002)(8676002)(66556008)(66476007)(66946007)(26005)(41300700001)(83380400001)(6512007)(36756003)(53546011)(6506007)(2616005)(186003)(31686004)(966005)(6486002)(478600001)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR08MB2851 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Return-Path: Sami.Mujawar@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT033.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 3cfa00ca-ad82-4744-9114-08da6a3c2ace X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: izL6SgYK6r2QedDlex7OMBhK3EhN6l5uwFU07d3CwQxtAGmx1wGSaSRUKhIdh3ggKYHaoRXbhcCf+hvyBLToOktCyx6winvVuSLz2uDtMGFrbP/9Ud5jKuY35STId0q0A2zbiF/7j8yAxH6N3XyznVdBl8WAuKLL7oOch2bI5nQLb9BQfGNnEC7/TcRdS30fzWVveZeBi1ksuQ7K4Nt/a37THKuSGf+XGbNMXiuT+hOJcmIbkMzRqTlLx+3Bb1jxtqeYJ3KVagigzwwB7z8L9Jfmq7UfzbdD4SOasNklxonQPNsFzOSXKxiu75NmEfWU8/TvpcBBVwlGzRI7D1us4pEPnnfGVqsvL8hRKLeWwgQsBxkGeoEXh32JCFHUXmG+enBRGW0KTuk/YS2cQGjp9PMHJalYrCHV2h+5DZK9pYscmO2UVGKLuP6iEz0Am9dsXzeoshaTfU2pDWyzc9madVnL/1/QGW5OeVhX7pWWPB7a+I1bgWC3GCPi7TQZdDQIbX7fEoTWUzyXrSDJyCEcAIRMnc50O829F32iDRM+KvC8Q1IY+1ST4WPk4Zhgg1+qN1mi6Ck9jFPHhftTIb1GX7ZG130vmtGRL9m7kn0wBog20E530nxJcJ2AUY1FKcVAY+q44V6dGOSSulexgncYuf15PCG7m0YBiiK2swqRwfE1qa0tKFU3Nd77NyqzIFCt6Ivo/PI77pRcfLKsKEyjh8ENgphhMEOd3hCs1weCVNZb2uOUoE0YOij/ozZuiuAcmrqsTyFSCyCw0oNZAvGkHaUQyg6FGghpCLNTAVJVTgDgRh4otL68U84YB67MAAq+Hrsp2iPkivCh7hHe2s394OvAPP1ZpXI2RU503XLxdQI4KOeMxGP6kxtsWe7lcnUc X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(396003)(136003)(376002)(346002)(40470700004)(36840700001)(46966006)(5660300002)(70586007)(53546011)(6506007)(8676002)(83380400001)(44832011)(45080400002)(316002)(966005)(8936002)(81166007)(6486002)(54906003)(82740400003)(6512007)(478600001)(356005)(86362001)(41300700001)(70206006)(31696002)(31686004)(26005)(40480700001)(336012)(2616005)(186003)(4326008)(47076005)(82310400005)(2906002)(40460700003)(36860700001)(36756003)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2022 10:40:10.3624 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 326428f0-a71e-4590-6fd9-08da6a3c386d X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DBAEUR03FT033.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6653 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi Kun, Thank you for this patch. These changes look good to me. Reviewed-by: Sami Mujawar Regards, Sami Mujawar On 19/07/2022 01:22 am, Kun Qin wrote: > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3996 > > This change added more token fixers for other node types, including > NamedComponentNode, RootComplexNode, and SmmuV3Node. > > The corresponding entries for tokenFixer functions table is also updated. > > Cc: Sami Mujawar > Cc: Alexei Fedorov > > Co-authored-by: Joe Lopez > Signed-off-by: Kun Qin > --- > DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c | 78 +++++++++++++++++++- > 1 file changed, 75 insertions(+), 3 deletions(-) > > diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c > index 84e4bb7e3bc8..345acab53f74 100644 > --- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c > +++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c > @@ -64,6 +64,78 @@ TokenFixerItsGroup ( > return EFI_SUCCESS; > > } > > > > +/** EArmObjNamedComponent token fixer. > > + > > + CmObjectToken fixer function that updates the Tokens in the CmObjects. > > + > > + @param [in] CmObject Pointer to the Configuration Manager Object. > > + @param [in] Token Token to be updated in the CmObject. > > + > > + @retval EFI_SUCCESS Success. > > + @retval EFI_INVALID_PARAMETER A parameter is invalid. > > + @retval EFI_UNSUPPORTED Not supported. > > +**/ > > +STATIC > > +EFI_STATUS > > +EFIAPI > > +TokenFixerNamedComponentNode ( > > + IN CM_OBJ_DESCRIPTOR *CmObject, > > + IN CM_OBJECT_TOKEN Token > > + ) > > +{ > > + ASSERT (CmObject != NULL); > > + ((CM_ARM_NAMED_COMPONENT_NODE *)CmObject->Data)->Token = Token; > > + return EFI_SUCCESS; > > +} > > + > > +/** EArmObjRootComplex token fixer. > > + > > + CmObjectToken fixer function that updates the Tokens in the CmObjects. > > + > > + @param [in] CmObject Pointer to the Configuration Manager Object. > > + @param [in] Token Token to be updated in the CmObject. > > + > > + @retval EFI_SUCCESS Success. > > + @retval EFI_INVALID_PARAMETER A parameter is invalid. > > + @retval EFI_UNSUPPORTED Not supported. > > +**/ > > +STATIC > > +EFI_STATUS > > +EFIAPI > > +TokenFixerRootComplexNode ( > > + IN CM_OBJ_DESCRIPTOR *CmObject, > > + IN CM_OBJECT_TOKEN Token > > + ) > > +{ > > + ASSERT (CmObject != NULL); > > + ((CM_ARM_ROOT_COMPLEX_NODE *)CmObject->Data)->Token = Token; > > + return EFI_SUCCESS; > > +} > > + > > +/** EArmObjSmmuV3 token fixer. > > + > > + CmObjectToken fixer function that updates the Tokens in the CmObjects. > > + > > + @param [in] CmObject Pointer to the Configuration Manager Object. > > + @param [in] Token Token to be updated in the CmObject. > > + > > + @retval EFI_SUCCESS Success. > > + @retval EFI_INVALID_PARAMETER A parameter is invalid. > > + @retval EFI_UNSUPPORTED Not supported. > > +**/ > > +STATIC > > +EFI_STATUS > > +EFIAPI > > +TokenFixerSmmuV3Node ( > > + IN CM_OBJ_DESCRIPTOR *CmObject, > > + IN CM_OBJECT_TOKEN Token > > + ) > > +{ > > + ASSERT (CmObject != NULL); > > + ((CM_ARM_SMMUV3_NODE *)CmObject->Data)->Token = Token; > > + return EFI_SUCCESS; > > +} > > + > > /** TokenFixer functions table. > > > > A CmObj having a CM_OBJECT_TOKEN field might need to have its > > @@ -90,10 +162,10 @@ CM_OBJECT_TOKEN_FIXER TokenFixer[EArmObjMax] = { > NULL, ///< 16 - Hypervisor Vendor Id > > NULL, ///< 17 - Fixed feature flags for FADT > > TokenFixerItsGroup, ///< 18 - ITS Group > > - TokenFixerNotImplemented, ///< 19 - Named Component > > - TokenFixerNotImplemented, ///< 20 - Root Complex > > + TokenFixerNamedComponentNode, ///< 19 - Named Component > > + TokenFixerRootComplexNode, ///< 20 - Root Complex > > TokenFixerNotImplemented, ///< 21 - SMMUv1 or SMMUv2 > > - TokenFixerNotImplemented, ///< 22 - SMMUv3 > > + TokenFixerSmmuV3Node, ///< 22 - SMMUv3 > > TokenFixerNotImplemented, ///< 23 - PMCG > > NULL, ///< 24 - GIC ITS Identifier Array > > NULL, ///< 25 - ID Mapping Array >