WASI prototype design, implementation, and documentation.
This adds documents describing the WASI Core API, and an implementation in Wasmtime.
This commit is contained in:
29
README.md
29
README.md
@@ -14,26 +14,27 @@ utility or as a library embedded in a larger application.
|
||||
[](https://gitter.im/CraneStation/Lobby)
|
||||

|
||||
|
||||
*Wasmtime is complete enough to pass the WebAssembly spec testsuite.* Support for
|
||||
system APIs is coming soon!
|
||||
Wasmtime passes the WebAssembly spec testsuite, and supports a new system
|
||||
API proposal called [WebAssembly System Interface], or WASI.
|
||||
|
||||
One goal for this project is to implement [CloudABI](https://cloudabi.org/) using
|
||||
WebAssembly as the code format, provide [CloudABI system calls] as WebAssembly
|
||||
host imports, and then port the [Rust CloudABI package] and [CloudABI libc] to it
|
||||
to support Rust, C, C++, and other toolchains.
|
||||
There are Rust C, and C++ toolchains that can compile programs with WASI. See
|
||||
[here][WASI intro] for more information, and [here][WASI tutorial] for a
|
||||
tutorial on compiling and running programs using WASI and wasmtime, as
|
||||
well as an overview of the filesystem sandboxing system.
|
||||
|
||||
CloudABI is a natural complement for WebAssembly, since WebAssembly provides
|
||||
sandboxing for code but doesn't have any builtin I/O, and CloudABI provides
|
||||
sandboxed I/O.
|
||||
Wasmtime does not yet implement Spectre mitiations, such as those being
|
||||
pioneered [by](https://www.wasmjit.org/blog/spectre-mitigations-part-1.html)
|
||||
[wasmjit](https://www.wasmjit.org/blog/spectre-mitigations-part-2.html),
|
||||
however this is a subject of ongoing research.
|
||||
|
||||
[CloudABI]: https://cloudabi.org/
|
||||
[CloudABI system calls]: https://github.com/NuxiNL/cloudabi#specification-of-the-abi
|
||||
[Rust CloudABI package]: https://crates.io/crates/cloudabi
|
||||
[CloudABI libc]: https://github.com/NuxiNL/cloudlibc
|
||||
[WebAssembly System Interface]: docs/WASI-overview.md
|
||||
[WASI intro]: docs/WASI-intro.md
|
||||
[WASI tutorial]: docs/WASI-tutorial.md
|
||||
|
||||
Additional goals for Wasmtime include:
|
||||
- Support a variety of host APIs (not just CloudABI), with fast calling sequences,
|
||||
and develop proposals for system calls in the WebAssembly
|
||||
- Support a variety of host APIs (not just WASI Core), with fast calling sequences,
|
||||
and develop proposals for additional API modules to be part of WASI.
|
||||
[Reference Sysroot](https://github.com/WebAssembly/reference-sysroot).
|
||||
- Implement the [proposed WebAssembly C API].
|
||||
- Facilitate testing, experimentation, and development around the [Cranelift] and
|
||||
|
||||
Reference in New Issue
Block a user