-
Notifications
You must be signed in to change notification settings - Fork 131
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 ACLINT Support #53
Conversation
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.
I agree we should support the ACLINT to take advantage of faster IPIs in the platforms thave have one. However, I don't think virtualizing the ACLINT is useful because the cost of trap-and-emulate is larger than the direct hypercall. I'd say it would be better we don't support a virtual ACLINT, until maybe in the future the ACLINT adds support for virtualization or we find some guest that only supports IPIs through the ACLINT.
Please also, squash the two commits in a single one. |
db37707
to
e0be390
Compare
@josecm I addressed all your comments in this recent update. |
Actually, since the information about the clint being present or not is already present in the platform description I was thinking about adding to the platform define scripts the automatic generation of the macro. In a scripts/arch/riscv/platform_defs_gen.c ...
if (platform.arch.aclint_sswi.base != 0) {
printf("#define ACLINT_PRESENT");
}
... I'll be happy to do this myself if you don't have the time as it will involve a little more work for supporting arch-specific macro definition scripts. |
e0be390
to
d00c035
Compare
@josecm I did as you ask and created a platform specific script. If you want, I can create a separate commit just for that. |
Thanks! Yes, a separate commit for that would be great! |
d00c035
to
3215ccb
Compare
3215ccb
to
0ac5d6b
Compare
@ninolomata Can you resolve the conflicts in src/platform/qemu-riscv64-virt/virt_desc.c ? |
0ac5d6b
to
fbe883e
Compare
Features: - IPIs sent via aclint instead of sbi ecalls Signed-off-by: Bruno Sa <bruno.vilaca.sa@gmail.com>
Add the IPIC option on QEMU platform to select ACLINT or SBI as the interrupt controller for IPIs Signed-off-by: Bruno Sa <bruno.vilaca.sa@gmail.com>
fbe883e
to
2671be9
Compare
@josecm all good now. |
Now the code seems fine, but I think we need to add also a build check for compiling with |
Signed-off-by: Jose Martins <josemartins90@gmail.com>
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.
All good to me.
Features:
Notes:
Linux -> https://github.com/avpatel/linux/tree/riscv_aclint_v5
QEMU -> 7.2 with flag -M aclint=on