GitXplorerGitXplorer
j

EfiSandbox

public
4 stars
1 forks
0 issues

Commits

List of commits on branch master.
Unverified
49cc1e78b6456e69a82c15d082d3d1a170bc32a2

update readme

jjyao1 committed 4 years ago
Unverified
6e39af674465b114ce26a900a5d68b90742f3019

Add Readme.md

jjyao1 committed 5 years ago
Unverified
e0d29382c18bbf9c460bf7eeee5ce8c4497029c5

Add wasm-micro-runtime gitmodule.

jjyao1 committed 5 years ago
Unverified
b0de2878c25740ab836eb48c1d00143d9eaa855a

Add Initial WebAssemblyPkg.

jjyao1 committed 5 years ago

README

The README file for this repository.

These packages are to demonstrate how we enable a sandbox (such as WebAssembly) in UEFI firmware.

Feature:

  1. WebAssemblyPkg

This package is a wrapper for wasm-micro-runtime to run wasm binary in UEFI environment. It is similar to CryptoPkg which is a wrapper for openssl.

Prerequisit:

Build a standard C file to a wasm file with wasm SDK.

  1. wasi-sdk

  2. emsdk

  3. rustwasm

Build:

This repo uses below submodules:

WebAssemblyPkg/Library/WebAssemblyInterpreterLib/wasm-micro-runtime

NOTE: Current version only support GCC5 X64 build.

Run:

Build WebAssemblyPkg and generate WasmApp.efi. Run WasmApp.efi <Demo.wasm> in the UEFI shell.

NOTE: Current project is just a demo to support printf(). More system APIs can be added later.

Known limitation:

This package is only the sample code to show the concept. It does not have a full validation and does not meet the production quality yet. Any codes including the API definition, the libary and the drivers are subject to change.