From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 20DAC740046 for ; Fri, 22 Sep 2023 14:18:26 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=CEc+GKDhIrIcLEjMoXx9TljsEYV87/Ed3c4QKyX0i7k=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20140610; t=1695392305; v=1; b=ZikunV/MXZ3tChwCYSsG0g7Tee2UstMTPg7rO52Fi6dUxrz/BUd/OD1OvmgjgcNjTt33FE50 cvWGN91RVg6g6AtN4mixiaAhZZYCKVCk25pIsE/UxsnwrTHSnmLcsIf1pYOvQwbEujmMcRhUsue lrGyV8RaoDQC96YBStiVn8FM= X-Received: by 127.0.0.2 with SMTP id b8r5YY7687511xyH3ijMxEeb; Fri, 22 Sep 2023 07:18:25 -0700 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.22799.1695392304576051629 for ; Fri, 22 Sep 2023 07:18:24 -0700 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B0E81DA7; Fri, 22 Sep 2023 07:19:00 -0700 (PDT) X-Received: from e126645.arm.com (e126645.nice.arm.com [10.34.100.121]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id C5CEB3F67D; Fri, 22 Sep 2023 07:18:22 -0700 (PDT) From: "PierreGondois" To: devel@edk2.groups.io Cc: Sami Mujawar , Leif Lindholm , Jeff Brasen Subject: [edk2-devel] [PATCH 1/1] DynamicTablesPkg/AmlLib: Define an enum for IsaRanges Date: Fri, 22 Sep 2023 16:18:17 +0200 Message-Id: <20230922141817.1651629-1-pierre.gondois@arm.com> MIME-Version: 1.0 Precedence: Bulk 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,pierre.gondois@arm.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: Ihz26SLS4UctAn2SJVcHXSydx7686176AA= Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b="ZikunV/M"; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=arm.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io From: Pierre Gondois The IsaRange parameter in: - AmlCodeGenRdDWordIo() - AmlCodeGenRdQWordIo() is an hard-coded value. Define an enum for IsarRanges and use it. Suggested-by: Leif Lindholm Signed-off-by: Pierre Gondois --- .../Include/Library/AmlLib/AmlLib.h | 28 +++++++++++-------- .../AcpiSsdtPcieLibArm/SsdtPcieGenerator.c | 2 +- .../AmlLib/CodeGen/AmlResourceDataCodeGen.c | 28 +++++++------------ 3 files changed, 27 insertions(+), 31 deletions(-) diff --git a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h b/DynamicTa= blesPkg/Include/Library/AmlLib/AmlLib.h index 8e24cecdd77b..ce81f5876681 100644 --- a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h +++ b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h @@ -59,6 +59,18 @@ typedef void *AML_DATA_NODE_HANDLE; =20 #endif // AML_HANDLE =20 +/** Enum for ISA Ranges. + + See ACPI 6.4 spec, s19.6.34 for more. +*/ +typedef enum { + EAmlIsaRangeReserved =3D 0, ///< Reserved. + EAmlIsaRangeNonIsaOnly, ///< NonIsaOnly. + EAmlIsaRangeIsaOnly, ///< IsaOnly. + EAmlIsaRangeEntireRange, ///< EntireRange. + EAmlIsaRangeMax, ///< Max. +} EAML_ISA_RANGE; + /** Parse the definition block. =20 The function parses the whole AML blob. It starts with the ACPI DSDT/S= SDT @@ -471,11 +483,7 @@ AmlUpdateRdQWord ( @param [in] IsMinFixed Minimum address is fixed. @param [in] IsMaxFixed Maximum address is fixed. @param [in] IsPosDecode Decode parameter - @param [in] IsaRanges Possible values are: - 0-Reserved - 1-NonISAOnly - 2-ISAOnly - 3-EntireRange + @param [in] IsaRanges Isa Range. @param [in] AddressGranularity Address granularity. @param [in] AddressMinimum Minimum address. @param [in] AddressMaximum Maximum address. @@ -505,7 +513,7 @@ AmlCodeGenRdDWordIo ( IN BOOLEAN IsMinFixed, IN BOOLEAN IsMaxFixed, IN BOOLEAN IsPosDecode, - IN UINT8 IsaRanges, + IN EAML_ISA_RANGE IsaRanges, IN UINT32 AddressGranularity, IN UINT32 AddressMinimum, IN UINT32 AddressMaximum, @@ -702,11 +710,7 @@ AmlCodeGenRdWordBusNumber ( @param [in] IsMinFixed Minimum address is fixed. @param [in] IsMaxFixed Maximum address is fixed. @param [in] IsPosDecode Decode parameter - @param [in] IsaRanges Possible values are: - 0-Reserved - 1-NonISAOnly - 2-ISAOnly - 3-EntireRange + @param [in] IsaRanges Isa Range. @param [in] AddressGranularity Address granularity. @param [in] AddressMinimum Minimum address. @param [in] AddressMaximum Maximum address. @@ -736,7 +740,7 @@ AmlCodeGenRdQWordIo ( IN BOOLEAN IsMinFixed, IN BOOLEAN IsMaxFixed, IN BOOLEAN IsPosDecode, - IN UINT8 IsaRanges, + IN EAML_ISA_RANGE IsaRanges, IN UINT64 AddressGranularity, IN UINT64 AddressMinimum, IN UINT64 AddressMaximum, diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPci= eGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtP= cieGenerator.c index 9ddaddc198fa..87b426ccfe07 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenera= tor.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenera= tor.c @@ -545,7 +545,7 @@ GeneratePciCrs ( TRUE, TRUE, IsPosDecode, - 3, + EAmlIsaRangeEntireRange, 0, AddrMapInfo->PciAddress, AddrMapInfo->PciAddress + AddrMapInfo->AddressSize - = 1, diff --git a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDa= taCodeGen.c b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceD= ataCodeGen.c index 9c6700b9e08c..707e8182b4c0 100644 --- a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeG= en.c +++ b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeG= en.c @@ -121,13 +121,13 @@ STATIC UINT8 EFIAPI RdIoRangeSpecificFlags ( - IN UINT8 IsaRanges, - IN BOOLEAN IsDenseTranslation, - IN BOOLEAN IsTypeStatic + IN EAML_ISA_RANGE IsaRanges, + IN BOOLEAN IsDenseTranslation, + IN BOOLEAN IsTypeStatic ) { // Only check type specific parameters. - if (IsaRanges > 3) { + if (IsaRanges >=3D EAmlIsaRangeMax) { ASSERT (0); return MAX_UINT8; } @@ -440,20 +440,16 @@ AmlCodeGenRdDWordSpace ( @param [in] IsMinFixed Minimum address is fixed. @param [in] IsMaxFixed Maximum address is fixed. @param [in] IsPosDecode Decode parameter - @param [in] IsaRanges Possible values are: - 0-Reserved - 1-NonISAOnly - 2-ISAOnly - 3-EntireRange + @param [in] IsaRanges Isa Range. @param [in] AddressGranularity Address granularity. @param [in] AddressMinimum Minimum address. @param [in] AddressMaximum Maximum address. @param [in] AddressTranslation Address translation. @param [in] RangeLength Range length. @param [in] ResourceSourceIndex Resource Source index. - Unused. Must be 0. + Not supported. Must be 0. @param [in] ResourceSource Resource Source. - Unused. Must be NULL. + Not supported. Must be NULL. @param [in] IsDenseTranslation TranslationDensity parameter. @param [in] IsTypeStatic TranslationType parameter. @param [in] NameOpNode NameOp object node defining a named = object. @@ -474,7 +470,7 @@ AmlCodeGenRdDWordIo ( IN BOOLEAN IsMinFixed, IN BOOLEAN IsMaxFixed, IN BOOLEAN IsPosDecode, - IN UINT8 IsaRanges, + IN EAML_ISA_RANGE IsaRanges, IN UINT32 AddressGranularity, IN UINT32 AddressMinimum, IN UINT32 AddressMaximum, @@ -1031,11 +1027,7 @@ AmlCodeGenRdQWordSpace ( @param [in] IsMinFixed Minimum address is fixed. @param [in] IsMaxFixed Maximum address is fixed. @param [in] IsPosDecode Decode parameter - @param [in] IsaRanges Possible values are: - 0-Reserved - 1-NonISAOnly - 2-ISAOnly - 3-EntireRange + @param [in] IsaRanges Isa Range. @param [in] AddressGranularity Address granularity. @param [in] AddressMinimum Minimum address. @param [in] AddressMaximum Maximum address. @@ -1065,7 +1057,7 @@ AmlCodeGenRdQWordIo ( IN BOOLEAN IsMinFixed, IN BOOLEAN IsMaxFixed, IN BOOLEAN IsPosDecode, - IN UINT8 IsaRanges, + IN EAML_ISA_RANGE IsaRanges, IN UINT64 AddressGranularity, IN UINT64 AddressMinimum, IN UINT64 AddressMaximum, --=20 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#108991): https://edk2.groups.io/g/devel/message/108991 Mute This Topic: https://groups.io/mt/101521874/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-