On Tue, Mar 23, 2021 at 06:51:44PM +0000, Kaneda, Erik wrote:
> 
> 
> > -----Original Message-----
> > From: Lorenzo Pieralisi <lorenzo.pieral...@arm.com>
> > Sent: Tuesday, March 23, 2021 8:54 AM
> > To: Kaneda, Erik <erik.kan...@intel.com>
> > Cc: Shameerali Kolothum Thodi <shameerali.kolothum.th...@huawei.com>;
> > linux-arm-ker...@lists.infradead.org; linux-a...@vger.kernel.org;
> > iommu@lists.linux-foundation.org; de...@acpica.org; Moore, Robert
> > <robert.mo...@intel.com>; Linuxarm <linux...@huawei.com>;
> > steven.pr...@arm.com; sami.muja...@arm.com; robin.mur...@arm.com;
> > wanghuiqiang <wanghuiqi...@huawei.com>
> > Subject: Re: [RFC PATCH v2 1/8] ACPICA: IORT: Update for revision E
> > 
> > On Mon, Mar 22, 2021 at 09:57:58PM +0000, Kaneda, Erik wrote:
> > >
> > >
> > > > -----Original Message-----
> > > > From: Shameerali Kolothum Thodi
> > > > <shameerali.kolothum.th...@huawei.com>
> > > > Sent: Monday, March 22, 2021 3:36 AM
> > > > To: Kaneda, Erik <erik.kan...@intel.com>; linux-arm-
> > > > ker...@lists.infradead.org; linux-a...@vger.kernel.org;
> > iommu@lists.linux-
> > > > foundation.org; de...@acpica.org; Lorenzo Pieralisi
> > > > <lorenzo.pieral...@arm.com>; Moore, Robert
> > <robert.mo...@intel.com>
> > > > Cc: Linuxarm <linux...@huawei.com>; steven.pr...@arm.com;
> > > > sami.muja...@arm.com; robin.mur...@arm.com; wanghuiqiang
> > > > <wanghuiqi...@huawei.com>
> > > > Subject: [Devel] Re: [RFC PATCH v2 1/8] ACPICA: IORT: Update for
> > revision E
> > > >
> > > > [+]
> > > >
> > > > Hi Erik,
> > > >
> > > > As this is now just merged ino acpica-master and based on the discussion
> > we
> > > > had here,
> > > >
> > > > https://github.com/acpica/acpica/pull/638
> > > >
> > > > I had a discussion with ARM folks(Lorenzo) in the 
> > > > linaro-open-discussions
> > call
> > > > and
> > > > can confirm that the IORT Revision E is not the final specification and 
> > > > has
> > > > some issues
> > > > which is now corrected in the latest E.b revision[1]. Also there are no
> > current
> > > > users
> > > > for the Rev E and it may not be a good idea to push this version into 
> > > > the
> > Linux
> > > > kernel
> > > > or elsewhere.
> > > >
> > > > So could you please revert the merge and I am planning to work on the
> > E.b
> > > > soon.
> > > Hi,
> > >
> > > > Please let me know if I need to explicitly send a revert pull request 
> > > > or not.
> > >
> > > Please send a revert pull request and I'll remember to not submit 
> > > Linux-ize
> > the IORT patches.
> > >
> > > From all of the activity that I've seen with the IORT specification,
> > > it looks like this table is nontrivial to design and maintain. The
> > > difficulty I have with the table is that I do not understand which
> > > table revisions are in active use.
> > 
> Hi Lorenzo,
> 
> > Possibly all of them in firmware in the field - I am not sure what you
> > are asking though; if you can elaborate I'd be grateful.
> 
> Yes, I'd be happy to explain.
> 
> The ACPICA project contains code that provides definitions for ACPI tables. 
> After each release of this project, the codebase gets translated to a Linux 
> style syntax and relevant patches are submitted to Linux so that it can use 
> these table definitions in their driver codebase. From ACPICA's perspective, 
> the code providing these definitions are used to implement a 
> compiler/disassembler called iASL. This tool disassembles table definitions 
> so that the user doesn't have to open a hex editor to decipher ACPI tables. 
> Our goal with iASL is to be able to disassemble as many ACPI tables as 
> possible to give users the ability to compile and debug ACPI tables.
> 
> Out of the 60+ tables that we support, IORT has been tricky to maintain. 
> There are revisions A-E and we have received pull requests from engineers 
> from ARM or companies that work with ARM. We are grateful of their 
> contributions but some of these pull requests have broken support for earlier 
> versions of IORT. In addition, we sometimes receive communication from people 
> like Shameer saying that revision E does not currently have users. This 
> leaves Bob and I very confused about which revisions we should be focused on 
> supporting in iASL.
> 
> We need your help in understanding which versions of IORT should be supported 
> by iASL as well as Linux.
> 
> I hope this helps.. Let me know if you need me to clarify anything that I've 
> written.

Yes, it does, it is my question that wasn't clear, I maintain the
Linux ACPI ARM64 code, I am familiar with ACPICA and all of the above.

What I wanted to say is that overall, all versions should be supported
and I *think* ACPICA is designed so that the static table headers are
meant to support the *latest* table version (whose firmware bindings are
supposed to be backward compatible with all existing versions "in use").

However, revision E and E.a required a spec update, hence Shameer revert
request (which I support).

I think what you are asking is someone from Arm to act as a gatekeeper
to help you ACK/NAK ACPICA IORT changes because you have no visibility
into IORT specs evolution and actual deployment.

Is my understanding correct ?

Thanks,
Lorenzo

