Skip to content
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

[RISC-V] Port Mono for RISC-V 64 Arch (1/3) lp64d ABI #83714

Merged
merged 4 commits into from
Apr 3, 2023

Conversation

Xinlong-Wu
Copy link
Contributor

@Xinlong-Wu Xinlong-Wu commented Mar 21, 2023

These patches initially ported the JIT of MonoVM to RISC-V 64 imafdc Arch, withing lp64d ABI.
So that the runtime can run and output hello world to command line by MonoVM under these patches

image

This patch completes the allocation of registers or stack for different parameters and return value types according to the RISC-V ABI (lp64d). It also provides a definition of the macros and structures related to the RISCV architecture that need to be used in the operation of MonoVM, in preparation for the interaction between the JIT code and the Native code later.

ps. Only applying this patch may not compile successfully, splitting the patch is only for review purposes. more info please refer to #36748

@vargaz
Copy link
Contributor

vargaz commented Mar 21, 2023

Looks good, please reformat the mini-riscv.c changes so they conform to the mono runtime coding conventions, i.e.
spaces before '(', spaces before '{' etc. See mini-arm64.c for examples.

@vargaz vargaz merged commit c0b05ae into dotnet:main Apr 3, 2023
@Xinlong-Wu Xinlong-Wu deleted the ready-to-pr-1 branch April 6, 2023 15:17
@am11 am11 added the arch-riscv Related to the RISC-V architecture label Apr 7, 2023
@ghost ghost locked as resolved and limited conversation to collaborators May 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-riscv Related to the RISC-V architecture area-VM-meta-mono community-contribution Indicates that the PR has been added by a community member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants