Compare commits

..

No commits in common. "feature-wasm-exe-path" and "master" have entirely different histories.

3 changed files with 5 additions and 6 deletions

View file

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

View file

@ -167,8 +167,8 @@ impl Externals for HostExternals {
} }
GET_INPUT_INDEX => { GET_INPUT_INDEX => {
let mut input = None; let input = None;
input = x86_64::instructions::interrupts::without_interrupts(|| KEYBUFF.lock().pop()); x86_64::instructions::interrupts::without_interrupts(|| KEYBUFF.lock().pop());
if let Some(chr) = input { if let Some(chr) = input {
trace!("SYSCALL: input: {}", chr); 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 genfs::{Fs, OpenOptions};
use wasmi::{ImportsBuilder, ModuleInstance}; use wasmi::{ImportsBuilder, ModuleInstance};
pub fn interp(file: &[u8]) { pub fn interp() {
trace!("Interpreting..."); trace!("Interpreting...");
let fs = &*FILE_SYSTEM.lock(); let fs = &*FILE_SYSTEM.lock();
trace!("Got filesystem"); trace!("Got filesystem");
let file = fs let file = fs
.open( .open(
file, b"/home/able/bins/aos_test.wasm",
OpenOptions::new().read(true), OpenOptions::new().read(true),
) )
.unwrap(); .unwrap();