-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CoreCLR RISC-V architecture port #84834
Comments
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch, @kunalspathak Issue DetailsCurrent statusOur initial goal was to get to 100% pass rate for CodeGen BringUp tests in Debug mode. We've achieved this both on qemu and on StarFive VisionFive2 board. For this, all changes are currenlty in PRs created by my colleagues @clamp03 @t-mustafin:
So, when all of the above are merged, CodeGen BringUp tests launched on main branch should pass both on VisionFive2 and qemu (for StarFive VisionFive2 board Current test results for full JIT directory on VisionFive2 in Debug with
Current test results for all tests on VisionFive2 in Debug with
Further plansOur further plans for near future:
What's currently not in our plans for near future:
ProcessIn overall, we basically follow https://github.com/dotnet/runtime/blob/main/docs/design/coreclr/jit/porting-ryujit.md and https://github.com/dotnet/runtime/blob/main/docs/design/coreclr/botr/guide-for-porting.md. We categorize failing tests by error type. Soon we'll open separate issue on what's currently being worked on. Related issues
|
Tagging subscribers to this area: @dotnet/area-meta Issue DetailsCurrent statusOur initial goal was to get to 100% pass rate for CodeGen BringUp tests in Debug mode. We've achieved this both on qemu and on StarFive VisionFive2 board. For this, all changes are currenlty in PRs created by my colleagues @clamp03 @t-mustafin:
So, when all of the above are merged, CodeGen BringUp tests launched on main branch should pass both on VisionFive2 and qemu (for StarFive VisionFive2 board Current test results for full JIT directory on VisionFive2 in Debug with
Current test results for all tests on VisionFive2 in Debug with
Further plansOur further plans for near future:
What's currently not in our plans for near future:
ProcessIn overall, we basically follow https://github.com/dotnet/runtime/blob/main/docs/design/coreclr/jit/porting-ryujit.md and https://github.com/dotnet/runtime/blob/main/docs/design/coreclr/botr/guide-for-porting.md. We categorize failing tests by error type. Soon we'll open separate issue on what's currently being worked on. Related issues
|
At first I was excited to see this RISCV work, but the list of 'not planned' stuff is significant. |
@gbalykov @t-mustafin @clamp03 |
|
cc @mangod9 |
- Fixed build error due to no return value in non-void function (ins_Move_Extend) - dotnet#84834
@clamp03 @BruceForstall @jakobbotsch As #82294, the RISCV64 is based on LoongArch64, the RISCV64 is so similarity with LoongArch64. When I push LA64's PR, if also fix the RISCV64 with LoongArch64, while the LA64's patch I had tested on LA64's PC but I don't have the RISCV64 and can't test the RISCV64. What do you mean? |
@shushanhf I don't quite understand what you are asking. I think you are saying: you can change LA64 and test LA64, but cannot build/test RISC-V. Is the question: how to do this? Or, what kind of testing is expected? Currently, there is no building/testing of LA64 or RISC-V in the CI system. I don't expect that to change. Perhaps it would be a good idea to make it easy to build and possibly even do minimal testing ("smoke testing") of both platforms. I don't expect Microsoft will ever want to make that a pre-checkin requirement for changes to this repository -- the RISC-V and LA64 teams will still be responsible for actively monitoring for changes, and reacting to required changes in the VM and JIT. But if building/testing is easy, perhaps it will give better advanced notice to all teams of potential issues or work. |
We are open to sponsor CI build-only legs for community supported targets to prevent trivial build breaks from getting in. Tizen and FreeBSD ports are on this plan today. If you are interested, create build environment with Linux x64 hosted cross-build environment in https://github.com/dotnet/dotnet-buildtools-prereqs-docker/ repo first. |
- Add RISC-V Checked Build CI - dotnet#84834
- Add RISC-V Checked Build CI - #84834
Add extensions of ratified RISC-V application profiles (the unprivileged side). JIT doesn't emit code for newly added extensions yet, this is to future-proof since coredistools are rebuilt infrequently. See #414 (comment) for context. Part of dotnet/runtime#84834, cc @dotnet/samsung @BruceForstall
Current status
Our initial goal was to get to 100% pass rate for CodeGen BringUp tests in Debug mode. We've achieved this both on qemu and on StarFive VisionFive2 board.
For this, all changes are currenlty in PRs created by my colleagues @clamp03 @t-mustafin:
So, when all of the above are merged, CodeGen BringUp tests launched on main branch should pass both on VisionFive2 and qemu (for StarFive VisionFive2 board
GC_REGIONS
also need to be disabled currently, we are already investigating this).Current test results for full JIT directory on VisionFive2 in Debug with
DOTNET_GCgen0size=99999999
:Current test results for all tests on VisionFive2 in Debug with
DOTNET_GCgen0size=99999999
:Further plans
Our further plans for near future:
DOTNET_GCgen0size=99999999
add CI in dotnet/runtime repo for RISC-V with some tests run on qemuGC_REGIONS
on VisionFive2What's currently not in our plans for near future:
DOTNET_GCgen0size=99999999
and with/withoutFEATURE_CONSERVATIVE_GC
)Process
In overall, we basically follow https://github.com/dotnet/runtime/blob/main/docs/design/coreclr/jit/porting-ryujit.md and https://github.com/dotnet/runtime/blob/main/docs/design/coreclr/botr/guide-for-porting.md. We categorize failing tests by error type. Soon we'll open separate issue on what's currently being worked on.
Related issues
#36748, #75749
The text was updated successfully, but these errors were encountered: