From: Pierre Gondois <pierre.gond...@arm.com> The IsaRange parameter in: - AmlCodeGenRdDWordIo() - AmlCodeGenRdQWordIo() is an hard-coded value. Define an enum for IsarRanges and use it.
Suggested-by: Leif Lindholm <quic_llind...@quicinc.com> Signed-off-by: Pierre Gondois <pierre.gond...@arm.com> --- .../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/DynamicTablesPkg/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; #endif // AML_HANDLE +/** Enum for ISA Ranges. + + See ACPI 6.4 spec, s19.6.34 for more. +*/ +typedef enum { + EAmlIsaRangeReserved = 0, ///< Reserved. + EAmlIsaRangeNonIsaOnly, ///< NonIsaOnly. + EAmlIsaRangeIsaOnly, ///< IsaOnly. + EAmlIsaRangeEntireRange, ///< EntireRange. + EAmlIsaRangeMax, ///< Max. +} EAML_ISA_RANGE; + /** Parse the definition block. The function parses the whole AML blob. It starts with the ACPI DSDT/SSDT @@ -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/SsdtPcieGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.c index 9ddaddc198fa..87b426ccfe07 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtPcieLibArm/SsdtPcieGenerator.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/AmlResourceDataCodeGen.c b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c index 9c6700b9e08c..707e8182b4c0 100644 --- a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.c +++ b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeGen.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 >= 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, -- 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/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-