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
..

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