This series adds support for RISC-V Semihosting, version 0.2 as
specified here:
https://github.com/riscv/riscv-semihosting-spec/releases/tag/0.2
This specification references the ARM semihosting release 2.0 as specified here:
https://static.docs.arm.com/100863/0200/semihosting.pdf
That specification includes several semihosting calls which were not
previously implemented. This series includes implementations for the
remaining calls so that both RISC-V and ARM versions are now complete.
Tests for release 2.0 can be found in picolibc on the semihost-2.0-all
branch:
https://github.com/picolibc/picolibc/tree/semihost-2.0-all
These tests uncovered a bug in the SYS_HEAPINFO implementation for
ARM, which has been fixed in this series as well.
The series is structured as follows:
1. Move shared semihosting files
2. Change public common semihosting APIs
3. Change internal semihosting interfaces
4. Fix SYS_HEAPINFO crash on ARM
5. Add RISC-V semihosting implementation
6-8. Add missing semihosting operations from release 2.0
Signed-off-by: Keith Packard <[email protected]>