Reviewed-by: Liming Gao <gaolim...@byosoft.com.cn> > -----邮件原件----- > 发件人: Robert Kowalewski <robert.kowalew...@intel.com> > 发送时间: 2022年7月6日 21:48 > 收件人: devel@edk2.groups.io > 抄送: Michael D Kinney <michael.d.kin...@intel.com>; Liming Gao > <gaolim...@byosoft.com.cn>; Zhiguang Liu <zhiguang....@intel.com>; Jenny > Huang <jenny.hu...@intel.com>; Sheng Wei <w.sh...@intel.com> > 主题: [PATCH] MdePkg/include: Update DMAR definitions to Intel VT-d spec > ver4.0 > > Updated DMAR definitions accordingly to changes in Intel(R) Virtualization > Technology for Directed I/O (VT-D) Architecture Specification ver4.0. > > Added new definition of remapping structure - SIDP. The SoC Integrated > Device Property (SIDP) reporting structure identifies devices that have > special properties and that may put restrictions on how system software > must configure remapping structures that govern such devices in a platform > where remapping hardware is enabled. > > Updated DRHD definition - field 'reserved' is replaced with 'Size'. > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3978 > > Signed-off-by: Robert Kowalewski <robert.kowalew...@intel.com> > > Cc: Michael D Kinney <michael.d.kin...@intel.com> > Cc: Liming Gao <gaolim...@byosoft.com.cn> > Cc: Zhiguang Liu <zhiguang....@intel.com> > Cc: Jenny Huang <jenny.hu...@intel.com> > Cc: Sheng Wei <w.sh...@intel.com> > --- > .../DmaRemappingReportingTable.h | 46 > +++++++++++++++---- > 1 file changed, 38 insertions(+), 8 deletions(-) > > diff --git > a/MdePkg/Include/IndustryStandard/DmaRemappingReportingTable.h > b/MdePkg/Include/IndustryStandard/DmaRemappingReportingTable.h > index 193e4bced5..00588ff234 100644 > --- a/MdePkg/Include/IndustryStandard/DmaRemappingReportingTable.h > +++ b/MdePkg/Include/IndustryStandard/DmaRemappingReportingTable.h > @@ -2,12 +2,12 @@ > DMA Remapping Reporting (DMAR) ACPI table definition from Intel(R) > Virtualization Technology for Directed I/O (VT-D) Architecture > Specification. > > - Copyright (c) 2016 - 2020, Intel Corporation. All rights reserved.<BR> > + Copyright (c) 2016 - 2022, Intel Corporation. All rights reserved.<BR> > SPDX-License-Identifier: BSD-2-Clause-Patent > > @par Revision Reference: > - Intel(R) Virtualization Technology for Directed I/O (VT-D) Architecture > - Specification v3.2, Dated October 2020. > + Specification v4.0, Dated June 2022. > > https://software.intel.com/content/dam/develop/external/us/en/documents > /vt-directed-io-spec.pdf > > @par Glossary: > @@ -41,6 +41,7 @@ > #define EFI_ACPI_DMAR_TYPE_RHSA 0x03 > #define EFI_ACPI_DMAR_TYPE_ANDD 0x04 > #define EFI_ACPI_DMAR_TYPE_SATC 0x05 > +#define EFI_ACPI_DMAR_TYPE_SIDP 0x06 > ///@} > > /// > @@ -56,6 +57,12 @@ > #define EFI_ACPI_DEVICE_SCOPE_ENTRY_TYPE_IOAPIC > 0x03 > #define EFI_ACPI_DEVICE_SCOPE_ENTRY_TYPE_MSI_CAPABLE_HPET > 0x04 > #define EFI_ACPI_DEVICE_SCOPE_ENTRY_TYPE_ACPI_NAMESPACE_DEVICE > 0x05 > + > +#define EFI_ACPI_DEVICE_SCOPE_REQ_WO_PASID_NESTED_NOTALLOWED > BIT0 > +#define EFI_ACPI_DEVICE_SCOPE_REQ_WO_PASID_PWSNP_NOTALLOWED > BIT1 > +#define EFI_ACPI_DEVICE_SCOPE_REQ_WO_PASID_PGSNP_NOTALLOWED > BIT2 > +#define EFI_ACPI_DEVICE_SCOPE_REQ_WO_PASID_ATC_HARDENED > BIT3 > +#define EFI_ACPI_DEVICE_SCOPE_REQ_WO_PASID_ATC_REQUIRED > BIT4 > ///@} > > /// > @@ -83,11 +90,12 @@ typedef struct { > /// Device Scope Structure is defined in section 8.3.1 > /// > typedef struct { > - UINT8 Type; > - UINT8 Length; > - UINT16 Reserved2; > - UINT8 EnumerationId; > - UINT8 StartBusNumber; > + UINT8 Type; > + UINT8 Length; > + UINT8 Flags; > + UINT8 Reserved; > + UINT8 EnumerationId; > + UINT8 StartBusNumber; > } EFI_ACPI_DMAR_DEVICE_SCOPE_STRUCTURE_HEADER; > > /** > @@ -111,7 +119,14 @@ typedef struct { > - Bits[7:1] Reserved. > **/ > UINT8 Flags; > - UINT8 Reserved; > + > + /** > + - Bits[3:0]: Indicates the size of the remapping hardware register set for > + this remapping unit. If the value in this field is N, the > size > + of the register set is 2^N 4 KB pages > + - Bits[7:4]: Reserved. > + **/ > + UINT8 Size; > /// > /// The PCI Segment associated with this unit. > /// > @@ -249,6 +264,20 @@ typedef struct { > UINT16 SegmentNumber; > } EFI_ACPI_DMAR_SATC_HEADER; > > +/** > + SoC Integrated Device Property (SIDP) Reporting Structure is defined in > + section 8.9. > +**/ > +typedef struct { > + EFI_ACPI_DMAR_STRUCTURE_HEADER Header; > + > + UINT16 Reserved; > + /// > + /// The PCI Segment associated with this SIDP structure. > + /// > + UINT16 SegmentNumber; > +} EFI_ACPI_DMAR_SIDP_HEADER; > + > /** > DMA Remapping Reporting Structure Header as defined in section 8.1 > This header will be followed by list of Remapping Structures listed below > @@ -258,6 +287,7 @@ typedef struct { > - Remapping Hardware Static Affinity (RHSA) > - ACPI Name-space Device Declaration (ANDD) > - SoC Integrated Address Translation Cache reporting (SATC) > + - SoC Integrated Device Property reporting (SIDP) > These structure types must by reported in numerical order. > i.e., All remapping structures of type 0 (DRHD) enumerated before > remapping > structures of type 1 (RMRR), and so forth. > -- > 2.32.0.windows.1 > > --------------------------------------------------------------------- > Intel Technology Poland sp. z o.o. > ul. Slowackiego 173 | 80-298 Gdansk | Sad Rejonowy Gdansk Polnoc | VII > Wydzial Gospodarczy Krajowego Rejestru Sadowego - KRS 101882 | NIP > 957-07-52-316 | Kapital zakladowy 200.000 PLN. > Ta wiadomosc wraz z zalacznikami jest przeznaczona dla okreslonego > adresata i moze zawierac informacje poufne. W razie przypadkowego > otrzymania tej wiadomosci, prosimy o powiadomienie nadawcy oraz trwale > jej usuniecie; jakiekolwiek przegladanie lub rozpowszechnianie jest > zabronione. > This e-mail and any attachments may contain confidential material for the > sole use of the intended recipient(s). If you are not the intended recipient, > please contact the sender and delete all copies; any review or distribution by > others is strictly prohibited.
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#91127): https://edk2.groups.io/g/devel/message/91127 Mute This Topic: https://groups.io/mt/92220244/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-