nuttx/boards/risc-v/c906/smartl-c906
Ville Juven c15b6701ce RISC-V: Implement option to run NuttX in supervisor mode (S-mode)
- Add config "ARCH_USE_S_MODE" which controls whether the kernel
  runs in M-mode or S-mode
- Add more MSTATUS and most of the SSTATUS register definitions
- Add more MIP flags for interrupt delegation
- Add handling of interrupts from S-mode
- Add handling of FPU from S-mode
- Add new context handling functions that are not dependent on the trap
  handlers / ecall

NOTE: S-mode requires a companion SW (SBI) which is not yet implemented,
      thus S-mode is not usable as is, yet.
2022-04-01 16:19:42 -03:00
..
configs arch: Remove SYS_RESERVED from Kconfg 2022-02-27 22:54:13 +08:00
include
kernel boards: Replace CONFIG_CYGWIN_WINTOOL with CONVERT_PATH 2022-02-20 21:15:36 +01:00
scripts xtensa|risc-v: Make CXX exception and RTTI depend on Kconfig options 2022-03-30 11:19:29 +08:00
src RISC-V: Implement option to run NuttX in supervisor mode (S-mode) 2022-04-01 16:19:42 -03:00
Kconfig
README-qemu.txt arch:rv64:c906:demo protect build without PMP. 2021-03-16 11:43:10 -03:00
README.txt

1. Download and install toolchain

  https://occ.t-head.cn/community/download

2. Download and install qemu

  https://occ.t-head.cn/community/download

3. Modify defconfig

4. Configure and build NuttX

  $ make distclean
  $ ./tools/configure.sh smartl-c906:nsh
  $ make -j

5. Run the nuttx by downloading elf to RAM via HW debugger

6. TODO

  Support FPU
  Support ELF based file applications
  Support RISC-V User mode