qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [RFC v2 0/2] Add RISC-V Server Platform Reference Board
@ 2024-03-12 13:52 Fei Wu
  2024-03-12 13:52 ` [RFC v2 1/2] target/riscv: Add server platform reference cpu Fei Wu
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Fei Wu @ 2024-03-12 13:52 UTC (permalink / raw)
  To: pbonzini, palmer, alistair.francis, bin.meng, liwei1518, dbarboza,
	zhiwei_liu, qemu-devel, qemu-riscv, andrei.warkentin, shaolin.xie,
	ved, sunilvl, haibo1.xu, evan.chai, yin.wang,
	tech-server-platform, tech-server-soc, atishp, ajones, conor,
	heinrich.schuchardt, marcin.juszkiewicz
  Cc: Fei Wu

The RISC-V Server Platform specification[1] defines a standardized set
of hardware and software capabilities, that portable system software,
such as OS and hypervisors can rely on being present in a RISC-V server
platform. This patchset provides a RISC-V Server Platform (RVSP)
reference implementation on qemu which is in compliance with the spec
as faithful as possible.

The reference board can be running with tag edk2-stable202308 in
upstream edk2 repo[2].

The qemu command line used:

$QEMU -nographic -m 4G -smp 2 \
    -machine rvsp-ref,pflash0=pflash0,pflash1=pflash1 \
    -blockdev node-name=pflash0,driver=file,read-only=on,filename=RISCV_VIRT_CODE.fd \
    -blockdev node-name=pflash1,driver=file,filename=RISCV_VIRT_VARS.fd \
    -bios fw_dynamic.bin \
    -drive file=$BRS_IMG,if=ide,format=raw

Since there is no ACPI table generated in this new machine type, a
corresponding EDK-II platform (WIP) is needed to provide related ACPI
tables.

For testing purposes only, we used a workaround to generate the ACPI
tables in Qemu with a dedicated downstream patch.

[1] https://github.com/riscv-non-isa/riscv-server-platform
[2] https://github.com/tianocore/edk2.git


v2:
- move cpu definition the 1st patch
- replace sifive_test with power reset syscon
- add versioning scheme to fdt
- integrate recent changes in virt.c
  - use g_autofree
  - create_fdt/finalize_fdt
  - riscv_isa_write_fdt
- some cleanups


Fei Wu (2):
  target/riscv: Add server platform reference cpu
  hw/riscv: Add server platform reference machine

 configs/devices/riscv64-softmmu/default.mak |    1 +
 hw/riscv/Kconfig                            |   12 +
 hw/riscv/meson.build                        |    1 +
 hw/riscv/server_platform_ref.c              | 1276 +++++++++++++++++++
 target/riscv/cpu-qom.h                      |    1 +
 target/riscv/cpu.c                          |   61 +
 6 files changed, 1352 insertions(+)
 create mode 100644 hw/riscv/server_platform_ref.c

-- 
2.34.1



^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2024-12-09 20:21 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-12 13:52 [RFC v2 0/2] Add RISC-V Server Platform Reference Board Fei Wu
2024-03-12 13:52 ` [RFC v2 1/2] target/riscv: Add server platform reference cpu Fei Wu
2024-05-20 14:00   ` [RISC-V][tech-server-soc] " Andrew Jones
2024-03-12 13:52 ` [RFC v2 2/2] hw/riscv: Add server platform reference machine Fei Wu
2024-03-22  4:55   ` Alistair Francis
2024-03-22  7:14     ` Marcin Juszkiewicz
2024-03-22  8:50       ` Heinrich Schuchardt
2024-03-22  9:20         ` Marcin Juszkiewicz
2024-03-22 19:10           ` Atish Kumar Patra
2024-03-22 19:14   ` Atish Kumar Patra
2024-03-25 10:06     ` Wu, Fei
2024-05-20 15:56   ` Andrew Jones
2024-05-21  1:10     ` [RISC-V][tech-server-soc] " Xu, Haibo1
2024-11-26 11:14 ` [RFC v2 0/2] Add RISC-V Server Platform Reference Board Daniel Henrique Barboza
2024-12-09 20:20 ` Daniel Henrique Barboza

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).