LR_04_001: Port .NET Runtime to RISC-V

LR_04_001: Port .NET Runtime to RISC-V

Tracking at https://github.com/dotnet/runtime/issues/84834

CI supported by MSFT

Test boards: VisionFive2 

We will be changing the test boards soon: a new SoC w/ full media & connectivity support and vector/crypto extensions.

About

 

There are consumer electronics running .NET applications on Linux (Tizen), which are going to try RISC-V CPUs.

Project Scope and Timelines

 

The functional capability (passing the unit tests except for performance criteria) of runtime and libraries for RISC-V (RV64) is required by 2Q, 2024.

In 2023, .NET Runtime RISC-V port effort will focus on completing its JIT functions and codegen.

 

Extension support (Vector and Crypto), AOT compilers, JIT optimizations, are scheduled after that.

 

Components and Repos

 

Repository: https://github.com/dotnet/runtime

Task/Issue Tracking: https://github.com/dotnet/runtime/issues/84834

Related Pull Requests (a few examples)

Stakeholders and Partners

 

  • .NET RISC-V Port Implementation (Samsung / Contact: @MyungJoo Ham , clamp03@github, gbalykov@github, t-mustafin@github, alpencolt@github, zer011b@github, )

  • .NET Project Maintenance & Review (Microsoft .NET team)

Dependencies

 

 

Name or Category

WG Link

Urgency

Impact

Status

Name or Category

WG Link

Urgency

Impact

Status

libunwind (resolved)

 

 

 

 

lldb (resolved)

DP_02_001 - LLDB for RV64
(Code submitted? https://reviews.llvm.org/D62732 )

Low
(can wait until 24.Q2)

High (Required)

.NET runtime RISC-V port is not ready for debugging support, yet.

binary toolchain packages (resolved)

CT_03_001 - Binary Toolchain Packages

High

Mid (Recommended)

Currently using custom binaries

more efficient emulator (resolved)

SE_01_001 - QEMU linux-user riscv_hwprobe syscall support

SE_02_001 - QEMU Vector crypto support

 

Mid

Low (Performance)

 

Measure of Success

 

Either one of the two:

Scenario 1: It passes the testing facilities in .NET upstream CI (DONE)
                 and Microsoft (or its upstream maintainers) announces that it officially supports RISC-V (WIP: It's in .NET 8 Preview)

Scenario 2: Tizen releases RISC-V OS images including .NET runtime, libraries, and API/SDK. (WIP: Targets 25' release)

 

RISE Requirements

 

It'd be great to have, but not "required":

  • Find people who's interested in porting .NET on RISC-V and let them participate.

  • Get Microsoft involved in RISE and put their own effort on RISC-V ports.

 

Status Updates

Add key updates here, using heading 2 with the update date as the title.