summaryrefslogtreecommitdiffstats
path: root/hw/loongarch/acpi-build.c
diff options
context:
space:
mode:
authorXiaojuan Yang2022-11-07 03:09:47 +0100
committerSong Gao2022-12-02 11:03:05 +0100
commit14dccc8ea6ece7ee63273144fb55e4770a05e0fd (patch)
tree1e8eed667125ce80d12e88c45a1fcab703e7b027 /hw/loongarch/acpi-build.c
parentUpdate VERSION for v7.2.0-rc3 (diff)
downloadqemu-14dccc8ea6ece7ee63273144fb55e4770a05e0fd.tar.gz
qemu-14dccc8ea6ece7ee63273144fb55e4770a05e0fd.tar.xz
qemu-14dccc8ea6ece7ee63273144fb55e4770a05e0fd.zip
hw/loongarch/virt: Add cfi01 pflash device
Add cfi01 pflash device for LoongArch virt machine Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20221130100647.398565-1-yangxiaojuan@loongson.cn> Signed-off-by: Song Gao <gaosong@loongson.cn>
Diffstat (limited to 'hw/loongarch/acpi-build.c')
-rw-r--r--hw/loongarch/acpi-build.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/hw/loongarch/acpi-build.c b/hw/loongarch/acpi-build.c
index 7d5f5a757d..c2b237736d 100644
--- a/hw/loongarch/acpi-build.c
+++ b/hw/loongarch/acpi-build.c
@@ -279,6 +279,23 @@ static void build_pci_device_aml(Aml *scope, LoongArchMachineState *lams)
acpi_dsdt_add_gpex(scope, &cfg);
}
+static void build_flash_aml(Aml *scope, LoongArchMachineState *lams)
+{
+ Aml *dev, *crs;
+
+ hwaddr flash_base = VIRT_FLASH_BASE;
+ hwaddr flash_size = VIRT_FLASH_SIZE;
+
+ dev = aml_device("FLS0");
+ aml_append(dev, aml_name_decl("_HID", aml_string("LNRO0015")));
+ aml_append(dev, aml_name_decl("_UID", aml_int(0)));
+
+ crs = aml_resource_template();
+ aml_append(crs, aml_memory32_fixed(flash_base, flash_size, AML_READ_WRITE));
+ aml_append(dev, aml_name_decl("_CRS", crs));
+ aml_append(scope, dev);
+}
+
#ifdef CONFIG_TPM
static void acpi_dsdt_add_tpm(Aml *scope, LoongArchMachineState *vms)
{
@@ -328,6 +345,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, MachineState *machine)
build_uart_device_aml(dsdt);
build_pci_device_aml(dsdt, lams);
build_la_ged_aml(dsdt, machine);
+ build_flash_aml(dsdt, lams);
#ifdef CONFIG_TPM
acpi_dsdt_add_tpm(dsdt, lams);
#endif