* [edk2-devel] [PATCH v1 0/1] Add support for XDSDT table @ 2023-09-28 6:45 Dhaval Sharma 2023-09-28 6:45 ` [edk2-devel] [PATCH v1 1/1] MdeModulePkg: Fix issue with ACPI table creation Dhaval Sharma 0 siblings, 1 reply; 4+ messages in thread From: Dhaval Sharma @ 2023-09-28 6:45 UTC (permalink / raw) To: devel; +Cc: Jian J Wang, Liming Gao, Zhiguang Liu, Dandan Bi Enable detection of XDSDT table from ACPI HOB Dhaval (1): MdeModulePkg: Fix issue with ACPI table creation MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> -- 2.39.2 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#109136): https://edk2.groups.io/g/devel/message/109136 Mute This Topic: https://groups.io/mt/101633355/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 4+ messages in thread
* [edk2-devel] [PATCH v1 1/1] MdeModulePkg: Fix issue with ACPI table creation 2023-09-28 6:45 [edk2-devel] [PATCH v1 0/1] Add support for XDSDT table Dhaval Sharma @ 2023-09-28 6:45 ` Dhaval Sharma 2023-10-04 4:24 ` Dhaval Sharma 2023-11-08 5:26 ` Dandan Bi 0 siblings, 2 replies; 4+ messages in thread From: Dhaval Sharma @ 2023-09-28 6:45 UTC (permalink / raw) To: devel; +Cc: Jian J Wang, Liming Gao, Zhiguang Liu, Dandan Bi 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: Jian J Wang <jian.j.wang@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Signed-off-by: Dhaval Sharma <dhaval@rivosinc.com> --- MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c b/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c index e09bc9b704f5..d153c96a6bdb 100644 --- a/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c +++ b/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c @@ -1892,7 +1892,20 @@ 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 (#109137): https://edk2.groups.io/g/devel/message/109137 Mute This Topic: https://groups.io/mt/101633356/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [edk2-devel] [PATCH v1 1/1] MdeModulePkg: Fix issue with ACPI table creation 2023-09-28 6:45 ` [edk2-devel] [PATCH v1 1/1] MdeModulePkg: Fix issue with ACPI table creation Dhaval Sharma @ 2023-10-04 4:24 ` Dhaval Sharma 2023-11-08 5:26 ` Dandan Bi 1 sibling, 0 replies; 4+ messages in thread From: Dhaval Sharma @ 2023-10-04 4:24 UTC (permalink / raw) To: Dhaval Sharma, devel [-- Attachment #1: Type: text/plain, Size: 421 bytes --] Hi everyone, A gentle remonder to review the patch.. -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#109305): https://edk2.groups.io/g/devel/message/109305 Mute This Topic: https://groups.io/mt/101633356/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- [-- Attachment #2: Type: text/html, Size: 837 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [edk2-devel] [PATCH v1 1/1] MdeModulePkg: Fix issue with ACPI table creation 2023-09-28 6:45 ` [edk2-devel] [PATCH v1 1/1] MdeModulePkg: Fix issue with ACPI table creation Dhaval Sharma 2023-10-04 4:24 ` Dhaval Sharma @ 2023-11-08 5:26 ` Dandan Bi 1 sibling, 0 replies; 4+ messages in thread From: Dandan Bi @ 2023-11-08 5:26 UTC (permalink / raw) To: Dhaval, devel@edk2.groups.io Cc: Wang, Jian J, Gao, Liming, Liu, Zhiguang, Bi, Dandan The changes looks good to me. One minor comment about the coding style: Could we make the "else if" at the same line with brace "}", which is aligned with current edk2 coding style, rather than in a new line ? Thanks. Like: } else if (((EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE *)ChildTable)->Dsdt != 0) { Rather than: } else if (((EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE *)ChildTable)->Dsdt != 0) Thanks, Dandan -----Original Message----- From: Dhaval <dhaval@rivosinc.com> Sent: Thursday, September 28, 2023 2:45 PM To: devel@edk2.groups.io Cc: Wang, Jian J <jian.j.wang@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Liu, Zhiguang <zhiguang.liu@intel.com>; Bi, Dandan <dandan.bi@intel.com> Subject: [PATCH v1 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: Jian J Wang <jian.j.wang@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Signed-off-by: Dhaval Sharma <dhaval@rivosinc.com> --- MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c b/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c index e09bc9b704f5..d153c96a6bdb 100644 --- a/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c +++ b/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c @@ -1892,7 +1892,20 @@ 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 (#110899): https://edk2.groups.io/g/devel/message/110899 Mute This Topic: https://groups.io/mt/101633356/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-11-08 5:26 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-09-28 6:45 [edk2-devel] [PATCH v1 0/1] Add support for XDSDT table Dhaval Sharma 2023-09-28 6:45 ` [edk2-devel] [PATCH v1 1/1] MdeModulePkg: Fix issue with ACPI table creation Dhaval Sharma 2023-10-04 4:24 ` Dhaval Sharma 2023-11-08 5:26 ` Dandan Bi
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox