[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL v2 2/9] hw/loongarch: Support fw_cfg dma function
From: |
Song Gao |
Subject: |
[PULL v2 2/9] hw/loongarch: Support fw_cfg dma function |
Date: |
Tue, 20 Sep 2022 17:50:51 +0800 |
From: Xiaojuan Yang <yangxiaojuan@loongson.cn>
Support fw_cfg dma function for LoongArch virt machine.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn>
Acked-by: Song Gao <gaosong@loongson.cn>
Message-Id: <20220908094623.73051-3-yangxiaojuan@loongson.cn>
Signed-off-by: Song Gao <gaosong@loongson.cn>
---
hw/loongarch/Kconfig | 1 +
hw/loongarch/fw_cfg.c | 3 ++-
hw/loongarch/virt.c | 2 +-
3 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/hw/loongarch/Kconfig b/hw/loongarch/Kconfig
index 73c52b093e..1deea83626 100644
--- a/hw/loongarch/Kconfig
+++ b/hw/loongarch/Kconfig
@@ -16,3 +16,4 @@ config LOONGARCH_VIRT
select SMBIOS
select ACPI_PCI
select ACPI_HW_REDUCED
+ select FW_CFG_DMA
diff --git a/hw/loongarch/fw_cfg.c b/hw/loongarch/fw_cfg.c
index f6503d5607..f15a17416c 100644
--- a/hw/loongarch/fw_cfg.c
+++ b/hw/loongarch/fw_cfg.c
@@ -23,7 +23,8 @@ FWCfgState *loongarch_fw_cfg_init(ram_addr_t ram_size,
MachineState *ms)
int max_cpus = ms->smp.max_cpus;
int smp_cpus = ms->smp.cpus;
- fw_cfg = fw_cfg_init_mem_wide(VIRT_FWCFG_BASE + 8, VIRT_FWCFG_BASE, 8, 0,
NULL);
+ fw_cfg = fw_cfg_init_mem_wide(VIRT_FWCFG_BASE + 8, VIRT_FWCFG_BASE, 8,
+ VIRT_FWCFG_BASE + 16, &address_space_memory);
fw_cfg_add_i16(fw_cfg, FW_CFG_MAX_CPUS, (uint16_t)max_cpus);
fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)ram_size);
fw_cfg_add_i16(fw_cfg, FW_CFG_NB_CPUS, (uint16_t)smp_cpus);
diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c
index b56820ecda..4f833a2044 100644
--- a/hw/loongarch/virt.c
+++ b/hw/loongarch/virt.c
@@ -118,7 +118,7 @@ static void fdt_add_fw_cfg_node(const LoongArchMachineState
*lams)
qemu_fdt_setprop_string(ms->fdt, nodename,
"compatible", "qemu,fw-cfg-mmio");
qemu_fdt_setprop_sized_cells(ms->fdt, nodename, "reg",
- 2, base, 2, 0x8);
+ 2, base, 2, 0x18);
qemu_fdt_setprop(ms->fdt, nodename, "dma-coherent", NULL, 0);
g_free(nodename);
}
--
2.31.1
- [PULL v2 0/9] loongarch-to-apply queue, Song Gao, 2022/09/20
- [PULL v2 4/9] hw/loongarch: Add platform bus support, Song Gao, 2022/09/20
- [PULL v2 5/9] hw/loongarch: Add hotplug handler for machine, Song Gao, 2022/09/20
- [PULL v2 3/9] hw/loongarch: Add interrupt information to FDT table, Song Gao, 2022/09/20
- [PULL v2 8/9] hw/loongarch: Support memory hotplug, Song Gao, 2022/09/20
- [PULL v2 1/9] hw/loongarch: Remove vga device when loongarch init, Song Gao, 2022/09/20
- [PULL v2 9/9] hw/loongarch: Improve acpi dsdt table, Song Gao, 2022/09/20
- [PULL v2 2/9] hw/loongarch: Support fw_cfg dma function,
Song Gao <=
- [PULL v2 7/9] hw/loongarch: Fix acpi ged irq number in dsdt table, Song Gao, 2022/09/20
- [PULL v2 6/9] hw/loongarch: Add RAMFB to dynamic_sysbus_devices list, Song Gao, 2022/09/20
- Re: [PULL v2 0/9] loongarch-to-apply queue, Stefan Hajnoczi, 2022/09/20
- Re: [PULL v2 0/9] loongarch-to-apply queue, Stefan Hajnoczi, 2022/09/20