On Tue, Jun 16, 2026 at 6:43 AM Daniel Henrique Barboza <[email protected]> wrote: > > Salutations, > > > We have a good amount of code repetition between boards, mostly because > we copied/pasted components from one to the other across the years. But > now we want to upstream the RISC-V Server Platform, currently at v8 [1], > and this topic came in the review. This is a work I've been ducking for > 2 years now but seems like it's time we do something about it. > > The patches are mostly code moving work with some design decisions > here and there in the new helper file. When needed I changed board code > first to be compatible with what would be the helper (usually the code > from 'virt', which is more modern) and then I moved stuff to a helper. > > The result of this series in the FDTs: > > - for 'virt': no changes; > - for 'spike': the /htif node changed places with /soc; > - for 'sifive_u': phandles values for cpu-intc changed because now we're > generating them (see patch 1). Aside from that the board now has a > 'cpu-map' subnode with cluster and core IDs; > > > This is not everything - I have a shorter follow up FDT series ready > to go as soon as we get this accepted. Figured that 13 patches is > enough for one go. > > > Patches based on alistair/riscv-to-apply.next. > > > [1] > https://lore.kernel.org/qemu-devel/[email protected]/ > > Daniel Henrique Barboza (13): > hw/riscv/sifive_u.c: add a FDT phandle to cpu-intc > hw/riscv: add fdt-common helper > hw/riscv/numa: make numa_enabled() public > hw/riscv: add create_fdt_socket_memory() helper > hw/riscv/sifive_u.c: add intc_phandles array > hw/riscv/spike.c: add intc_phandles array > hw/riscv: add create_fdt_clint() helper > hw/riscv/sifive_u.c: add cpu-map, cluster and core DTs > hw/riscv: add fdt_create_cpu_socket_subnode() helper > hw/riscv: add create_fdt_socket_cpus() > hw/riscv/spike.c: use create_fdt_socket_cpus() > hw/riscv/fdt_common.c: create create_fdt_socket_cpu_internal() > hw/riscv: add create_fdt_socket_cpu_sifive()
Thanks! Applied to riscv-to-apply.next @Joel Stanley , @Nicholas Piggin , @Portia Stephens FYI Alistair > > hw/riscv/fdt-common.c | 202 ++++++++++++++++++++++++++++++++++ > hw/riscv/meson.build | 1 + > hw/riscv/numa.c | 20 ++-- > hw/riscv/sifive_u.c | 88 ++++----------- > hw/riscv/spike.c | 123 ++++----------------- > hw/riscv/virt.c | 182 +++++------------------------- > include/hw/riscv/fdt-common.h | 33 ++++++ > include/hw/riscv/numa.h | 8 ++ > 8 files changed, 322 insertions(+), 335 deletions(-) > create mode 100644 hw/riscv/fdt-common.c > create mode 100644 include/hw/riscv/fdt-common.h > > -- > 2.43.0 > >
