[PATCH v1 5/5] docs/system/riscv: add documentation for k230 machine

Chao Liu posted 5 patches 1 week, 6 days ago
Maintainers: Chao Liu <chao.liu@zevorn.cn>, Paolo Bonzini <pbonzini@redhat.com>, Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Christoph Muellner <christoph.muellner@vrull.eu>, Fabiano Rosas <farosas@suse.de>, Laurent Vivier <lvivier@redhat.com>
There is a newer version of this series
[PATCH v1 5/5] docs/system/riscv: add documentation for k230 machine
Posted by Chao Liu 1 week, 6 days ago
Add documentation for k230 virt reference platform.

Signed-off-by: Chao Liu <chao.liu@zevorn.cn>
---
 docs/system/riscv/k230.rst | 48 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)
 create mode 100644 docs/system/riscv/k230.rst

diff --git a/docs/system/riscv/k230.rst b/docs/system/riscv/k230.rst
new file mode 100644
index 0000000000..3e6ca295df
--- /dev/null
+++ b/docs/system/riscv/k230.rst
@@ -0,0 +1,48 @@
+Kendryte K230 virt reference platform (``k230``)
+==========================================================================
+The ``k230`` machine is compatible with with Kendryte K230 SDK.
+
+The K230 is a chip from the AIoT SoC series made by Kendryte ® — a part of
+Canaan Inc. It uses a brand-new multi-heterogeneous unit accelerated computing
+structure.
+
+This chip has 2 RISC-V computing cores and a new-generation KPU (Knowledge
+Process Unit) smart computing unit.
+
+It has multi-precision AI computing ability, works with many common AI computing
+frameworks, and for some typical networks, its usage rate is over 70%. Besides,
+the K230 chip supports many peripheral connections and has several special
+hardware acceleration units (like 2D and 2.5D accelerators). It can speed up
+different tasks (such as image processing, video processing, audio processing
+and AI computing). It also has many good features: low delay, high performance,
+low power use and fast start-up.
+
+For more information, see <https://www.kendryte.com/en/proDetail/230>
+
+Supported devices
+-----------------
+The ``k230`` machine supports the following devices:
+
+* 1 c908 cores
+* Core Local Interruptor (CLINT)
+* Incoming MSI Controller (IMSIC)
+* 2 K230 Watchdog Timer
+* 4 UART
+
+Boot options
+------------
+The ``k230`` machine can start using the standard ``-bios``
+functionality for loading the boot image. You need to compile and link
+the firmware, kernel, and Device Tree (FDT) into a single binary file with
+K230 SDK(k230_canmv_defconfig), such as ``uboot``.
+
+Running
+-------
+Below is an example command line for running the ``k230``
+machine:
+
+.. code-block:: bash
+
+   $ qemu-system-riscv64 -machine k230 \
+      -bios k230_sdk/output/k230_canmv_defconfig/little/uboot/u-boot \
+      -nographic
-- 
2.51.0


Re: [PATCH v1 5/5] docs/system/riscv: add documentation for k230 machine
Posted by Daniel Henrique Barboza 1 week, 3 days ago
Hi,

This patch won't build in my env:

[3031/3032] Generating docs/QEMU manual with a custom command
FAILED: docs/docs.stamp
/usr/bin/env CONFDIR=etc/qemu /home/danielhb/work/qemu/build/pyvenv/bin/sphinx-build -q -W -Dkerneldoc_werror=1 -j auto -Dversion=10.1.92 -Drelease= -Ddepfile=docs/docs.d -Ddepfile_stamp=docs/docs.stamp -b html -d /home/danielhb/work/qemu/build/docs/manual.p /home/danielhb/work/qemu/docs /home/danielhb/work/qemu/build/docs/manual
/home/danielhb/work/qemu/docs/system/riscv/k230.rst: WARNING: document isn't included in any toctree
ninja: build stopped: subcommand failed.



This diff fixes it:


