mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-26 16:54:01 +00:00
platform-support: add riscv32imac-unknown-xous-elf
Signed-off-by: Sean Cross <sean@xobs.io>
This commit is contained in:
parent
9f6e6872c2
commit
796d7d2824
@ -22,6 +22,7 @@
|
||||
- [m68k-unknown-linux-gnu](platform-support/m68k-unknown-linux-gnu.md)
|
||||
- [mips64-openwrt-linux-musl](platform-support/mips64-openwrt-linux-musl.md)
|
||||
- [nvptx64-nvidia-cuda](platform-support/nvptx64-nvidia-cuda.md)
|
||||
- [riscv32imac-unknown-xous-elf](platform-support/riscv32imac-unknown-xous-elf.md)
|
||||
- [*-pc-windows-gnullvm](platform-support/pc-windows-gnullvm.md)
|
||||
- [*-unknown-openbsd](platform-support/openbsd.md)
|
||||
- [wasm64-unknown-unknown](platform-support/wasm64-unknown-unknown.md)
|
||||
|
@ -275,6 +275,7 @@ target | std | host | notes
|
||||
`riscv32gc-unknown-linux-gnu` | | | RISC-V Linux (kernel 5.4, glibc 2.33)
|
||||
`riscv32gc-unknown-linux-musl` | | | RISC-V Linux (kernel 5.4, musl + RISCV32 support patches)
|
||||
`riscv32im-unknown-none-elf` | * | | Bare RISC-V (RV32IM ISA)
|
||||
[`riscv32imac-unknown-xous-elf`](platform-support/riscv32imac-unknown-xous-elf.md) | ? | | RISC-V Xous (RV32IMAC ISA)
|
||||
`riscv32imc-esp-espidf` | ✓ | | RISC-V ESP-IDF
|
||||
`riscv64gc-unknown-freebsd` | | | RISC-V FreeBSD
|
||||
`riscv64gc-unknown-linux-musl` | | | RISC-V Linux (kernel 4.20, musl 1.2.0)
|
||||
|
@ -0,0 +1,50 @@
|
||||
# riscv32imac-unknown-xous-elf
|
||||
|
||||
**Tier: 3**
|
||||
|
||||
Xous microkernel, message-based operating system that powers devices such as Precursor and Betrusted. The operating system is written entirely in Rust, so no additional software is required to compile programs for Xous.
|
||||
|
||||
## Target maintainers
|
||||
|
||||
- [@xobs](https://github.com/xobs)
|
||||
|
||||
## Requirements
|
||||
|
||||
|
||||
Building the target itself requires a RISC-V compiler that is supported by `cc-rs`. For example, you can use the prebuilt [xPack](https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/latest) toolchain.
|
||||
|
||||
Cross-compiling programs does not require any additional software beyond the toolchain. Prebuilt versions of the toolchain are available [from Betrusted](https://github.com/betrusted-io/rust/releases).
|
||||
|
||||
## Building the target
|
||||
|
||||
The target can be built by enabling it for a `rustc` build.
|
||||
|
||||
```toml
|
||||
[build]
|
||||
target = ["riscv32imac-unknown-xous-elf"]
|
||||
```
|
||||
|
||||
Make sure your C compiler is included in `$PATH`, then add it to the `config.toml`:
|
||||
|
||||
```toml
|
||||
[target.riscv32imac-unknown-xous-elf]
|
||||
cc = "riscv-none-elf-gcc"
|
||||
ar = "riscv-none-elf-ar"
|
||||
```
|
||||
|
||||
## Building Rust programs
|
||||
|
||||
Rust does not yet ship pre-compiled artifacts for this target. To compile for
|
||||
this target, you will need to do one of the following:
|
||||
|
||||
* Build Rust with the target enabled (see "Building the target" above)
|
||||
* Build your own copy of `core` by using `build-std` or similar
|
||||
* Download a prebuilt toolchain [from Betrusted](https://github.com/betrusted-io/rust/releases)
|
||||
|
||||
## Cross-compilation
|
||||
|
||||
This target can be cross-compiled from any host.
|
||||
|
||||
## Testing
|
||||
|
||||
Currently there is no support to run the rustc test suite for this target.
|
Loading…
Reference in New Issue
Block a user