在 2025/3/4 下午3:41, Bibo Mao 写道:
XSDT table is introduced in ACPI Specification 5.0, it supports 64-bit
address in the table. There is LoongArch system support from ACPI
Specification 6.4 and later, XSDT is supported by LoongArch system.

Here replace RSDT with XSDT table.

Signed-off-by: Bibo Mao <maob...@loongson.cn>
---
  hw/loongarch/virt-acpi-build.c | 12 ++++++------
  1 file changed, 6 insertions(+), 6 deletions(-)
Reviewed-by: Song Gao <gaos...@loongson.cn>

thansk.
Song Gao
diff --git a/hw/loongarch/virt-acpi-build.c b/hw/loongarch/virt-acpi-build.c
index 9ca88d63ae..43ed8e2825 100644
--- a/hw/loongarch/virt-acpi-build.c
+++ b/hw/loongarch/virt-acpi-build.c
@@ -485,7 +485,7 @@ static void acpi_build(AcpiBuildTables *tables, 
MachineState *machine)
      LoongArchVirtMachineState *lvms = LOONGARCH_VIRT_MACHINE(machine);
      GArray *table_offsets;
      AcpiFadtData fadt_data;
-    unsigned facs, rsdt, dsdt;
+    unsigned facs, xsdt, dsdt;
      uint8_t *u;
      GArray *tables_blob = tables->table_data;
@@ -571,17 +571,17 @@ static void acpi_build(AcpiBuildTables *tables, MachineState *machine)
      }
/* RSDT is pointed to by RSDP */
-    rsdt = tables_blob->len;
-    build_rsdt(tables_blob, tables->linker, table_offsets,
+    xsdt = tables_blob->len;
+    build_xsdt(tables_blob, tables->linker, table_offsets,
                 lvms->oem_id, lvms->oem_table_id);
/* RSDP is in FSEG memory, so allocate it separately */
      {
          AcpiRsdpData rsdp_data = {
-            .revision = 0,
+            .revision = 2,
              .oem_id = lvms->oem_id,
-            .xsdt_tbl_offset = NULL,
-            .rsdt_tbl_offset = &rsdt,
+            .xsdt_tbl_offset = &xsdt,
+            .rsdt_tbl_offset = NULL,
          };
          build_rsdp(tables->rsdp, tables->linker, &rsdp_data);
      }


Reply via email to