-
Notifications
You must be signed in to change notification settings - Fork 0
[feature] Load a TVM from an ELF #40
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
Open
alarmfox
wants to merge
174
commits into
main
Choose a base branch
from
feat/tvm-elf-loader
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This is the 1st commit message: Adding examples # This is the commit message #2: Added config.mk for general configuration # This is the commit message #3: Removed -c # This is the commit message #4: Formatting # This is the commit message #5: Working C example # This is the commit message #6: New demo # This is the commit message #7: Added details # This is the commit message #8: Added folders
# This is the 1st commit message: Adding examples # This is the commit message #2: Added config.mk for general configuration # This is the commit message #3: Removed -c # This is the commit message #4: Formatting # This is the commit message #5: Working C example # This is the commit message #6: New demo # This is the commit message #7: Added details # This is the commit message #8: Added folders # This is the commit message #9: Simple README.md # This is the commit message #10: Added pre-commit basic configuration # This is the commit message #11: Updated default hooks # This is the commit message #12: Rename: src -> tsm-driver # This is the commit message #13: Added author name and changed PREFIX to CROSS_COMPILE # This is the commit message #14: More standard way of passing CROSS_COMPILE: now includes - # This is the commit message #15: Using native toolchain if CROSS_COMPILE is not defined # This is the commit message #16: Fix usage section # This is the commit message #17: Added static and nostdlib to helloworld # This is the commit message #18: More parameters from config.mk
- rust project initializtion for bare metal riscv programming integrating - integration with opensbi using bindgen - setup Docker environment
- working OpenSBI integration - scripts refactoring - adding devcontainer - cove extension scratch
fix: aligning 4 byte the trap handler Refactored trap.rs working hypervisor with shadowfax Moved SBI extensions in sbi/ refactor: added build time jump address, debug! macro, embed-elf
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR improves the TSM so that we can load an elf as a VM. The elf loading is performed by the untrusted OS which maps pages into the trusted partition (managed by the TSM). This example can be performed using the
gdb_covh_create_tvm_from_elf-py.The TVM cannot interacts with any external device, but it can be some code like:
.section .text _start: /* Reset registers */ mv ra, zero mv gp, zero mv tp, zero mv t0, zero mv t1, zero mv t2, zero mv s0, zero mv s1, zero mv a0, zero mv a1, zero mv a2, zero mv a3, zero mv a4, zero mv a5, zero mv a6, zero mv a7, zero mv s2, zero mv s3, zero mv s4, zero mv s5, zero mv s6, zero mv s7, zero mv s8, zero mv s9, zero mv s10, zero mv s11, zero mv t3, zero mv t4, zero mv t5, zero mv t6, zero /* Hang */ 1: j 1bWhich can be compiled with:
Other changes
environment.shand export variable fromMakefilemake debug GDB_COVE_SCRIPT=<path to script>