> Thanks,
> Erik
> > 
> > > So my question is this: which IORT revisions are being actively used?
> > 
> > See above.
> > 
> > Thanks,
> > Lorenzo
> > 
> > >
> > > Thanks,
> > > Erik
> > > >
> > > > Thanks,
> > > > Shameer
> > > >
> > > > 1. https://developer.arm.com/documentation/den0049/latest/
> > > >
> > > > > -----Original Message-----
> > > > > From: iommu [mailto:iommu-boun...@lists.linux-foundation.org] On
> > > > Behalf Of
> > > > > Shameer Kolothum
> > > > > Sent: 19 November 2020 12:12
> > > > > To: linux-arm-ker...@lists.infradead.org; linux-a...@vger.kernel.org;
> > > > > iommu@lists.linux-foundation.org; de...@acpica.org
> > > > > Cc: Linuxarm <linux...@huawei.com>; steven.pr...@arm.com;
> > > > Guohanjun
> > > > > (Hanjun Guo) <guohan...@huawei.com>; sami.muja...@arm.com;
> > > > > robin.mur...@arm.com; wanghuiqiang <wanghuiqi...@huawei.com>
> > > > > Subject: [RFC PATCH v2 1/8] ACPICA: IORT: Update for revision E
> > > > >
> > > > > IORT revision E contains a few additions like,
> > > > >     -Added an identifier field in the node descriptors to aid table
> > > > >      cross-referencing.
> > > > >     -Introduced the Reserved Memory Range(RMR) node. This is used
> > > > >      to describe memory ranges that are used by endpoints and requires
> > > > >      a unity mapping in SMMU.
> > > > >     -Introduced a flag in the RC node to express support for PRI.
> > > > >
> > > > > Signed-off-by: Shameer Kolothum
> > > > <shameerali.kolothum.th...@huawei.com>
> > > > > ---
> > > > >  include/acpi/actbl2.h | 25 +++++++++++++++++++------
> > > > >  1 file changed, 19 insertions(+), 6 deletions(-)
> > > > >
> > > > > diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h index
> > > > > ec66779cb193..274fce7b5c01 100644
> > > > > --- a/include/acpi/actbl2.h
> > > > > +++ b/include/acpi/actbl2.h
> > > > > @@ -68,7 +68,7 @@
> > > > >   * IORT - IO Remapping Table
> > > > >   *
> > > > >   * Conforms to "IO Remapping Table System Software on ARM
> > Platforms",
> > > > > - * Document number: ARM DEN 0049D, March 2018
> > > > > + * Document number: ARM DEN 0049E, June 2020
> > > > >   *
> > > > >
> > > > >
> > > >
> > **********************************************************
> > > > ******
> > > > > **************/
> > > > >
> > > > > @@ -86,7 +86,8 @@ struct acpi_iort_node {
> > > > >       u8 type;
> > > > >       u16 length;
> > > > >       u8 revision;
> > > > > -     u32 reserved;
> > > > > +     u16 reserved;
> > > > > +     u16 identifier;
> > > > >       u32 mapping_count;
> > > > >       u32 mapping_offset;
> > > > >       char node_data[1];
> > > > > @@ -100,7 +101,8 @@ enum acpi_iort_node_type {
> > > > >       ACPI_IORT_NODE_PCI_ROOT_COMPLEX = 0x02,
> > > > >       ACPI_IORT_NODE_SMMU = 0x03,
> > > > >       ACPI_IORT_NODE_SMMU_V3 = 0x04,
> > > > > -     ACPI_IORT_NODE_PMCG = 0x05
> > > > > +     ACPI_IORT_NODE_PMCG = 0x05,
> > > > > +     ACPI_IORT_NODE_RMR = 0x06,
> > > > >  };
> > > > >
> > > > >  struct acpi_iort_id_mapping {
> > > > > @@ -167,10 +169,10 @@ struct acpi_iort_root_complex {
> > > > >       u8 reserved[3];         /* Reserved, must be zero */
> > > > >  };
> > > > >
> > > > > -/* Values for ats_attribute field above */
> > > > > +/* Masks for ats_attribute field above */
> > > > >
> > > > > -#define ACPI_IORT_ATS_SUPPORTED         0x00000001   /* The root
> > > > > complex supports ATS */
> > > > > -#define ACPI_IORT_ATS_UNSUPPORTED       0x00000000   /* The root
> > > > > complex doesn't support ATS */
> > > > > +#define ACPI_IORT_ATS_SUPPORTED         (1)  /* The root complex
> > > > > supports ATS */
> > > > > +#define ACPI_IORT_PRI_SUPPORTED         (1<<1)       /* The root
> > complex
> > > > > supports PRI */
> > > > >
> > > > >  struct acpi_iort_smmu {
> > > > >       u64 base_address;       /* SMMU base address */
> > > > > @@ -241,6 +243,17 @@ struct acpi_iort_pmcg {
> > > > >       u64 page1_base_address;
> > > > >  };
> > > > >
> > > > > +struct acpi_iort_rmr {
> > > > > +     u32 rmr_count;
> > > > > +     u32 rmr_offset;
> > > > > +};
> > > > > +
> > > > > +struct acpi_iort_rmr_desc {
> > > > > +     u64 base_address;
> > > > > +     u64 length;
> > > > > +     u32 reserved;
> > > > > +};
> > > > > +
> > > > >
> > > > >
> > > >
> > /**********************************************************
> > > > *****
> > > > > ****************
> > > > >   *
> > > > >   * IVRS - I/O Virtualization Reporting Structure
> > > > > --
> > > > > 2.17.1
> > > > >
> > > > > _______________________________________________
> > > > > iommu mailing list
> > > > > iommu@lists.linux-foundation.org
> > > > > https://lists.linuxfoundation.org/mailman/listinfo/iommu
> > > > _______________________________________________
> > > > Devel mailing list -- de...@acpica.org
> > > > To unsubscribe send an email to devel-le...@acpica.org
> > > > %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to