From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web09.24547.1658130163455014585 for ; Mon, 18 Jul 2022 00:42:43 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: pierre.gondois@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 639151042; Mon, 18 Jul 2022 00:42:43 -0700 (PDT) Received: from [10.34.100.102] (pierre123.nice.arm.com [10.34.100.102]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 925DC3F766; Mon, 18 Jul 2022 00:42:40 -0700 (PDT) Message-ID: Date: Mon, 18 Jul 2022 09:42:17 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH v6 0/8] IORT Rev E.d specification updates To: Sami Mujawar , devel@edk2.groups.io Cc: Alexei.Fedorov@arm.com, ardb+tianocore@kernel.org, quic_llindhol@quicinc.com, Matteo.Carlini@arm.com, Akanksha.Jain2@arm.com, Ben.Adderson@arm.com, steven.price@arm.com, Lorenzo.Pieralisi@arm.com, michael.d.kinney@intel.com, gaoliming@byosoft.com.cn, zhiguang.liu@intel.com, ray.ni@intel.com, zhichao.gao@intel.com, nd@arm.com References: <20220714165031.42640-1-sami.mujawar@arm.com> From: "PierreGondois" In-Reply-To: <20220714165031.42640-1-sami.mujawar@arm.com> Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hello Sami, For the serie: Reviewed-by: Pierre Gondois Regards, Pierre On 7/14/22 18:50, Sami Mujawar wrote: > Bugzilla: 3458 - Add support IORT Rev E.d specification updates > (https://bugzilla.tianocore.org/show_bug.cgi?id=3458) > > The IO Remapping Table, Platform Design Document, Revision E.d, > Feb 2022 (https://developer.arm.com/documentation/den0049/) > introduces the following updates, collectively including the > updates and errata fixes to Rev E, Rev E.a, Rev E.b, Rev E.c: > - increments the IORT table revision to 5. > - updates the node definition to add an 'Identifier' field. > - adds definition of node type 6 - Reserved Memory Range node. > - adds definition for Memory Range Descriptors. > - adds flag to indicate PRI support for root complexes. > - adds flag to indicate if the root complex supports forwarding > of PASID information on translated transactions to the SMMU. > - adds flag to indicate if the root complex supports PASID. > - adds flags to define access privilege and attributes for the > memory ranges. > > This v6 series: > * Updates teh IORT header to add definition for IORT Rev 4 > and RMR Node 2 so that appropriate checks can be performed > for deprecated table/node revisions. > * Adds checks to not generate IORT table Rev E, E.. > * Addresses the feedback received for Acpiview to: > - Make output format for Flags filed consistent. > - Define macro for IORT Rev E.c and RMR Node revision 2 > and use these to check for deprecated table/node > revisions. > - Added check to skip parsing if IORT Rev E, E. > as various fields were deprecated between revisions. > > The v5 series: > * Addresses the feedback for IORT Revision macro. > * Reorders the patches in the series and updates > "MdePkg: IORT header update for IORT Rev E.d spec" > patch to include changes for IORT generator to prevent > git bisect from breaking. > > The v4 series: > * Updates the IORT header to reflect Rev E.d: > - Add flag to indicate if the root complex supports PASID. > - Add flags to define access privilege and attributes for the > memory ranges. > * Adds validations to Acpiview to: > - Check that the IORT Table Revision is not 4 as IORT > Rev E.c is deprecated. > - Check that the IORT RMR node revision is not 2 as it > breaks backward compatibility and was deprecated as > part of IORT Rev E.c. > * Updates Dynamic Tables Framework to support generation of > IORT revision E.d. > > The v3 series: > - Dropped [PATCH v2 1/8] MdePkg: Fix IORT header file include > guard as suggested at > https://edk2.groups.io/g/devel/message/76656 > - Removed definition of EFI_ACPI_IO_REMAPPING_TABLE_REVISION as > EFI_ACPI_IO_REMAPPING_TABLE_REV0 has been provided for > representing Rev 0. > - Moved error handling code for IdMappingToken from patch v2 6/8 > and v2 8/8 into a separate patch. > - Moved Identifier field before Flags field in CM_ARM_RMR_NODE. > - Added description for CM_ARM_MEMORY_RANGE_DESCRIPTOR field. > > The v2 patch series includes all changes from v1 patch series > except the following 2 patches have been modified to set the > EFI_ACPI_IO_REMAPPING_TABLE_REVISION macro to Rev 0 as setting > to Rev 3 will break existing platforms, the problem being that > the Identifier field in the IORT nodes would not be unique. > - MdePkg: IORT header update for IORT Rev E.b spec > - DynamicTablesPkg: IORT generator updates for Rev E.b spec > > The v1 patch series: > - Updates the IORT header file to match the Rev E.b specification. > - Add support to parse IORT Rev E.b tables > - Add support to generate IORT Rev E.b compliant ACPI tables > using Dynamic Tables Framework. > > The changes for the v4 series can be seen at: > https://github.com/samimujawar/edk2/tree/1527_iort_rev_ed_v6 > Sami Mujawar (8): > ShellPkg: Acpiview: Abbreviate field names to preserve alignment > DynamicTablesPkg: Handle error when IdMappingToken is NULL > DynamicTablesPkg: IORT set reference to Id array only if present > DynamicTablesPkg: IORT set reference to interrupt array if present > MdePkg: IORT header update for IORT Rev E.d spec > ShellPkg: Acpiview: IORT parser update for IORT Rev E.d spec > DynamicTablesPkg: Update ArmNameSpaceObjects for IORT Rev E.d > DynamicTablesPkg: IORT generator updates for Rev E.d spec > > DynamicTablesPkg/DynamicTablesPkg.ci.yaml | 1 + > DynamicTablesPkg/Include/ArmNameSpaceObjects.h | 66 +- > DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c | 854 +++++++++++++++++--- > DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.h | 5 +- > MdePkg/Include/IndustryStandard/IoRemappingTable.h | 86 +- > ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Iort/IortParser.c | 239 +++++- > 6 files changed, 1111 insertions(+), 140 deletions(-) >