[edk2-devel] [PATCH 1/2] DynamicTablesPkg: AML Code generation for I/O ranges
PierreGondois
pierre.gondois at arm.com
Tue Sep 12 09:55:18 UTC 2023
Hello Leif,
On 9/12/23 11:35, Leif Lindholm wrote:
> Hi Jeff,
>
> On Mon, Sep 11, 2023 at 23:48:57 +0000, Jeff Brasen wrote:
>> From: Vidya Sagar <vidyas at nvidia.com>
>>
>> Add helper functions to generate AML Resource Data describing I/O
>> ranges of four words long. API AmlCodeGenRdQWordIo () is exposed.
>>
>> Reviewed-by: Shanker Donthineni <sdonthineni at nvidia.com>
>
> The above isn't really applicable to upstream.
> Although I feel less strongly about that than
>
>> Signed-off-by: Vidya Sagar <vidyas at nvidia.com>
>
> The DCO is a statement that you have performed basic legal due
> diligence on the provenance of the change. I'm uncomfortable with
> people making such statements on behalf of others.
>
> If this is being upstreamed from a downstream repository, such that
> the review trail is available there, then both of these could be fine.
> But I think it would be useful to include a link to the patch in that
> repository in the commit message in that case.
>
> One technical, but not necessarily for this set (it just made me spot
> it), note below.
>
>> Signed-off-by: Jeff Brasen <jbrasen at nvidia.com>
>> ---
>> .../Include/Library/AmlLib/AmlLib.h | 67 ++++++++++++++
>> .../AmlLib/CodeGen/AmlResourceDataCodeGen.c | 90 +++++++++++++++++++
>> 2 files changed, 157 insertions(+)
>>
>> diff --git a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
>> index 9210c5091548..8e24cecdd77b 100644
>> --- a/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
>> +++ b/DynamicTablesPkg/Include/Library/AmlLib/AmlLib.h
>> @@ -683,6 +683,73 @@ AmlCodeGenRdWordBusNumber (
>> OUT AML_DATA_NODE_HANDLE *NewRdNode OPTIONAL
>> );
>>
>> +/** Code generation for the "QWordIO ()" ASL function.
>> +
>> + The Resource Data effectively created is a QWord Address Space Resource
>> + Data. Cf ACPI 6.4:
>> + - s6.4.3.5.1 "QWord Address Space Descriptor".
>> + - s19.6.109 "QWordIO".
>> +
>> + The created resource data node can be:
>> + - appended to the list of resource data elements of the NameOpNode.
>> + In such case NameOpNode must be defined by a the "Name ()" ASL statement
>> + and initially contain a "ResourceTemplate ()".
>> + - returned through the NewRdNode parameter.
>> +
>> + See ACPI 6.4 spec, s19.6.109 for more.
>> +
>> + @param [in] IsResourceConsumer ResourceUsage parameter.
>> + @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
>
> This is an existing antipattern which this patch (rightly) adheres to
> when adding an additional variant of an existing API. But this also
> pushes the count to three functions in the same file where we're doing
> enum-but-in-doxygen and then keep magic values in the code.
>
> I think someone should rewrite this as an enum and get rid of the
> magic values in the callers.
>
> An additional antipattern is that because the doxygen stanza becomes
> exessively bulky, it leaves out actually documenting the parameter at
> all.
>
> But as I said, that's not the fault of this set, and does not need to
> be fixed by it.
Ok yes, I'll make the modifications where required,
Thanks for the review,
Regards,
Pierre
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#108525): https://edk2.groups.io/g/devel/message/108525
Mute This Topic: https://groups.io/mt/101305535/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list