$ git diff
diff --git a/docs/system/target-riscv.rst b/docs/system/target-riscv.rst
index 89b2cb732c..2103ff6173 100644
--- a/docs/system/target-riscv.rst
+++ b/docs/system/target-riscv.rst
@@ -66,6 +66,7 @@ undocumented; you can get a complete list by running
  .. toctree::
     :maxdepth: 1
  
+   riscv/k230
     riscv/microblaze-v-generic
     riscv/microchip-icicle-kit
     riscv/shakti-c



Thanks,

Daniel


On 11/30/25 6:21 AM, Chao Liu wrote:
> Add documentation for k230 virt reference platform.
> 
> Signed-off-by: Chao Liu <chao.liu@zevorn.cn>
> ---
>   docs/system/riscv/k230.rst | 48 ++++++++++++++++++++++++++++++++++++++
>   1 file changed, 48 insertions(+)
>   create mode 100644 docs/system/riscv/k230.rst
> 
> diff --git a/docs/system/riscv/k230.rst b/docs/system/riscv/k230.rst
> new file mode 100644
> index 0000000000..3e6ca295df
> --- /dev/null
> +++ b/docs/system/riscv/k230.rst
> @@ -0,0 +1,48 @@
> +Kendryte K230 virt reference platform (``k230``)
> +==========================================================================
> +The ``k230`` machine is compatible with with Kendryte K230 SDK.
> +
> +The K230 is a chip from the AIoT SoC series made by Kendryte ® — a part of
> +Canaan Inc. It uses a brand-new multi-heterogeneous unit accelerated computing
> +structure.
> +
> +This chip has 2 RISC-V computing cores and a new-generation KPU (Knowledge
> +Process Unit) smart computing unit.
> +
> +It has multi-precision AI computing ability, works with many common AI computing
> +frameworks, and for some typical networks, its usage rate is over 70%. Besides,
> +the K230 chip supports many peripheral connections and has several special
> +hardware acceleration units (like 2D and 2.5D accelerators). It can speed up
> +different tasks (such as image processing, video processing, audio processing
> +and AI computing). It also has many good features: low delay, high performance,
> +low power use and fast start-up.
> +
> +For more information, see <https://www.kendryte.com/en/proDetail/230>
> +
> +Supported devices
> +-----------------
> +The ``k230`` machine supports the following devices:
> +
> +* 1 c908 cores
> +* Core Local Interruptor (CLINT)
> +* Incoming MSI Controller (IMSIC)
> +* 2 K230 Watchdog Timer
> +* 4 UART
> +
> +Boot options
> +------------
> +The ``k230`` machine can start using the standard ``-bios``
> +functionality for loading the boot image. You need to compile and link
> +the firmware, kernel, and Device Tree (FDT) into a single binary file with
> +K230 SDK(k230_canmv_defconfig), such as ``uboot``.
> +
> +Running
> +-------
> +Below is an example command line for running the ``k230``
> +machine:
> +
> +.. code-block:: bash
> +
> +   $ qemu-system-riscv64 -machine k230 \
> +      -bios k230_sdk/output/k230_canmv_defconfig/little/uboot/u-boot \
> +      -nographic


