Cleanup docs; specify minimum Rust version
This commit is contained in:
42
README.md
42
README.md
@@ -1,17 +1,29 @@
|
||||
# wasi-common
|
||||
[![build-status]][travis] [![rustc-1.34]][rustc]
|
||||
|
||||
This repo strips away those bits of [lucet-wasi](https://github.com/fastly/lucet/tree/5d3efb6005391a7c71d585732a5507b00db6bb1e/lucet-wasi)
|
||||
which can potentially be encapsulated in a separated crate with potential plug'n'play use in both
|
||||
[Lucet](https://github.com/fastly/lucet)
|
||||
and [Wasmtime](https://github.com/CraneStation/wasmtime) projects.
|
||||
[build-status]: https://travis-ci.org/CraneStation/wasi-common.svg?branch=master
|
||||
[travis]: https://travis-ci.org/CraneStation/wasi-common
|
||||
[rustc-1.34]: https://img.shields.io/badge/rustc-1.34+-lightgray.svg
|
||||
[rustc]: https://blog.rust-lang.org/2019/04/11/Rust-1.34.0.html
|
||||
[Wasmtime]: https://github.com/CraneStation/wasmtime
|
||||
[Lucet]: https://github.com/fastly/lucet
|
||||
[lucet-wasi]: https://github.com/fastly/lucet/tree/master/lucet-wasi
|
||||
[lucet-wasi-tracker]: https://github.com/fastly/lucet/commit/5d3efb6005391a7c71d585732a5507b00db6bb1e
|
||||
[WASI API]: https://github.com/CraneStation/wasmtime/blob/master/docs/WASI-api.md
|
||||
|
||||
This repo is strictly experimental, and based on [5d3efb6005](https://github.com/fastly/lucet/commit/5d3efb6005391a7c71d585732a5507b00db6bb1e) git revision.
|
||||
This repo will ultimately serve as a library providing a common implementation of
|
||||
WASI hostcalls for re-use in any WASI (and potentially non-WASI) runtimes
|
||||
such as [Wasmtime] and [Lucet].
|
||||
|
||||
The library is an adaption of [lucet-wasi] crate from the [Lucet] project, and it is
|
||||
currently based on [5d3efb6005][lucet-wasi-tracker] git revision.
|
||||
|
||||
Please note that the library requires Rust compiler version at least 1.34.0.
|
||||
|
||||
## Supported syscalls
|
||||
|
||||
We support a subset of the [WASI
|
||||
API](https://github.com/CraneStation/wasmtime/blob/master/docs/WASI-api.md), though we are adding
|
||||
new syscalls on a regular basis. We currently implement:
|
||||
We support a subset of the [WASI API], though we are working on new hostcalls
|
||||
on a regular basis. We currently implement:
|
||||
|
||||
- `__wasi_args_get`
|
||||
- `__wasi_args_sizes_get`
|
||||
@@ -22,12 +34,17 @@ new syscalls on a regular basis. We currently implement:
|
||||
- `__wasi_fd_close`
|
||||
- `__wasi_fd_fdstat_get`
|
||||
- `__wasi_fd_fdstat_set_flags`
|
||||
- `__wasi_fd_filestat_get`
|
||||
- `__wasi_fd_prestat_dir_name`
|
||||
- `__wasi_fd_prestat_get`
|
||||
- `__wasi_fd_read`
|
||||
- `__wasi_fd_seek`
|
||||
- `__wasi_fd_write`
|
||||
- `__wasi_path_open`
|
||||
- `__wasi_path_filestat_get`
|
||||
- `__wasi_path_create_directory`
|
||||
- `__wasi_path_unlink_file`
|
||||
- `__wasi_poll_oneoff`
|
||||
- `__wasi_proc_exit`
|
||||
- `__wasi_random_get`
|
||||
|
||||
@@ -35,10 +52,5 @@ This is enough to run basic C and Rust programs, including those that use comman
|
||||
environment variables, stdio, and basic file operations.
|
||||
|
||||
## Third-Party Code
|
||||
|
||||
`src/wasm32.rs` is copied from
|
||||
[wasmtime](https://github.com/CraneStation/wasmtime/blob/master/wasmtime-wasi/src/wasm32.rs), along
|
||||
with the associated `LICENSE.wasmtime` file.
|
||||
|
||||
Significant parts of our syscall implementations are derived from the C implementations in
|
||||
`cloudabi-utils`. See `LICENSE.cloudabi-utils` for license information.
|
||||
Significant parts of our hostcall implementations are derived from the C implementations in
|
||||
`cloudabi-utils`. See [LICENSE.cloudabi-utils](LICENSE.cloudabi-utils) for license information.
|
||||
|
||||
Reference in New Issue
Block a user