Hi Dhaval,

Just a small feedback,
the only difference will be TableToInstall between XDsdt and Dsdt, could we 
optimize the code flow to reduce duplicate lines?

Thanks,
Chasel


> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Dhaval
> Sharma
> Sent: Friday, November 17, 2023 3:35 AM
> To: devel@edk2.groups.io
> Cc: Gao, Liming <gaolim...@byosoft.com.cn>; Liu, Zhiguang
> <zhiguang....@intel.com>; Bi, Dandan <dandan...@intel.com>
> Subject: [edk2-devel] [PATCH v2 1/1] MdeModulePkg: Fix issue with ACPI table
> creation
> 
> As per spec if xDSDT is avaialble, it should be used first.
> Handle required flow when xDSDT is abscent or present.
> 
> Test: Tested on RISCV64 Qemu platform with xDSDT and booted to linux kernel.
> 
> Cc: Liming Gao <gaolim...@byosoft.com.cn>
> Cc: Zhiguang Liu <zhiguang....@intel.com>
> Cc: Dandan Bi <dandan...@intel.com>
> Signed-off-by: Dhaval Sharma <dha...@rivosinc.com>
> ---
> 
> Notes:
>     v2:
>     - Added proper indentation for else if
> 
>  MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c | 13
> ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c
> b/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c
> index e09bc9b704f5..11097ed4c3be 100644
> --- a/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c
> +++ b/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c
> @@ -1892,7 +1892,18 @@ InstallAcpiTableFromHob (
>            }         } -        if 
> (((EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE
> *)ChildTable)->Dsdt != 0) {+        //+        // First check if xDSDT is 
> available that is
> preferred+        //+        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;+          Status         = AddTableToList (AcpiTableInstance, 
> >TableToInstall,
> TRUE, Version, TRUE, &TableKey);+          if (EFI_ERROR (Status)) {+         
>    DEBUG
> ((DEBUG_ERROR, "InstallAcpiTableFromHob: Fail to add ACPI table xDSDT\n"));+
> ASSERT_EFI_ERROR (Status);+            break;+          }+        } 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)) {--
> 2.39.2
> 
> 
> 
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#111395): https://edk2.groups.io/g/devel/message/111395
> Mute This Topic: https://groups.io/mt/102645488/1777047
> Group Owner: devel+ow...@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub [chasel.c...@intel.com] -=-
> =-=-=-=-=
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#111405): https://edk2.groups.io/g/devel/message/111405
Mute This Topic: https://groups.io/mt/102645488/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to