-
Notifications
You must be signed in to change notification settings - Fork 4
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
feat: use RustSBI 0.4.0 proc macros to simplify VCpu SBI implementation #8
Conversation
Ref: https://github.com/KuangjuX/hypercraft/pull/3/files Signed-off-by: Zhouqi Jiang <luojia@hust.edu.cn>
Signed-off-by: Zhouqi Jiang <luojia@hust.edu.cn>
Signed-off-by: Zhouqi Jiang <luojia@hust.edu.cn>
Thanks for your work, I'll review it later |
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.
except for naked_asm
modification, all LGTM
Thanks for review! For The first approach is using the What's your opinion on this? @hky1999 |
Sorry for delay, a bit busy these days... (so much email send from github I missed this
It's a good solution but I'm worried that this will further increase the complexity of the code
Let's just go back to this solution, after that I think this PR is ready to merge |
also, pay attention to the ci error @luojia65 ( |
@hky1999: Thanks! Will modify soon. |
Signed-off-by: Zhouqi Jiang <luojia@hust.edu.cn>
49133eb
to
a7207d8
Compare
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.
LGTM
thanks for your work
This pull request simplifies SBI implementation in
RISCVVCpu
by using RustSBI 0.4.0Forward
structure, it forwards all SBI calls on console, pmu, fence, reset and info (base extension) without missing any SBI features like extension detection and all functions in the extension.For example, the original code only forwards remote_fence_i and remote_sfence_vma in fence (RFNC) extension, but by reusing RustSBI Forward feature we forward all 7 functions in the RFNC extension.
By using RustSBI 0.4.0 Forward, we save a lot of code on RISC-V hypervisor development.
Ref: https://github.com/KuangjuX/hypercraft/pull/3/files
r? @hky1999