smbios: sanitize type from external type before checking have_fields_bitmap
[qemu.git] / docs / system / riscv / shakti-c.rst
blobfea57f7b6ba0c990e7e07447929a3a21f4d4828c
1 Shakti C Reference Platform (``shakti_c``)
2 ==========================================
4 Shakti C Reference Platform is a reference platform based on arty a7 100t
5 for the Shakti SoC.
7 Shakti SoC is a SoC based on the Shakti C-class processor core. Shakti C
8 is a 64bit RV64GCSUN processor core.
10 For more details on Shakti SoC, please see:
11 https://gitlab.com/shaktiproject/cores/shakti-soc/-/blob/master/fpga/boards/artya7-100t/c-class/README.rst
13 For more info on the Shakti C-class core, please see:
14 https://c-class.readthedocs.io/en/latest/
16 Supported devices
17 -----------------
19 The ``shakti_c`` machine supports the following devices:
21  * 1 C-class core
22  * Core Level Interruptor (CLINT)
23  * Platform-Level Interrupt Controller (PLIC)
24  * 1 UART
26 Boot options
27 ------------
29 The ``shakti_c`` machine can start using the standard -bios
30 functionality for loading the baremetal application or opensbi.
32 Boot the machine
33 ----------------
35 Shakti SDK
36 ~~~~~~~~~~
37 Shakti SDK can be used to generate the baremetal example UART applications.
39 .. code-block:: bash
41    $ git clone https://gitlab.com/behindbytes/shakti-sdk.git
42    $ cd shakti-sdk
43    $ make software PROGRAM=loopback TARGET=artix7_100t
45 Binary would be generated in:
46   software/examples/uart_applns/loopback/output/loopback.shakti
48 You could also download the precompiled example applications using below
49 commands.
51 .. code-block:: bash
53    $ wget -c https://gitlab.com/behindbytes/shakti-binaries/-/raw/master/sdk/shakti_sdk_qemu.zip
54    $ unzip shakti_sdk_qemu.zip
56 Then we can run the UART example using:
58 .. code-block:: bash
60    $ qemu-system-riscv64 -M shakti_c -nographic \
61       -bios path/to/shakti_sdk_qemu/loopback.shakti
63 OpenSBI
64 ~~~~~~~
65 We can also run OpenSBI with Test Payload.
67 .. code-block:: bash
69    $ git clone https://github.com/riscv/opensbi.git -b v0.9
70    $ cd opensbi
71    $ wget -c https://gitlab.com/behindbytes/shakti-binaries/-/raw/master/dts/shakti.dtb
72    $ export CROSS_COMPILE=riscv64-unknown-elf-
73    $ export FW_FDT_PATH=./shakti.dtb
74    $ make PLATFORM=generic
76 fw_payload.elf would be generated in build/platform/generic/firmware/fw_payload.elf.
77 Boot it using the below qemu command.
79 .. code-block:: bash
81    $ qemu-system-riscv64 -M shakti_c -nographic \
82       -bios path/to/fw_payload.elf