Salutations,
Here is a bunch of trivial and mostly boring stuff we want to do before
pushing the RISC-V Server Plat Reference board upstream (currently on
v9 [1], not yet sent for review).
Although these changes aim to ease the pain for the riscv-server-ref
review, in the end virt.c was reduced from ~1800 to ~1200 lines, which
is a nice benefit we can have right now. For riscv-server-ref we went
from ~1450 (v8) to ~770 lines (current v9).
We were able to also reduce tt-atlantis code in one of the patches too.
In fact I think there are opportunities to shrink tt-atlantis board
size, but that will need refactoring logic here and there and this would
fall out of scope for this work.
Patches based on master.
[1] https://gitlab.com/danielhb/qemu/-/tree/riscv-server-ref_v9
Daniel Henrique Barboza (13):
hw/riscv/fdt-common, virt.c: add create_fdt_flash()
hw/riscv/fdt-common, virt.c: add create_fdt_syscon()
hw/riscv/fdt-common, virt.c: add create_fdt_riscv_iommu_sys()
hw/riscv/fdt_common, virt.c: add create_fdt_pcie()
hw/riscv/fdt_common, virt.c: add create_fdt_imsic()
hw/riscv/fdt_common, virt.c: add create_fdt_socket_aplic()
hw/riscv/fdt-common, virt.c: add create_fdt_socket_aclint()
hw/riscv/fdt-common, virt.c, tt_atlantis.c: add create_fdt_uart()
hw/riscv/fdt-common, virt.c: add create_fdt_rtc()
hw/riscv/device-common, virt.c: add create_platform_bus()
hw/riscv/device-common, virt.c: add flash helpers
hw/riscv/device-common, virt.c: add gpex_pcie_init()
hw/riscv/riscv-iommu-sys.c, virt.c: add create_riscv_iommu_sys()
hw/riscv/device-common.c | 168 +++++++
hw/riscv/fdt-common.c | 571 ++++++++++++++++++++++
hw/riscv/meson.build | 1 +
hw/riscv/riscv-iommu-sys.c | 25 +
hw/riscv/riscv-iommu.h | 3 +
hw/riscv/tt_atlantis.c | 21 +-
hw/riscv/virt.c | 811 ++++---------------------------
include/hw/riscv/device-common.h | 32 ++
include/hw/riscv/fdt-common.h | 94 ++++
include/hw/riscv/virt.h | 15 -
10 files changed, 983 insertions(+), 758 deletions(-)
create mode 100644 hw/riscv/device-common.c
create mode 100644 include/hw/riscv/device-common.h
--
2.43.0