refactor: move user syscall impl to libusr
This commit is contained in:
+4
-4
@@ -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,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
@@ -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,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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user