From 629ceb8fd0af79085c3a83c571343109b2f49cdb Mon Sep 17 00:00:00 2001 From: Nick Spinale Date: Thu, 11 Jan 2024 06:33:53 +0000 Subject: [PATCH] Add riscv32imafc target specs Signed-off-by: Nick Spinale --- crates/sel4-generate-target-specs/src/main.rs | 2 +- .../targets/riscv32imafc-sel4-minimal.json | 19 +++++++++++++++++++ support/targets/riscv32imafc-sel4.json | 18 ++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 support/targets/riscv32imafc-sel4-minimal.json create mode 100644 support/targets/riscv32imafc-sel4.json diff --git a/crates/sel4-generate-target-specs/src/main.rs b/crates/sel4-generate-target-specs/src/main.rs index 7b84a46af..34aac59d0 100644 --- a/crates/sel4-generate-target-specs/src/main.rs +++ b/crates/sel4-generate-target-specs/src/main.rs @@ -178,7 +178,7 @@ impl Arch { v.push(Self::Riscv64(RiscVArch::IMAC)); v.push(Self::Riscv64(RiscVArch::GC)); v.push(Self::Riscv32(RiscVArch::IMAC)); - // v.push(Self::Riscv32(RiscVArch::IMAFC)); # TODO add after bumping Rust toolchain + v.push(Self::Riscv32(RiscVArch::IMAFC)); v.push(Self::X86_64); v } diff --git a/support/targets/riscv32imafc-sel4-minimal.json b/support/targets/riscv32imafc-sel4-minimal.json new file mode 100644 index 000000000..bf96ae6b5 --- /dev/null +++ b/support/targets/riscv32imafc-sel4-minimal.json @@ -0,0 +1,19 @@ +{ + "arch": "riscv32", + "cpu": "generic-rv32", + "crt-objects-fallback": "false", + "data-layout": "e-m:e-p:32:32-i64:64-n32-S128", + "eh-frame-header": false, + "emit-debug-gdb-scripts": false, + "env": "sel4", + "exe-suffix": ".elf", + "features": "+m,+a,+c,+f", + "linker": "rust-lld", + "linker-flavor": "gnu-lld", + "llvm-abiname": "ilp32f", + "llvm-target": "riscv32", + "max-atomic-width": 32, + "panic-strategy": "abort", + "relocation-model": "static", + "target-pointer-width": "32" +} diff --git a/support/targets/riscv32imafc-sel4.json b/support/targets/riscv32imafc-sel4.json new file mode 100644 index 000000000..bda24f2f0 --- /dev/null +++ b/support/targets/riscv32imafc-sel4.json @@ -0,0 +1,18 @@ +{ + "arch": "riscv32", + "cpu": "generic-rv32", + "crt-objects-fallback": "false", + "data-layout": "e-m:e-p:32:32-i64:64-n32-S128", + "emit-debug-gdb-scripts": false, + "env": "sel4", + "exe-suffix": ".elf", + "features": "+m,+a,+c,+f", + "has-thread-local": true, + "linker": "rust-lld", + "linker-flavor": "gnu-lld", + "llvm-abiname": "ilp32f", + "llvm-target": "riscv32", + "max-atomic-width": 32, + "relocation-model": "static", + "target-pointer-width": "32" +}