[RFC PATCH v2 1/8] ACPICA: IORT: Update for revision E
Shameerali Kolothum Thodi
shameerali.kolothum.thodi at huawei.com
Mon Mar 22 10:36:04 GMT 2021
[+]
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.
Please let me know if I need to explicitly send a revert pull request or not.
Thanks,
Shameer
1. https://developer.arm.com/documentation/den0049/latest/
> -----Original Message-----
> From: iommu [mailto:iommu-bounces at lists.linux-foundation.org] On Behalf Of
> Shameer Kolothum
> Sent: 19 November 2020 12:12
> To: linux-arm-kernel at lists.infradead.org; linux-acpi at vger.kernel.org;
> iommu at lists.linux-foundation.org; devel at acpica.org
> Cc: Linuxarm <linuxarm at huawei.com>; steven.price at arm.com; Guohanjun
> (Hanjun Guo) <guohanjun at huawei.com>; Sami.Mujawar at arm.com;
> robin.murphy at arm.com; wanghuiqiang <wanghuiqiang at 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.thodi at 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 at lists.linux-foundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/iommu
More information about the linux-arm-kernel
mailing list