refactor: move user syscall impl to libusr

This commit is contained in:
2022-03-23 12:22:09 +02:00
parent 3e3f57c8b4
commit 994a6952c0
11 changed files with 28 additions and 32 deletions
+4 -4
View File
@@ -70,7 +70,7 @@ impl<const N: usize> fmt::Display for FixedStr<N> {
}
}
#[cfg(feature = "user")]
pub mod calls;
#[cfg(feature = "user")]
pub use calls::*;
// #[cfg(feature = "user")]
// pub mod calls;
// #[cfg(feature = "user")]
// pub use calls::*;
+1 -1
View File
@@ -1,8 +1,8 @@
use core::alloc::{GlobalAlloc, Layout};
use core::mem::{size_of, MaybeUninit};
use core::ptr::null_mut;
use crate::sys::{sys_mmap, sys_munmap};
use libsys::{
calls::{sys_mmap, sys_munmap},
error::Errno,
proc::{MemoryAccess, MemoryMap},
};
+2 -4
View File
@@ -1,8 +1,6 @@
use crate::io::{AsRawFd, Error, Read};
use libsys::{
calls::{sys_close, sys_openat, sys_read},
stat::{FileDescriptor, FileMode, OpenFlags},
};
use crate::sys::{sys_close, sys_openat, sys_read};
use libsys::stat::{FileDescriptor, FileMode, OpenFlags};
pub struct File {
fd: FileDescriptor,
+1 -1
View File
@@ -1,7 +1,7 @@
use crate::sys::{sys_fstatat, sys_ioctl};
use core::fmt;
use core::mem::size_of;
use libsys::{
calls::{sys_fstatat, sys_ioctl},
error::Errno,
ioctl::IoctlCmd,
proc::Pid,
+2 -4
View File
@@ -1,10 +1,8 @@
use crate::io::{Error, Read, Write};
use crate::sync::Mutex;
use crate::sys::{sys_read, sys_write};
use core::fmt;
use libsys::{
calls::{sys_read, sys_write},
stat::FileDescriptor,
};
use libsys::stat::FileDescriptor;
struct InputInner {
fd: FileDescriptor,
+2 -6
View File
@@ -1,10 +1,6 @@
use crate::sys::{sys_ex_sigreturn, sys_exit};
use crate::trace;
use libsys::{
calls::{sys_ex_sigreturn, sys_exit},
debug::TraceLevel,
proc::ExitCode,
signal::Signal,
};
use libsys::{debug::TraceLevel, proc::ExitCode, signal::Signal};
#[derive(Clone, Copy)]
pub enum SignalHandler {
@@ -1,5 +1,5 @@
use crate::abi::SystemCall;
use crate::{
use libsys::abi::SystemCall;
use libsys::{
debug::TraceLevel,
error::Errno,
ioctl::IoctlCmd,
+4 -1
View File
@@ -1,5 +1,5 @@
pub use libsys::abi;
pub use libsys::calls::*;
// pub use libsys::calls::*;
pub use libsys::debug;
pub use libsys::error::Errno;
pub use libsys::proc::{self, ExitCode};
@@ -7,6 +7,9 @@ pub use libsys::signal::{Signal, SignalDestination};
pub use libsys::stat::{self, AccessMode, FileDescriptor};
pub use libsys::termios;
pub mod calls;
pub use calls::*;
use core::sync::atomic::{AtomicBool, Ordering};
// TODO replace with a proper mutex impl
+4 -4
View File
@@ -1,14 +1,14 @@
use crate::signal;
use crate::sys::{
sys_ex_clone, sys_ex_gettid, sys_ex_signal, sys_ex_thread_exit, sys_ex_thread_wait,
};
use alloc::{boxed::Box, sync::Arc, vec};
use core::any::Any;
use core::arch::asm;
use core::cell::UnsafeCell;
use core::fmt;
use core::mem::MaybeUninit;
use libsys::{
calls::{sys_ex_clone, sys_ex_gettid, sys_ex_signal, sys_ex_thread_exit, sys_ex_thread_wait},
proc::{ExitCode, Tid},
};
use libsys::proc::{ExitCode, Tid};
struct NativeData<F, T>
where
+2 -1
View File
@@ -4,7 +4,8 @@
#[macro_use]
extern crate libusr;
use libsys::{stat::FileMode, sys_mkdirat};
use libsys::stat::FileMode;
use libusr::sys::sys_mkdirat;
#[no_mangle]
fn main() -> i32 {
+4 -4
View File
@@ -5,15 +5,15 @@
extern crate libusr;
use libsys::{
calls::{
sys_close, sys_dup, sys_execve, sys_fork, sys_getgid, sys_getpgid, sys_getuid, sys_ioctl,
sys_openat, sys_read, sys_setgid, sys_setpgid, sys_setsid, sys_setuid, sys_waitpid,
},
error::Errno,
ioctl::IoctlCmd,
stat::{FileDescriptor, FileMode, GroupId, OpenFlags, UserId},
termios::{Termios, TermiosLflag},
};
use libusr::sys::{
sys_close, sys_dup, sys_execve, sys_fork, sys_getgid, sys_getpgid, sys_getuid, sys_ioctl,
sys_openat, sys_read, sys_setgid, sys_setpgid, sys_setsid, sys_setuid, sys_waitpid,
};
use libusr::{
env::{self, UserInfo, UserShadow},
io,