diff --git a/src/syscall/fs.rs b/src/syscall/fs.rs index a4623de..3ae8e06 100644 --- a/src/syscall/fs.rs +++ b/src/syscall/fs.rs @@ -507,8 +507,6 @@ pub fn funmap2(virtual_address: usize, length: usize) -> Result { let conflicting: Vec = grants.conflicts(requested).map(Region::from).collect(); - println!("conflicts: {:#?}", conflicting); - for conflict in conflicting { let grant = grants.take(&conflict).expect("conflicting region didn't exist"); let intersection = grant.intersect(requested); diff --git a/src/syscall/mod.rs b/src/syscall/mod.rs index b58f894..a441567 100644 --- a/src/syscall/mod.rs +++ b/src/syscall/mod.rs @@ -164,14 +164,21 @@ pub fn syscall(a: usize, b: usize, c: usize, d: usize, e: usize, f: usize, bp: u } } + /* let debug = { let contexts = crate::context::contexts(); if let Some(context_lock) = contexts.current() { let context = context_lock.read(); let name_raw = context.name.lock(); let name = unsafe { core::str::from_utf8_unchecked(&name_raw) }; - if name == "file:/bin/testing" || name == "file:/bin/rustc" { - true + if name == "file:/bin/cargo" || name == "file:/bin/rustc" { + if a == SYS_CLOCK_GETTIME { + false + } else if (a == SYS_WRITE || a == SYS_FSYNC) && (b == 1 || b == 2) { + false + } else { + true + } } else { false } @@ -189,6 +196,7 @@ pub fn syscall(a: usize, b: usize, c: usize, d: usize, e: usize, f: usize, bp: u println!("{}", debug::format_call(a, b, c, d, e, f)); } + */ // The next lines set the current syscall in the context struct, then once the inner() function // completes, we set the current syscall to none. @@ -213,6 +221,7 @@ pub fn syscall(a: usize, b: usize, c: usize, d: usize, e: usize, f: usize, bp: u } } + /* if debug { let contexts = crate::context::contexts(); if let Some(context_lock) = contexts.current() { @@ -231,6 +240,7 @@ pub fn syscall(a: usize, b: usize, c: usize, d: usize, e: usize, f: usize, bp: u } } } + */ // errormux turns Result into -errno Error::mux(result)