From nobody Fri May 3 06:14:29 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+92501+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+92501+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1660717214; cv=none; d=zohomail.com; s=zohoarc; b=ZLe9zK646xnAy/gnetC+SFBuBpJ078INEjBW0Cd+kS5z0nQ37XrhH00tBv7spRBandoW2i41gC6NPRwxDB1DeTG9IvVD4QPtGjlNSkmBTRnkuHtbSjCgiapULj9ESjiS8Z5ex0/OSO8meipD6ZFnnZJOPvDz872SkIf9ny0LeyQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660717214; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=nijpNnV8eit62EBgbcVCzfmNnk5nUPpl7uZEcHe02T8=; b=SdGsmfwJ0JW2xGtEdrASrEWRKckeOqD9UPQ+vpDMwQI3278VuJY5vr4HGRWI7hm+C69bFabfmrIYIUSrNnM2kWabj+J3ovj4mHrvcEpt/xkoV8JYd55PdlD9UZLevvokHFMTKvTqiPsRiAKDl4ZR7pguK0j0PE5t6nt94x77Okc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+92501+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1660717214348365.7556312042328; Tue, 16 Aug 2022 23:20:14 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id Kbt0YY1788612xvbfPxlvZEK; Tue, 16 Aug 2022 23:20:12 -0700 X-Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web09.26051.1660717211956709837 for ; Tue, 16 Aug 2022 23:20:12 -0700 X-IronPort-AV: E=McAfee;i="6400,9594,10441"; a="293208155" X-IronPort-AV: E=Sophos;i="5.93,242,1654585200"; d="scan'208";a="293208155" X-Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Aug 2022 23:20:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,242,1654585200"; d="scan'208";a="583631424" X-Received: from shwdesssddpdwei.ccr.corp.intel.com ([10.239.157.43]) by orsmga006.jf.intel.com with ESMTP; 16 Aug 2022 23:20:09 -0700 From: "Sheng Wei" To: devel@edk2.groups.io Cc: Ray Ni , Rangasai V Chaganty , Jenny Huang , Robert Kowalewski Subject: [edk2-devel] [PATCH] IntelSiliconPkg/VTd: Add DMAR SIDP Table dumpping Date: Wed, 17 Aug 2022 14:20:06 +0800 Message-Id: <20220817062006.1617-1-w.sheng@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,w.sheng@intel.com X-Gm-Message-State: mVTrppf2ZdgJZmHob1sINxRbx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1660717212; bh=W0YBCQvo4Ja9SIBXX/Not+jChdxpF9FF6Mc0Q8eiWjs=; h=Cc:Date:From:Reply-To:Subject:To; b=reRQLZ4Fod+NHkZFvvDs274mIS9YxkD8zcC+63Ec/LN1lgWfwHLxpOGRZiAJr0HCPrV BeXQYiaVsvN+pppDNjOUB2ydGKzdULBJjZdMzCaZDJjjHTXhtu/nKlpv0gu654Fq0Prlj K1CfOROAbWUcpzVxrFrgDDgP4giW+lUGXqY= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1660717216077100003 Content-Type: text/plain; charset="utf-8" VT-d spec 4.0 has added a new structure called SIDP which is more generic to describe special properties of integrated devices. Cc: Ray Ni Cc: Rangasai V Chaganty Cc: Jenny Huang Cc: Robert Kowalewski Signed-off-by: Sheng Wei Reviewed-by: Robert Kowalewski --- .../Feature/VTd/IntelVTdDxe/DmarAcpiTable.c | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmarAcpi= Table.c b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmarAcpiTab= le.c index 75fbd53ed..42e1b1449 100644 --- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmarAcpiTable.c +++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmarAcpiTable.c @@ -93,6 +93,10 @@ DumpDmarDeviceScopeEntry ( " Length ............................................. 0x%02x\n", DmarDeviceScopeEntry->Length )); + DEBUG ((DEBUG_INFO, + " Flags .............................................. 0x%02x\n", + DmarDeviceScopeEntry->Flags + )); DEBUG ((DEBUG_INFO, " Enumeration ID ..................................... 0x%02x\n", DmarDeviceScopeEntry->EnumerationId @@ -122,6 +126,66 @@ DumpDmarDeviceScopeEntry ( return; } =20 +/** + Dump DMAR SIDP table. + + @param[in] Sidp DMAR SIDP table +**/ +VOID +DumpDmarSidp ( + IN EFI_ACPI_DMAR_SIDP_HEADER *Sidp + ) +{ + EFI_ACPI_DMAR_DEVICE_SCOPE_STRUCTURE_HEADER *DmarDeviceScopeEntry; + INTN SidpLen; + + if (Sidp =3D=3D NULL) { + return; + } + + DEBUG ((DEBUG_INFO, + " *******************************************************************= ********\n" + )); + DEBUG ((DEBUG_INFO, + " * SoC Integrated Device Property Reporting Structure = *\n" + )); + DEBUG ((DEBUG_INFO, + " *******************************************************************= ********\n" + )); + DEBUG ((DEBUG_INFO, + (sizeof(UINTN) =3D=3D sizeof(UINT64)) ? + " SIDP address ........................................... 0x%016lx\n= " : + " SIDP address ........................................... 0x%08x\n", + Sidp + )); + DEBUG ((DEBUG_INFO, + " Type ................................................. 0x%04x\n", + Sidp->Header.Type + )); + DEBUG ((DEBUG_INFO, + " Length ............................................... 0x%04x\n", + Sidp->Header.Length + )); + DEBUG ((DEBUG_INFO, + " Segment Number ....................................... 0x%04x\n", + Sidp->SegmentNumber + )); + + SidpLen =3D Sidp->Header.Length - sizeof(EFI_ACPI_DMAR_SIDP_HEADER); + DmarDeviceScopeEntry =3D (EFI_ACPI_DMAR_DEVICE_SCOPE_STRUCTURE_HEADER *)= (Sidp + 1); + while (SidpLen > 0) { + DumpDmarDeviceScopeEntry (DmarDeviceScopeEntry); + SidpLen -=3D DmarDeviceScopeEntry->Length; + DmarDeviceScopeEntry =3D (EFI_ACPI_DMAR_DEVICE_SCOPE_STRUCTURE_HEADER = *)((UINTN)DmarDeviceScopeEntry + DmarDeviceScopeEntry->Length); + } + + DEBUG ((DEBUG_INFO, + " *******************************************************************= ********\n\n" + )); + + return; +} + /** Dump DMAR SATC table. =20 @@ -472,6 +536,10 @@ DumpDmarDrhd ( " Flags ................................................ 0x%02x\n", Drhd->Flags )); + DEBUG ((DEBUG_INFO, + " Size ................................................. 0x%02x\n", + Drhd->Size + )); DEBUG ((DEBUG_INFO, " INCLUDE_PCI_ALL .................................... 0x%02x\n", Drhd->Flags & EFI_ACPI_DMAR_DRHD_FLAGS_INCLUDE_PCI_ALL @@ -583,7 +651,11 @@ DumpAcpiDMAR ( case EFI_ACPI_DMAR_TYPE_SATC: DumpDmarSatc ((EFI_ACPI_DMAR_SATC_HEADER *)DmarHeader); break; + case EFI_ACPI_DMAR_TYPE_SIDP: + DumpDmarSidp ((EFI_ACPI_DMAR_SIDP_HEADER *)DmarHeader); + break; default: + DEBUG ((DEBUG_INFO, "Unknown DMAR Table Type : %d\n", DmarHeader->Ty= pe)); break; } DmarLen -=3D DmarHeader->Length; --=20 2.26.2.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#92501): https://edk2.groups.io/g/devel/message/92501 Mute This Topic: https://groups.io/mt/93075708/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-