From: Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>
To: qemu-devel@nongnu.org
Cc: qemu-riscv@nongnu.org, alistair.francis@wdc.com,
liwei1518@gmail.com, zhiwei_liu@linux.alibaba.com,
chao.liu@processmission.com, andrew.jones@oss.qualcomm.com,
leif.lindholm@oss.qualcomm.com,
Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>,
Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>,
Palmer Dabbelt <palmer@dabbelt.com>
Subject: [PATCH v10 5/5] docs: add riscv-server-ref.rst
Date: Fri, 4 Sep 2026 16:56:10 -0300 [thread overview]
Message-ID: <20260904195610.964829-6-daniel.barboza@oss.qualcomm.com> (raw)
In-Reply-To: <20260904195610.964829-1-daniel.barboza@oss.qualcomm.com>
Add documentation for the new riscv-server-ref board.
Signed-off-by: Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Chao Liu <chao.liu@processmission.com>
---
docs/system/riscv/riscv-server-ref.rst | 62 ++++++++++++++++++++++++++
docs/system/target-riscv.rst | 1 +
2 files changed, 63 insertions(+)
create mode 100644 docs/system/riscv/riscv-server-ref.rst
diff --git a/docs/system/riscv/riscv-server-ref.rst b/docs/system/riscv/riscv-server-ref.rst
new file mode 100644
index 0000000000..0573b4e07c
--- /dev/null
+++ b/docs/system/riscv/riscv-server-ref.rst
@@ -0,0 +1,62 @@
+.. SPDX-License-Identifier: GPL-2.0-or-later
+
+RISC-V Server Platform Reference board (``riscv-server-ref``)
+=============================================================
+
+The RISC-V Server Platform specification `spec`_ 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 machine aims to emulate this specification, providing
+an environment for firmware/OS development and testing.
+
+`spec`_ is version 1.0 at the introduction of this board. New spec versions
+might trigger a revision of the emulation itself, which will strive to always
+match the latest version available. In case the emulation changes aren't
+backwards compatible we'll introduce a versioning scheme, probably via
+a machine property, to allow older SW to run with older spec versions.
+
+The main features included in the riscv-server-ref board are:
+
+* IOMMU platform device (riscv-iommu-sys)
+* AIA
+* PCIe AHCI
+* PCIe NIC
+* No virtio mmio bus
+* No fw_cfg device
+* No ACPI table
+* Minimal device tree nodes
+
+There are multiple ways of using this reference board. The spec compliant way
+is using an EDK2 image and a TPM device. The board was tested with the TPM
+device ``tpm-tis`` that uses the external ``swtpm`` emulator. More info on how
+to use this device can be found in `tpm`_.
+
+To use this board coupled with the tpm-tis device, first start the ``swtpm``
+process in a shell (the ``log`` parameter is optional):
+
+.. code-block:: bash
+
+ $ mkdir /tmp/mytpm1
+ $ swtpm socket --tpmstate dir=/tmp/mytpm1 \
+ --ctrl type=unixio,path=/tmp/mytpm1/swtpm-sock \
+ --tpm2 \
+ --log level=20
+
+And then start QEMU with:
+
+.. code-block:: bash
+
+ qemu-system-riscv64 -M riscv-server-ref \
+ -bios fw_dynamic.bin \
+ -kernel EDK2.fd \
+ -drive file=nvme_disk.ext2,format=raw,id=hd0,if=none \
+ -device ahci,id=ahci \
+ -device ide-hd,drive=hd0,bus=ahci.0 \
+ -chardev socket,id=chrtpm,path=/tmp/mytpm1/swtpm-sock \
+ -tpmdev emulator,id=tpm0,chardev=chrtpm \
+ -device tpm-tis-device,tpmdev=tpm0 \
+ -nographic
+
+
+.. _spec: https://github.com/riscv-non-isa/riscv-server-platform
+.. _tpm: https://qemu-project.gitlab.io/qemu/specs/tpm.html
diff --git a/docs/system/target-riscv.rst b/docs/system/target-riscv.rst
index 2639866a3e..74e23fa64c 100644
--- a/docs/system/target-riscv.rst
+++ b/docs/system/target-riscv.rst
@@ -70,6 +70,7 @@ undocumented; you can get a complete list by running
riscv/microblaze-v-generic
riscv/microchip-icicle-kit
riscv/mips
+ riscv/riscv-server-ref
riscv/shakti-c
riscv/sifive_u
riscv/tt_atlantis
--
2.43.0
next prev parent reply other threads:[~2026-09-04 19:57 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-04 19:56 [PATCH v10 0/5] hw/riscv: Server Platform Reference Board Daniel Henrique Barboza
2026-09-04 19:56 ` [PATCH v10 1/5] target/riscv/cpu.c: remove 'bare' condition for .profile Daniel Henrique Barboza
2026-09-08 3:26 ` Sunil V L
2026-09-04 19:56 ` [PATCH v10 2/5] target/riscv: add riscv-server-ref CPU Daniel Henrique Barboza
2026-09-08 7:30 ` Sunil V L
2026-09-08 9:08 ` Andrew Jones
2026-09-08 18:40 ` Daniel Henrique Barboza
2026-09-04 19:56 ` [PATCH v10 3/5] hw/riscv: server platform reference machine Daniel Henrique Barboza
2026-09-08 3:25 ` Sunil V L
2026-09-08 10:40 ` Andrew Jones
2026-09-08 18:44 ` Daniel Henrique Barboza
2026-09-04 19:56 ` [PATCH v10 4/5] tests/functional/riscv64: add riscv-server-ref tests Daniel Henrique Barboza
2026-09-08 7:34 ` Sunil V L
2026-09-08 9:11 ` Andrew Jones
2026-09-08 10:17 ` Andrew Jones
2026-09-04 19:56 ` Daniel Henrique Barboza [this message]
2026-09-08 7:32 ` [PATCH v10 5/5] docs: add riscv-server-ref.rst Sunil V L
2026-09-08 10:05 ` Andrew Jones
2026-09-08 18:50 ` Daniel Henrique Barboza
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260904195610.964829-6-daniel.barboza@oss.qualcomm.com \
--to=daniel.barboza@oss.qualcomm.com \
--cc=alistair.francis@wdc.com \
--cc=andrew.jones@oss.qualcomm.com \
--cc=chao.liu@processmission.com \
--cc=leif.lindholm@oss.qualcomm.com \
--cc=liwei1518@gmail.com \
--cc=palmer@dabbelt.com \
--cc=pierrick.bouvier@oss.qualcomm.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-riscv@nongnu.org \
--cc=zhiwei_liu@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.