This series adds multi-socket support for RISC-V virt machine and
RISC-V spike machine. The multi-socket support will help us improve
various RISC-V operating systems, firmwares, and bootloader to
support RISC-V NUMA systems.
These patch can be found in riscv_multi_socket_v2 branch at:
https://github.com/avpatel/qemu.git
To try this patches, we will need: Linux multi-PLIC improvements
support which can be found in plic_imp_v2 branch at:
https://github.com/avpatel/linux.git
Changes since v1:
- Fixed checkpatch errors and warnings
- Added PATCH1 for knowning whether "sockets" sub-option was specified
- Remove SPIKE_CPUS_PER_SOCKET_MIN and SPIKE_CPUS_PER_SOCKET_MAX in PATCH3
- Remove VIRT_CPUS_PER_SOCKET_MIN and VIRT_CPUS_PER_SOCKET_MAX in PATCH5
Anup Patel (5):
hw: Add sockets_specified field in CpuTopology
hw/riscv: Allow creating multiple instances of CLINT
hw/riscv: spike: Allow creating multiple sockets
hw/riscv: Allow creating multiple instances of PLIC
hw/riscv: virt: Allow creating multiple sockets
hw/core/machine.c | 2 +
hw/riscv/sifive_clint.c | 20 +-
hw/riscv/sifive_e.c | 4 +-
hw/riscv/sifive_plic.c | 24 +-
hw/riscv/sifive_u.c | 4 +-
hw/riscv/spike.c | 214 ++++++++------
hw/riscv/virt.c | 498 ++++++++++++++++++--------------
include/hw/boards.h | 2 +
include/hw/riscv/sifive_clint.h | 7 +-
include/hw/riscv/sifive_plic.h | 12 +-
include/hw/riscv/spike.h | 6 +-
include/hw/riscv/virt.h | 10 +-
12 files changed, 466 insertions(+), 337 deletions(-)
--
2.25.1