allow specifying path of wasm executable

feature-wasm-exe-path
Monadic Cat 2022-04-25 00:32:45 -05:00
parent 2a54c00005
commit 98cb9ace7e
Signed by: Monadic-Cat
GPG Key ID: B132A0F6BFA553CB
3 changed files with 6 additions and 5 deletions

View File

@ -210,7 +210,8 @@ fn engine_construction() -> Engine {
engine.register_fn("peek", peek_memory);
engine.register_fn("poke", poke_memory);
engine.register_fn("sloop", sloop);
engine.register_fn("wasm", interp);
engine.register_fn("wasm", |s: &str| interp(s.as_bytes()));
engine.register_fn("wasm", || interp(b"/home/able/bins/aos_test.wasm"));
engine.register_fn("log_dump", log_dump);
engine

View File

@ -167,8 +167,8 @@ impl Externals for HostExternals {
}
GET_INPUT_INDEX => {
let input = None;
x86_64::instructions::interrupts::without_interrupts(|| KEYBUFF.lock().pop());
let mut input = None;
input = x86_64::instructions::interrupts::without_interrupts(|| KEYBUFF.lock().pop());
if let Some(chr) = input {
trace!("SYSCALL: input: {}", chr);
}

View File

@ -4,13 +4,13 @@ use crate::{filesystem::FILE_SYSTEM, wasm_jumploader::host_functions::HostExtern
use genfs::{Fs, OpenOptions};
use wasmi::{ImportsBuilder, ModuleInstance};
pub fn interp() {
pub fn interp(file: &[u8]) {
trace!("Interpreting...");
let fs = &*FILE_SYSTEM.lock();
trace!("Got filesystem");
let file = fs
.open(
b"/home/able/bins/aos_test.wasm",
file,
OpenOptions::new().read(true),
)
.unwrap();