-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Initial Patch for RISC-V support #82294
Conversation
In asmhelpers.S, assigned registers based on LOONGARCH except - t8 => t5 - t7 => t4 (In case of t4 is already used, set t4 to t0 or t3. Then use t4 instead of t7.) *. There are t0 ~ t8 in LOONGARCH. In RIRSCV, only t0 ~ t6.
Fix tests build fails
- threading/NamedMutex/test1/paltest_namedmutex_test1 disabled NAMED_MUTEX_USE_PTHREAD_MUTEX - threading/YieldProcessor/test1/paltest_yieldprocessor_test1 wfi is executed in privileged mode. add a fence instruction like loongarch
Update Conditions/Conditional branches
@jkotas, There are many errors and unimplemented codes. Please review and let me know what you think. Thank you so much. |
@clamp03 Thank for working on RISC-V port! Would you mind sharing your motivation for this port? Is there a specific scenario that you are targeting?
+1 This will need to be split into multiple PRs to make the review manageable. cc @dotnet/jit-contrib @jeffschwMSFT |
Our general policy on ports is covered in this recent post: https://devblogs.microsoft.com/dotnet/why-dotnet/#binary-distributions Glad to see the interest in the combination of .NET and RISC-V. |
LEAF_ENTRY RtlRestoreContext, _TEXT | ||
#ifdef HAS_ASAN | ||
lw t1, CONTEXT_ContextFlags(a0) | ||
andi t1, t1, 0x1 << CONTEXT_FLOATING_POINT_BIT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In arm64 implementation in a similar place CONTEXT_CONTROL_BIT is used instead of CONTEXT_FLOATING_POINT_BIT. Isn't this a bug in loongarch64 implementation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This time I think we don't need ASAN support for RISC-V.
I removed those and left a TODO comment.
Based on LOONGARCH64, implemented RISC-V.
What I checked are
There are much work to be done. I hope to work together on upstream repo.
Thank you.
Related Issue: #36748