For me it is not impacting a production system so I can wait a cycle more. @Liming Gao I will send out the PR with your rb tag.

On Thu, Feb 15, 2024 at 3:26 PM Leif Lindholm <quic_llindhol@quicinc.com> wrote:
Hi Liming,

On 2024-02-15 01:41, gaoliming via groups.io wrote:
> Hi, all
>   This patch was reviewed before soft feature freeze. I would like to merge
> it for this stable tag. If you have any comments, please reply this mail.

I agree this is a bugfix, but the criterion for hard freeze is supposed
to be *critical* bugfix. By definition this is a very invasive change
for systems where it has any effect. So I would feel more comfortable if
it had more time before going into a stable tag.

Dhaval, how critical is this fix for you? Are you OK for it to go in
after stable tag?

Regards,

Leif


> Thanks
> Liming
>> -----邮件原件-----
>> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 gaoliming via
>> groups.io
>> 发送时间: 2024年1月30日 9:21
>> 收件人: devel@edk2.groups.io; dhaval@rivosinc.com
>> 抄送: zhiguang.liu@intel.com; dandan.bi@intel.com;
>> pedro.falcato@gmail.com; chasel.chiu@intel.com
>> 主题: 回复: [edk2-devel] [PATCH v5 1/1] MdeModulePkg/AcpiTableDxe:
>> Prefer xDSDT over DSDT when installing tables
>>
>> This version is good to me. Reviewed-by: Liming Gao
>> <gaoliming@byosoft.com.cn>
>>
>>> -----邮件原件-----
>>> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Dhaval
>>> Sharma
>>> 发送时间: 2024年1月28日 21:39
>>> 收件人: devel@edk2.groups.io
>>> 抄送: gaoliming@byosoft.com.cn; zhiguang.liu@intel.com;
>>> dandan.bi@intel.com; pedro.falcato@gmail.com; chasel.chiu@intel.com
>>> 主题: [edk2-devel] [PATCH v5 1/1] MdeModulePkg/AcpiTableDxe: Prefer
>>> xDSDT over DSDT when installing tables
>>>
>>> As per ACPI Spec 6.5+ Table 5-9 if xDSDT is available,
>>> it should be used first. Handle required flow when xDSDT
>>> is absent or present.
>>>
>>> Test: Tested on RISCV64 Qemu platform with xDSDT and booted to
>>> linux kernel.
>>>
>>> Cc: Liming Gao <gaoliming@...>
>>> Cc: Zhiguang Liu <zhiguang.liu@...>
>>> Cc: Dandan Bi <dandan.bi@...>
>>> Cc: Pedro Falcato <pedro.falcato@...>
>>> Cc: devel@edk2.groups.io
>>> Signed-off-by: Dhaval Sharma <dhaval@...>
>>> Acked-by: Chasel Chiu <chasel.chiu@...>
>>> ---
>>>
>>> Notes:
>>>      v5:
>>>      - If DSDT is not found, throw error and continue to build other
> tables
>>>      v4:
>>>      - Fix typos and commit message adding more clarity to patch subject
>>>      v3:
>>>      - Added description of ACPI spec clarification based on which this
>> patch is
>>> created
>>>      - Optimizing if-else flow
>>>      v2:
>>>      - Added proper indentation for else if
>>>
>>>   MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c | 24
>>> ++++++++++++++------
>>>   1 file changed, 17 insertions(+), 7 deletions(-)
>>>
>>> diff --git
>> a/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c
>>> b/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c
>>> index e09bc9b704f5..3879e10b3349 100644
>>> --- a/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c
>>> +++ b/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c
>>> @@ -1892,14 +1892,24 @@ InstallAcpiTableFromHob (
>>>             }
>>>           }
>>>
>>> -        if (((EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE
>>> *)ChildTable)->Dsdt != 0) {
>>> +        //
>>> +        // First check if xDSDT is available, as that is preferred as
> per
>>> +        // ACPI Spec 6.5+ Table 5-9 X_DSDT definition
>>> +        //
>>> +        if (((EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE
>>> *)ChildTable)->XDsdt != 0) {
>>> +          TableToInstall = (VOID
>>> *)(UINTN)((EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE
>>> *)ChildTable)->XDsdt;
>>> +        } else if (((EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE
>>> *)ChildTable)->Dsdt != 0) {
>>>             TableToInstall = (VOID
>>> *)(UINTN)((EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE
>>> *)ChildTable)->Dsdt;
>>> -          Status         = AddTableToList (AcpiTableInstance,
>>> TableToInstall, TRUE, Version, TRUE, &TableKey);
>>> -          if (EFI_ERROR (Status)) {
>>> -            DEBUG ((DEBUG_ERROR, "InstallAcpiTableFromHob: Fail to
>>> add ACPI table DSDT\n"));
>>> -            ASSERT_EFI_ERROR (Status);
>>> -            break;
>>> -          }
>>> +        } else {
>>> +          DEBUG ((DEBUG_ERROR, "DSDT table not found\n"));
>>> +          continue;
>>> +        }
>>> +
>>> +        Status = AddTableToList (AcpiTableInstance, TableToInstall,
> TRUE,
>>> Version, TRUE, &TableKey);
>>> +        if (EFI_ERROR (Status)) {
>>> +          DEBUG ((DEBUG_ERROR, "InstallAcpiTableFromHob: Fail to
>> add
>>> ACPI table DSDT\n"));
>>> +          ASSERT_EFI_ERROR (Status);
>>> +          break;
>>>           }
>>>         }
>>>       }
>>> --
>>> 2.39.2
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>
>>
>>
>
>
>
>
>
>
>
>



--
Thanks!
=D
_._,_._,_

Groups.io Links:

You receive all messages sent to this group.

View/Reply Online (#115518) | | Mute This Topic | New Topic
Your Subscription | Contact Group Owner | Unsubscribe [rebecca@openfw.io]

_._,_._,_