Add riscv64 support to the spt target - #668
Conversation
|
I had my NPP workspace open when I got the email so I just quickly fixed it and tested it using Clang on my machine so it should be alright now. |
|
I've not much knowledge about Linux, RISC-V, and spt... this looks nice (as in no surprises, more ifdefs, etc.). Do you have plans for hvt & RISC-V I guess the other question is whether there are boards (or servers) available with hypervisor extensions? Do you own any/have access to some? EDIT: figured out there's KVM support for RISC-V in Linux. |
|
I checked my hardware and I don't have access to those extensions. Not to say I couldn't in the future (I got sent some hardware from a company that makes RISC-V gpus but I'm still getting that box set up). I'll see if I can find somewhere that grants hardware access too. It's definitely not a blocker for me though because So yes, I'd be up for it. Been enjoying operating systems so far. |
|
Can you add your |
|
Forgot to reply but I've added it @dinosaure :-) |
|
Ok I think it's good to merge, we will describe it however as experimental (as it's the code for your aarch64 cross-compiler). Thanks for your work. |
Adds riscv64 to the spt target, following the ppc64le port. Three new files plus one arm on each of the existing
#ifladders, and a build-only CI job. The tender runs fine under qemu-user but the guest it maps at a fixed low address doesn't, so the suite needs real hardware.Built and tested on a riscv64 Debian 13 box, all eleven spt tests pass including
test_tls. Ran the same tests on ppc64le against main and against this branch to check the shared files, identical results. Logs are here.btw RISC-V is Variant I with
tpone past the end of the TCB, so thread variables start attpandsolo5_tls_init's self-pointer write would land on.tdata. I've suppressed it for riscv64 rather than reserving a gap, since nothing reads it whentpis directly readable. Happy to do it differently.