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
Support for running wasm-wasi binaries #472
Merged
kevinaboos
merged 21 commits into
theseus-os:theseus_main
from
vikrammullick:wasm-support
Jan 24, 2022
Merged
Support for running wasm-wasi binaries #472
kevinaboos
merged 21 commits into
theseus-os:theseus_main
from
vikrammullick:wasm-support
Jan 24, 2022
Conversation
This file contains 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
…ation, added wasi zork application, added application to generate test text files
…ted clock_time_get
Thanks again for submitting this; I've left some comments on Slack. |
kevinaboos
added a commit
that referenced
this pull request
Jan 12, 2022
…le directories, removed binary-specific applications, removed wasmi_simple_test
vikrammullick
force-pushed
the
wasm-support
branch
2 times, most recently
from
January 12, 2022 10:17
f78e1a2
to
eb29515
Compare
vikrammullick
force-pushed
the
wasm-support
branch
from
January 12, 2022 10:22
eb29515
to
459600e
Compare
vikrammullick
pushed a commit
to vikrammullick/Theseus
that referenced
this pull request
Jan 12, 2022
Necessary for future usage by in-kernel WASM components, e.g., theseus-os#472
vikrammullick
force-pushed
the
wasm-support
branch
from
January 12, 2022 10:22
459600e
to
25274ea
Compare
kevinaboos
requested changes
Jan 18, 2022
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.
Looks excellent! just left a few small comments.
…added description to applications/wasm Cargo.toml, improved wasm application usage text
kevinaboos
approved these changes
Jan 24, 2022
github-actions bot
pushed a commit
that referenced
this pull request
Jan 24, 2022
* See `applications/wasm` for examples on how to run WASM binaries. * Key components and details: * `kernel/wasm_interpreter` is the main interface between `wasmi` and the rest of Theseus. * `applications/wasm` is the user frontend for invoking a WASM binary, which allows specifying access to directories, preopening files, and passing arguments to the WASM application. * Basic WASI system calls are supported. * WASM binaries are currently located in `extra_files/`, as are some test/demo files that are used by those WASM binaries. f4aa715
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.
This PR includes
applications/wasi_interpreter
, a wasi interpreter that interfaces between Theseus and wasmi and currently supports the following wasi system calls:Additionally, this PR includes the following applications:
applications/wgrep
: grep-2.0 compiled to wasi-wasm and run with wasi-interpreter sourceapplications/wzork
: zork compiled to wasi-wasm and run with wasi-interpreter source, aboutapplications/wpee
: pee (command to write to files) compiled to wasi-wasm and run with wasi-interpreter sourceapplications/wasmi_simple_test
: Test application to verify thatwasmi
successfully runs inno_std
environmentapplications/gen_test_files
: Helper application to generate test text files (opening crawls from the Star Wars Saga)