mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
hw/loongarch/virt: Replace RSDT with XSDT table
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 <maobibo@loongson.cn> Reviewed-by: Song Gao <gaosong@loongson.cn>
This commit is contained in:
parent
73047c825e
commit
d0897c6970
1 changed files with 6 additions and 6 deletions
|
@ -514,7 +514,7 @@ static void acpi_build(AcpiBuildTables *tables, MachineState *machine)
|
||||||
LoongArchVirtMachineState *lvms = LOONGARCH_VIRT_MACHINE(machine);
|
LoongArchVirtMachineState *lvms = LOONGARCH_VIRT_MACHINE(machine);
|
||||||
GArray *table_offsets;
|
GArray *table_offsets;
|
||||||
AcpiFadtData fadt_data;
|
AcpiFadtData fadt_data;
|
||||||
unsigned facs, rsdt, dsdt;
|
unsigned facs, xsdt, dsdt;
|
||||||
uint8_t *u;
|
uint8_t *u;
|
||||||
GArray *tables_blob = tables->table_data;
|
GArray *tables_blob = tables->table_data;
|
||||||
|
|
||||||
|
@ -600,17 +600,17 @@ static void acpi_build(AcpiBuildTables *tables, MachineState *machine)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* RSDT is pointed to by RSDP */
|
/* RSDT is pointed to by RSDP */
|
||||||
rsdt = tables_blob->len;
|
xsdt = tables_blob->len;
|
||||||
build_rsdt(tables_blob, tables->linker, table_offsets,
|
build_xsdt(tables_blob, tables->linker, table_offsets,
|
||||||
lvms->oem_id, lvms->oem_table_id);
|
lvms->oem_id, lvms->oem_table_id);
|
||||||
|
|
||||||
/* RSDP is in FSEG memory, so allocate it separately */
|
/* RSDP is in FSEG memory, so allocate it separately */
|
||||||
{
|
{
|
||||||
AcpiRsdpData rsdp_data = {
|
AcpiRsdpData rsdp_data = {
|
||||||
.revision = 0,
|
.revision = 2,
|
||||||
.oem_id = lvms->oem_id,
|
.oem_id = lvms->oem_id,
|
||||||
.xsdt_tbl_offset = NULL,
|
.xsdt_tbl_offset = &xsdt,
|
||||||
.rsdt_tbl_offset = &rsdt,
|
.rsdt_tbl_offset = NULL,
|
||||||
};
|
};
|
||||||
build_rsdp(tables->rsdp, tables->linker, &rsdp_data);
|
build_rsdp(tables->rsdp, tables->linker, &rsdp_data);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue