-
Notifications
You must be signed in to change notification settings - Fork 43
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
Add support for RISC-V #33
Comments
You would need to add a new trampoline for the architecture here: https://github.com/Snaipe/Mimick/tree/master/src/asm The trampoline must be written with position-independent instructions, as it gets copied to multiple locations. It also must not clobber any of the ABI registers and stack, as its main role is to prepare some state before long-jumping to the stub function. This is why you'll see most trampolines backing up the state of some registers before restoring said state later on. The general memory layout of a trampoline is as follows:
You can get inspiration from other architectures, but the general gist is that the higher-level behavior of the trampoline is:
When this is done, add the CMake config to handle the architecture here: https://github.com/Snaipe/Mimick/blob/master/CMakeLists.txt#L50 |
Thanks for Snaipe's guide, I have ported Mimick to RISCV64. |
I am trying to cross-compile ROS2 to RISCV64, and Mimick is a dependency. Could you please add support for RISCV64? Or if you could provide pointers as how to do it, I could work on it.
The text was updated successfully, but these errors were encountered: