public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [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