1. Nov 02, 2022
    • Fawaz's avatar
      Added features to select privilege level (#5) · 6e355849
      Fawaz authored
      Currently, the library attempts to execute some semihosting operations
      in a completely interrupt-free context. It does this by using
      `riscv::interrupt::free`, which saves and restores the `mie` field of
      `mstatus`. As a result, attempts to initiate semihosting calls outside
      of M mode cause illegal instruction exceptions.
      
      This commit provides a solution, by requiring users to choose one of two
      features, "machine-mode" or "user-mode", which will compile different
      versions of the functions in src/export.rs that do and do not suspend
      interrupts, respectively. Failure to do so will throw a compiler error,
      unless the "no-semihosting" feature was enabled.
      
      A "supervisor-mode" feature was left out as the `riscv` crate does not
      yet have an equivalent of `interrupt::free` for supervisor mode.
      
      CI now also checks builds with both of these features.
      6e355849
  2. Oct 22, 2022
    • Fawaz's avatar
      Replaced old CI with one using GitHub Actions (#4) · 45ac4e86
      Fawaz authored
      The old CI was meant for cortex-m-semihosting, so it would not have
      worked with this repository, and it also used Travis CI, whereas
      the new one uses GitHub Actions.
      
      The CI runs `cargo check` for the following targets:
      - `riscv32i-unknown-none-elf`
      - `riscv32imc-unknown-none-elf`
      - `riscv32imac-unknown-none-elf`
      - `riscv64imac-unknown-none-elf`
      - `riscv64gc-unknown-none-elf`
      
      It also checks formatting and doc.
      45ac4e86
  3. Jul 21, 2022
  4. Jul 20, 2022
    • Fawaz Tirmizi's avatar
      Updated Cargo.toml · b7f5ee4d
      Fawaz Tirmizi authored
      The old Cargo.toml was a bit out-of-date. This commit adds the RISC-V
      Team to the authors list, as well as bumping the version and edition to
      1.59.0 and 2021.
      b7f5ee4d
    • Fawaz Tirmizi's avatar
      Remove cortex-m-semihosting CI · f4c48301
      Fawaz Tirmizi authored
      The current repository CI was copied from cortex-m-semihosting, so it is
      not relevant to this one. In the future, it may be worthwhile to add
      some proper CI for this repo.
      f4c48301
    • Fawaz Tirmizi's avatar
      Cleaned up documentation · e80cec6f
      Fawaz Tirmizi authored
      Original documentation was largely an exact copy of cortex-m-semihosting
      at the fork. This commit fixes that, removing unnecessary references to
      cortex-m-semihosting and clearing out the changelog so that it's
      relevant to this repository instead.
      e80cec6f
    • Fawaz Tirmizi's avatar
      d5b79a76
  5. Jul 19, 2022
  6. Jan 02, 2022
  7. Feb 27, 2018
  8. Aug 28, 2017
  9. Jul 08, 2017
  10. Jul 05, 2017
  11. Jul 03, 2017
  12. Jun 17, 2017
  13. May 16, 2017
  14. Mar 21, 2017
  15. Mar 20, 2017
  16. Mar 13, 2017
  17. Feb 28, 2017
  18. Feb 16, 2017
  19. Feb 15, 2017