> -----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.

So my question is this: which IORT revisions are being actively used?

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