From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web11.8268.1624866798859301446 for ; Mon, 28 Jun 2021 00:53:19 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=ymP6Jbfa; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: zhichao.gao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10028"; a="206080292" X-IronPort-AV: E=Sophos;i="5.83,305,1616482800"; d="scan'208";a="206080292" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jun 2021 00:53:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,305,1616482800"; d="scan'208";a="625166551" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga005.jf.intel.com with ESMTP; 28 Jun 2021 00:53:17 -0700 Received: from orsmsx604.amr.corp.intel.com (10.22.229.17) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Mon, 28 Jun 2021 00:53:16 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Mon, 28 Jun 2021 00:53:16 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.103) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.4; Mon, 28 Jun 2021 00:53:16 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gbnRrLxUUFnGK11032G7RCDuwVKPjl7t1LJkzTgXFCyhRC1mbN8TEDbUpPNuewAQbj4/NX4wpHc4tRxHbDUSre/lrGWYdOLF3DFW1bibRAL1VDrEvZLtkloxZKorGdJSE8heb2hxVURPcCrMJo7Tn0G3DLSpQB60rdJElotSXwYyevxDW09r/7SvUEGh60q27w1J93jdtntBdxGAMYBYy4nuespFHH8fnhg5dBCDolH9j370+n13dU2QcceH3bnCvIXhZO/kH4ra7oy0Pif0ZHAALZ//zpXb2dW2xARSuU8TjwNl1z7nyerHZEktt2XCABQXk3NXMAL2AdT7cgC68w== 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-SenderADCheck; bh=TgGepZHIUWHIdizBS1pUwGRZcX0PdmY/LqDw9OpzLIY=; b=l19KHg07C9vG14k3SHKophEYLe7rz+XG5BOH9VH3AYlzEWtd4DOiRxYvO/NN5xBvmoOxud2Unt9UxxGLIoap/shQnJ8U/xlUf64U5rb0/Mci2dBtwlt3d3RFkvZNrklypBh4T6pC1NvjycBU3xmhn3jd6t8Scgkua+hSDKrt76CC0nqbvSLFEmOvTkYlLOY8xLr4GOnTmjBI1Ypxi9f2LaHKIE00csEnKIODmQQJk/9n9vy6LcN8jbz38kJKIvcSeVf/MwFySedcRh/tVJVdLzDnvb8Fvp0UXdoUMyqgmASHDzMywNcB6es5gcAdDEummBWf2mDpZWKCS+iB7cLn3Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TgGepZHIUWHIdizBS1pUwGRZcX0PdmY/LqDw9OpzLIY=; b=ymP6JbfaZWBTbLw1JWklcdx5/bRPv+gMZpktuwk3dglGW67eRBL3aNawS+svcuC0ncbIYc47zTXTSIxePyNX8L58m4/iEItjmI8GhKCa1iKoV5RAFqVcaGbGT2ptEUeq8chLCUkk4ykTmRwyZ8DyzCjTHuiPpOxUrO88z6CgnwE= Received: from DM4PR11MB5277.namprd11.prod.outlook.com (2603:10b6:5:388::23) by DM6PR11MB3706.namprd11.prod.outlook.com (2603:10b6:5:13e::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.24; Mon, 28 Jun 2021 07:53:15 +0000 Received: from DM4PR11MB5277.namprd11.prod.outlook.com ([fe80::c4ba:12e7:71d3:a5b3]) by DM4PR11MB5277.namprd11.prod.outlook.com ([fe80::c4ba:12e7:71d3:a5b3%7]) with mapi id 15.20.4264.026; Mon, 28 Jun 2021 07:53:15 +0000 From: "Gao, Zhichao" To: Sami Mujawar , "devel@edk2.groups.io" CC: "Alexei.Fedorov@arm.com" , "ardb+tianocore@kernel.org" , "Matteo.Carlini@arm.com" , "Ben.Adderson@arm.com" , "steven.price@arm.com" , "Lorenzo.Pieralisi@arm.com" , "Kinney, Michael D" , "gaoliming@byosoft.com.cn" , "Liu, Zhiguang" , "Ni, Ray" , "nd@arm.com" Subject: Re: [PATCH v2 2/8] MdePkg: IORT header update for IORT Rev E.b spec Thread-Topic: [PATCH v2 2/8] MdePkg: IORT header update for IORT Rev E.b spec Thread-Index: AQHXY18DNFkf6UIkck2wH6DCulOOiKspHmJw Date: Mon, 28 Jun 2021 07:53:15 +0000 Message-ID: References: <20210617095538.93280-1-sami.mujawar@arm.com> <20210617095538.93280-3-sami.mujawar@arm.com> In-Reply-To: <20210617095538.93280-3-sami.mujawar@arm.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.143.3] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0d994314-a311-4454-fc2e-08d93a09c954 x-ms-traffictypediagnostic: DM6PR11MB3706: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: AffhT9OZm6BgzZfpMQC0CWyEjc8s2RHD39i2+ufREr+Xy+njpr85zpr0QrbvUeCVpjQuvy3qGLD0vbbJ3J3O7d0czfEkY2+I0KQxn4zeGWmbOfm/Io9mvgSJChdwxh16oa6xoPFmlii8yazBigWihnLPIsgTDtB2F8e5WumTzZ8VhoLfjrW4WZA1Va+5bJHxP/aV1gvC45cwgDw6F9AET3AGBf7BZ31WYhUruvA3mxV1oZP8Lq/8cgxFY4bq2p5Jl9kCCH8wi8XtJPF0LCU4/umuthxPx44UFYZchIr0kqCzXAMQ6B1bMjitS5acJ3ZBCPdNQCBqxxFMfSBLNmlaSXT0vtvGhgM+QfRVDft1OXYWoYGzS3TB8W4MAsxlQINTyWlMxfbPvY1tK0bt1xNtRC/LNMGZPK1Aq4jltZscSm90BTbicL5DM7q0RrqBpkRhOIzLk4zSMM/21paBIb43tTEr9RjEoszCwHYekpMOlHzfOx0QDsHe8yIVO8peLpkB2zuedLDI7Yx5A19IKlFBsP5WBmG+M4ksBw2TyrUu+8joVb0JzuQSUxdZPxjADxnFIDV53Lmgyjo+hkpmA5zCZaHmmQ/FjHXI+mt+e3tT2UwnX4TRj2SPAJxXrDTo/EVEvitngBt++8xZgWnD1tGHzUyitv/9WdjE++ERjgUgCPk/55ijVu0voJ2Y2g3u8/oD/h/Kfj55zozVFko/yFngbQiNauntPVYnMJkBZcbqYPnyEVwOxpqUUMmRXvNa9tdv x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB5277.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(376002)(346002)(136003)(39860400002)(396003)(76116006)(6506007)(186003)(9686003)(86362001)(110136005)(122000001)(55016002)(38100700002)(64756008)(7696005)(8936002)(4326008)(66446008)(54906003)(8676002)(2906002)(53546011)(7416002)(66946007)(15650500001)(478600001)(71200400001)(966005)(66476007)(33656002)(52536014)(26005)(83380400001)(316002)(66556008)(5660300002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?3aC3uz/CI/elGBL+AcIsjVmN1qHmLG1OaFYuZ2AOFu4+z6zx+QNI0vRsbopd?= =?us-ascii?Q?m75SpPxFk9idIsOGHra3+iwVmCdp21RFucvTtiROsX3w6N++C0MWjcrXSn+z?= =?us-ascii?Q?FxUqtdTjpK6e2F0e4IsbErT5IZ+7md3uOP4ZdM7166W0D5i8Andl38F+S/FK?= =?us-ascii?Q?/dTHRorxxOYHfdV1D9HO0rpMLTle2W4fx+WOO8k961it0K+kkamCrnv3aTk+?= =?us-ascii?Q?O8PG9dH34fQ7WBkEwO697lx67O+dEN4s1ZNPFOF//8W4iVTuFENiEXxommGl?= =?us-ascii?Q?EDXMvVCXx0XPQ3tpzG30gQiYuMFaZM2v+u2C6aPIDtZn7yjpinaLwWJUmRsy?= =?us-ascii?Q?tgWe9u9WLmgm16exuoUI71CPY2+S/xJqaYtIhOR8DhEIHBArZwvhb9Picw8W?= =?us-ascii?Q?eewldM/0xr4NUURjtnNPRyAep+fL26tbaO+9bJfFo/j0U3r7PLV1VP/czVZl?= =?us-ascii?Q?bu1pighFr8wbk64xxbONR1QHKx/Dh+aEGTW9MzthvfWNdczInT9I6cSjPYCe?= =?us-ascii?Q?ehW6S4qIsEaqEnzaaNL+WwIcPQPjdAtwCHAYK+Mts+eyUSlwq1IRh2tS/lqr?= =?us-ascii?Q?eHaiZiQiasm7uxItkn6GchPOvLTYjmZ2YL+2QP3i7962J/yJWwR9fN1UBf8v?= =?us-ascii?Q?lIJCHuHh+rfcjIjGupdiGugrZTgbQcOyPYSxqHIipyM4b73GJETtsVy89MrH?= =?us-ascii?Q?5+atE6vjmjIIoI05NDxfFzVfnNfR5xj6pAWfBf+IThhntN2zgmRqXuJ414O4?= =?us-ascii?Q?O4jbOVXzBOdLz6tVjA4ZxlqsLBIkL8YGTmEeVfFYTGzfCevhbZcMMQBbPeJ+?= =?us-ascii?Q?c80B9mdlOe6Rxg4E34KhoHAi8iKWYsLRhbbJhbWQaTjFnpC/yNwH2SyKyvm5?= =?us-ascii?Q?0iJe2iK1qa3s/RzgvVBJZ482kNbhHzu2P5XqHR71CzTfE5h2eZ3Hg7Bpk/s8?= =?us-ascii?Q?jeEnP9sxWjPaEo6b+Dw1DWZFRiaoskVWMDzvaIAGksk766T7ijWOcjm+P0/g?= =?us-ascii?Q?Knmqw+Tcenqsbd2bklO0vT8QFrwSgitb1yp+XUafFthUUlRrqNbPmnhglMah?= =?us-ascii?Q?qKh2CCdReFIWcB1eQbBWctYmyM1cDkjYXZZhENRG69ygLZpg9bRzED9zSszl?= =?us-ascii?Q?3MN8F6vBF/U2BVbN/uV8UhxkTSs5VRfPZKpW0dlNE9tlzKOv5IViP7OuQdfn?= =?us-ascii?Q?aQ//zLD4y/sBAMO5FaBLObjQ/vOI1VVQQ0AXK/fKrCFU7D67z8ZagtfJ/Wvn?= =?us-ascii?Q?5wJaBCY3Yt4dCWdtlzPhfN4iUT5E1M/S3rsCZCwEqMGchD3smLCf+enfdlU/?= =?us-ascii?Q?zpk=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5277.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0d994314-a311-4454-fc2e-08d93a09c954 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jun 2021 07:53:15.5268 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 9lMsQGmkPPtZdc2FWdEOsYpa4yRQGW6aYuonZOaaLYH/B71H9FMRkSmbphw0URMSJyKmjPr7NNTffYAMnBTxmg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3706 Return-Path: zhichao.gao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Zhichao Gao Thanks, Zhichao > -----Original Message----- > From: Sami Mujawar > Sent: Thursday, June 17, 2021 5:56 PM > To: devel@edk2.groups.io > Cc: Sami Mujawar ; Alexei.Fedorov@arm.com; > ardb+tianocore@kernel.org; Matteo.Carlini@arm.com; > Ben.Adderson@arm.com; steven.price@arm.com; > Lorenzo.Pieralisi@arm.com; Kinney, Michael D > ; gaoliming@byosoft.com.cn; Liu, Zhiguang > ; Ni, Ray ; Gao, Zhichao > ; nd@arm.com > Subject: [PATCH v2 2/8] MdePkg: IORT header update for IORT Rev E.b spec >=20 > Bugzilla: 3458 - Add support IORT Rev E.b specification updates > (https://bugzilla.tianocore.org/show_bug.cgi?id=3D3458) >=20 > The IO Remapping Table, Platform Design Document, Revision E.b, Feb 2021 > (https://developer.arm.com/documentation/den0049/) > introduces the following updates, collectively including the updates and > errata fixes to Rev E and Rev E.a: > - increments the IORT table revision to 3. > - 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. >=20 > Therefore, update the IORT header file to reflect these changes. >=20 > Signed-off-by: Sami Mujawar > --- >=20 > Notes: > v2: > - Set EFI_ACPI_IO_REMAPPING_TABLE_REVISION to Rev 0 as [SAMI] > setting to Rev 3 will break existing platforms. The > problem is that existing code would not be populating > the Identifier field in the nodes. This can lead to > non-unique values in the Identifier field. >=20 > MdePkg/Include/IndustryStandard/IoRemappingTable.h | 67 > ++++++++++++++++++-- > 1 file changed, 60 insertions(+), 7 deletions(-) >=20 > diff --git a/MdePkg/Include/IndustryStandard/IoRemappingTable.h > b/MdePkg/Include/IndustryStandard/IoRemappingTable.h > index > 731217441438a00dd5ff0bedf2010598d48d6dbf..a9817252d8cec17f82cb1a4ced > 12186cdf58713a 100644 > --- a/MdePkg/Include/IndustryStandard/IoRemappingTable.h > +++ b/MdePkg/Include/IndustryStandard/IoRemappingTable.h > @@ -1,12 +1,19 @@ > /** @file > - ACPI IO Remapping Table (IORT) as specified in ARM spec DEN0049D > - > - > http://infocenter.arm.com/help/topic/com.arm.doc.den0049d/DEN0049D_I > O_Remapping_Table.pdf > + ACPI IO Remapping Table (IORT) definitions. >=20 > Copyright (c) 2017, Linaro Limited. All rights reserved.
> - Copyright (c) 2018, ARM Limited. All rights reserved.
> + Copyright (c) 2018 - 2021, Arm Limited. All rights reserved.
>=20 > SPDX-License-Identifier: BSD-2-Clause-Patent > + > + @par Reference(s): > + - IO Remapping Table, Platform Design Document, Revision E.b, Feb 2021 > + (https://developer.arm.com/documentation/den0049/) > + > + @par Glossary: > + - Ref : Reference > + - Mem : Memory > + - Desc : Descriptor > **/ >=20 > #ifndef IO_REMAPPING_TABLE_H_ > @@ -14,7 +21,9 @@ >=20 > #include >=20 > -#define EFI_ACPI_IO_REMAPPING_TABLE_REVISION 0x0 > +#define EFI_ACPI_IO_REMAPPING_TABLE_REV0 0x0 > +#define EFI_ACPI_IO_REMAPPING_TABLE_REV3 0x3 > +#define EFI_ACPI_IO_REMAPPING_TABLE_REVISION > +EFI_ACPI_IO_REMAPPING_TABLE_REV0 >=20 > #define EFI_ACPI_IORT_TYPE_ITS_GROUP 0x0 > #define EFI_ACPI_IORT_TYPE_NAMED_COMP 0x1 > @@ -22,6 +31,7 @@ > #define EFI_ACPI_IORT_TYPE_SMMUv1v2 0x3 > #define EFI_ACPI_IORT_TYPE_SMMUv3 0x4 > #define EFI_ACPI_IORT_TYPE_PMCG 0x5 > +#define EFI_ACPI_IORT_TYPE_RMR 0x6 >=20 > #define EFI_ACPI_IORT_MEM_ACCESS_PROP_CCA BIT0 >=20 > @@ -55,7 +65,16 @@ > #define EFI_ACPI_IORT_SMMUv3_MODEL_CAVIUM_CN99XX 0x2 >=20 > #define EFI_ACPI_IORT_ROOT_COMPLEX_ATS_UNSUPPORTED 0x0 > -#define EFI_ACPI_IORT_ROOT_COMPLEX_ATS_SUPPORTED 0x1 > +#define EFI_ACPI_IORT_ROOT_COMPLEX_ATS_SUPPORTED BIT0 > + > +#define EFI_ACPI_IORT_ROOT_COMPLEX_PRI_UNSUPPORTED 0x0 > +#define EFI_ACPI_IORT_ROOT_COMPLEX_PRI_SUPPORTED BIT1 > + > +#define EFI_ACPI_IORT_ROOT_COMPLEX_PASID_FWD_UNSUPPORTED > 0x0 > +#define EFI_ACPI_IORT_ROOT_COMPLEX_PASID_FWD_SUPPORTED BIT2 > + > +#define EFI_ACPI_IORT_RMR_REMAP_NOT_PERMITTED 0x0 > +#define EFI_ACPI_IORT_RMR_REMAP_PERMITTED BIT0 >=20 > #define EFI_ACPI_IORT_ID_MAPPING_FLAGS_SINGLE BIT0 >=20 > @@ -89,7 +108,7 @@ typedef struct { > UINT8 Type; > UINT16 Length; > UINT8 Revision; > - UINT32 Reserved; > + UINT32 Identifier; > UINT32 NumIdMappings; > UINT32 IdReference; > } EFI_ACPI_6_0_IO_REMAPPING_NODE; > @@ -198,6 +217,40 @@ typedef struct { > //EFI_ACPI_6_0_IO_REMAPPING_ID_TABLE > OverflowInterruptMsiMapping[1]; > } EFI_ACPI_6_0_IO_REMAPPING_PMCG_NODE; >=20 > +/// > +/// Memory Range Descriptor. > +/// > +typedef struct { > + /// Base address of Reserved Memory Range, > + /// aligned to a page size of 64K. > + UINT64 Base; > + > + /// Length of the Reserved Memory range. > + /// Must be a multiple of the page size of 64K. > + UINT64 Length; > + > + /// Reserved, must be zero. > + UINT32 Reserved; > +} EFI_ACPI_6_0_IO_REMAPPING_MEM_RANGE_DESC; > + > +/// > +/// Node type 6: Reserved Memory Range (RMR) node /// typedef struct { > + EFI_ACPI_6_0_IO_REMAPPING_NODE Node; > + > + /// RMR flags > + UINT32 Flags; > + > + /// Memory range descriptor count. > + UINT32 NumMemRangeDesc; > + > + /// Offset of the memory range descriptor array. > + UINT32 MemRangeDescRef; > +// EFI_ACPI_6_0_IO_REMAPPING_ID_TABLE IdMapping[1]; > +// EFI_ACPI_6_0_IO_REMAPPING_MEM_RANGE_DESC > MemRangeDesc[1]; > +} EFI_ACPI_6_0_IO_REMAPPING_RMR_NODE; > + > #pragma pack() >=20 > #endif > -- > 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'