Re: [PATCH v1 5/5] docs/system/riscv: add documentation for k230 machine
Posted by Chao Liu 1 week, 3 days ago
On 12/4/2025 1:19 AM, Daniel Henrique Barboza wrote:
> Hi,
> 
> This patch won't build in my env:
> 
> [3031/3032] Generating docs/QEMU manual with a custom command
> FAILED: docs/docs.stamp
> /usr/bin/env CONFDIR=etc/qemu /home/danielhb/work/qemu/build/pyvenv/bin/sphinx-
> build -q -W -Dkerneldoc_werror=1 -j auto -Dversion=10.1.92 -Drelease= -
> Ddepfile=docs/docs.d -Ddepfile_stamp=docs/docs.stamp -b html -d /home/danielhb/
> work/qemu/build/docs/manual.p /home/danielhb/work/qemu/docs /home/danielhb/work/
> qemu/build/docs/manual
> /home/danielhb/work/qemu/docs/system/riscv/k230.rst: WARNING: document isn't
> included in any toctree
> ninja: build stopped: subcommand failed.
> 
> 
> 
> This diff fixes it:
> 
> 
> $ git diff
> diff --git a/docs/system/target-riscv.rst b/docs/system/target-riscv.rst
> index 89b2cb732c..2103ff6173 100644
> --- a/docs/system/target-riscv.rst
> +++ b/docs/system/target-riscv.rst
> @@ -66,6 +66,7 @@ undocumented; you can get a complete list by running
>  .. toctree::
>     :maxdepth: 1
>  
> +   riscv/k230
>     riscv/microblaze-v-generic
>     riscv/microchip-icicle-kit
>     riscv/shakti-c
> 
Nice :)

Thanks, Daniel, for fixing this issue. I will apply this bugfix in PATCH v2.

Chao
> 
> 
> Thanks,
> 
> Daniel
> 
> 
> On 11/30/25 6:21 AM, Chao Liu wrote:
>> Add documentation for k230 virt reference platform.
>>
>> Signed-off-by: Chao Liu <chao.liu@zevorn.cn>
>> ---
>>   docs/system/riscv/k230.rst | 48 ++++++++++++++++++++++++++++++++++++++
>>   1 file changed, 48 insertions(+)
>>   create mode 100644 docs/system/riscv/k230.rst
>>
>> diff --git a/docs/system/riscv/k230.rst b/docs/system/riscv/k230.rst
>> new file mode 100644
>> index 0000000000..3e6ca295df
>> --- /dev/null
>> +++ b/docs/system/riscv/k230.rst
>> @@ -0,0 +1,48 @@
>> +Kendryte K230 virt reference platform (``k230``)
>> +==========================================================================
>> +The ``k230`` machine is compatible with with Kendryte K230 SDK.
>> +
>> +The K230 is a chip from the AIoT SoC series made by Kendryte ® — a part of
>> +Canaan Inc. It uses a brand-new multi-heterogeneous unit accelerated computing
>> +structure.
>> +
>> +This chip has 2 RISC-V computing cores and a new-generation KPU (Knowledge
>> +Process Unit) smart computing unit.
>> +
>> +It has multi-precision AI computing ability, works with many common AI computing
>> +frameworks, and for some typical networks, its usage rate is over 70%. Besides,
>> +the K230 chip supports many peripheral connections and has several special
>> +hardware acceleration units (like 2D and 2.5D accelerators). It can speed up
>> +different tasks (such as image processing, video processing, audio processing
>> +and AI computing). It also has many good features: low delay, high performance,
>> +low power use and fast start-up.
>> +
>> +For more information, see <https://www.kendryte.com/en/proDetail/230>
>> +
>> +Supported devices
>> +-----------------
>> +The ``k230`` machine supports the following devices:
>> +
>> +* 1 c908 cores
>> +* Core Local Interruptor (CLINT)
>> +* Incoming MSI Controller (IMSIC)
>> +* 2 K230 Watchdog Timer
>> +* 4 UART
>> +
>> +Boot options
>> +------------
>> +The ``k230`` machine can start using the standard ``-bios``
>> +functionality for loading the boot image. You need to compile and link
>> +the firmware, kernel, and Device Tree (FDT) into a single binary file with
>> +K230 SDK(k230_canmv_defconfig), such as ``uboot``.
>> +
>> +Running
>> +-------
>> +Below is an example command line for running the ``k230``
>> +machine:
>> +
>> +.. code-block:: bash
>> +
>> +   $ qemu-system-riscv64 -machine k230 \
>> +      -bios k230_sdk/output/k230_canmv_defconfig/little/uboot/u-boot \
>> +      -nographic
>