mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-21 22:43:23 +00:00
使得DragonOS kernel 能为riscv64编译通过(尚未能启动) (#457)
* 使得DragonOS kernel 能为riscv64编译通过(尚未能启动) * 修正了系统调用号声明不正确的问题,同时添加了编译配置文档
This commit is contained in:
159
kernel/src/arch/x86_64/syscall/mod.rs
Normal file
159
kernel/src/arch/x86_64/syscall/mod.rs
Normal file
@ -0,0 +1,159 @@
|
||||
use core::ffi::c_void;
|
||||
|
||||
use crate::{
|
||||
arch::{
|
||||
ipc::signal::X86_64SignalArch,
|
||||
syscall::nr::{SYS_ARCH_PRCTL, SYS_RT_SIGRETURN},
|
||||
CurrentIrqArch,
|
||||
},
|
||||
exception::InterruptArch,
|
||||
include::bindings::bindings::set_system_trap_gate,
|
||||
ipc::signal_types::SignalArch,
|
||||
libs::align::SafeForZero,
|
||||
mm::VirtAddr,
|
||||
process::ProcessManager,
|
||||
syscall::{Syscall, SystemError, SYS_SCHED},
|
||||
};
|
||||
use alloc::string::String;
|
||||
|
||||
use super::{interrupt::TrapFrame, mm::barrier::mfence};
|
||||
|
||||
pub mod nr;
|
||||
|
||||
/// ### 存储PCB系统调用栈以及在syscall过程中暂存用户态rsp的结构体
|
||||
///
|
||||
/// 在syscall指令中将会从该结构体中读取系统调用栈和暂存rsp,
|
||||
/// 使用`gsbase`寄存器实现,后续如果需要使用gsbase寄存器,需要相应设置正确的偏移量
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone)]
|
||||
pub(super) struct X86_64GSData {
|
||||
pub(super) kaddr: VirtAddr,
|
||||
pub(super) uaddr: VirtAddr,
|
||||
}
|
||||
|
||||
impl X86_64GSData {
|
||||
/// ### 设置系统调用栈,将会在下一个调度后写入KernelGsbase
|
||||
pub fn set_kstack(&mut self, kstack: VirtAddr) {
|
||||
self.kaddr = kstack;
|
||||
}
|
||||
}
|
||||
|
||||
unsafe impl SafeForZero for X86_64GSData {}
|
||||
|
||||
extern "C" {
|
||||
fn syscall_int();
|
||||
fn syscall_64();
|
||||
}
|
||||
|
||||
macro_rules! syscall_return {
|
||||
($val:expr, $regs:expr, $show:expr) => {{
|
||||
let ret = $val;
|
||||
$regs.rax = ret as u64;
|
||||
|
||||
if $show {
|
||||
let pid = ProcessManager::current_pcb().pid();
|
||||
crate::kdebug!("syscall return:pid={:?},ret= {:?}\n", pid, ret as isize);
|
||||
}
|
||||
|
||||
unsafe {
|
||||
CurrentIrqArch::interrupt_disable();
|
||||
}
|
||||
return;
|
||||
}};
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub extern "sysv64" fn syscall_handler(frame: &mut TrapFrame) -> () {
|
||||
let syscall_num = frame.rax as usize;
|
||||
// 防止sys_sched由于超时无法退出导致的死锁
|
||||
if syscall_num != SYS_SCHED {
|
||||
unsafe {
|
||||
CurrentIrqArch::interrupt_enable();
|
||||
}
|
||||
}
|
||||
|
||||
let args = [
|
||||
frame.rdi as usize,
|
||||
frame.rsi as usize,
|
||||
frame.rdx as usize,
|
||||
frame.r10 as usize,
|
||||
frame.r8 as usize,
|
||||
frame.r9 as usize,
|
||||
];
|
||||
mfence();
|
||||
let pid = ProcessManager::current_pcb().pid();
|
||||
let show = false;
|
||||
// let show = if syscall_num != SYS_SCHED && pid.data() > 3 {
|
||||
// true
|
||||
// } else {
|
||||
// false
|
||||
// };
|
||||
|
||||
if show {
|
||||
crate::kdebug!("syscall: pid: {:?}, num={:?}\n", pid, syscall_num);
|
||||
}
|
||||
|
||||
// Arch specific syscall
|
||||
match syscall_num {
|
||||
SYS_RT_SIGRETURN => {
|
||||
syscall_return!(
|
||||
X86_64SignalArch::sys_rt_sigreturn(frame) as usize,
|
||||
frame,
|
||||
show
|
||||
);
|
||||
}
|
||||
SYS_ARCH_PRCTL => {
|
||||
syscall_return!(
|
||||
Syscall::arch_prctl(args[0], args[1])
|
||||
.unwrap_or_else(|e| e.to_posix_errno() as usize),
|
||||
frame,
|
||||
show
|
||||
);
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
syscall_return!(
|
||||
Syscall::handle(syscall_num, &args, frame).unwrap_or_else(|e| e.to_posix_errno() as usize)
|
||||
as u64,
|
||||
frame,
|
||||
show
|
||||
);
|
||||
}
|
||||
|
||||
/// 系统调用初始化
|
||||
pub fn arch_syscall_init() -> Result<(), SystemError> {
|
||||
// kinfo!("arch_syscall_init\n");
|
||||
unsafe { set_system_trap_gate(0x80, 0, syscall_int as *mut c_void) }; // 系统调用门
|
||||
unsafe { init_syscall_64() };
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
/// 执行第一个用户进程的函数(只应该被调用一次)
|
||||
///
|
||||
/// 当进程管理重构完成后,这个函数应该被删除。调整为别的函数。
|
||||
#[no_mangle]
|
||||
pub extern "C" fn rs_exec_init_process(frame: &mut TrapFrame) -> usize {
|
||||
let path = String::from("/bin/shell.elf");
|
||||
let argv = vec![String::from("/bin/shell.elf")];
|
||||
let envp = vec![String::from("PATH=/bin")];
|
||||
let r = Syscall::do_execve(path, argv, envp, frame);
|
||||
// kdebug!("rs_exec_init_process: r: {:?}\n", r);
|
||||
return r.map(|_| 0).unwrap_or_else(|e| e.to_posix_errno() as usize);
|
||||
}
|
||||
|
||||
/// syscall指令初始化函数
|
||||
pub(super) unsafe fn init_syscall_64() {
|
||||
let mut efer = x86::msr::rdmsr(x86::msr::IA32_EFER);
|
||||
efer |= 0x1;
|
||||
x86::msr::wrmsr(x86::msr::IA32_EFER, efer);
|
||||
|
||||
let syscall_base = (1 as u16) << 3;
|
||||
let sysret_base = ((4 as u16) << 3) | 3;
|
||||
let high = (u32::from(sysret_base) << 16) | u32::from(syscall_base);
|
||||
// 初始化STAR寄存器
|
||||
x86::msr::wrmsr(x86::msr::IA32_STAR, u64::from(high) << 32);
|
||||
|
||||
// 初始化LSTAR,该寄存器存储syscall指令入口
|
||||
x86::msr::wrmsr(x86::msr::IA32_LSTAR, syscall_64 as u64);
|
||||
x86::msr::wrmsr(x86::msr::IA32_FMASK, 0xfffffffe);
|
||||
}
|
357
kernel/src/arch/x86_64/syscall/nr.rs
Normal file
357
kernel/src/arch/x86_64/syscall/nr.rs
Normal file
@ -0,0 +1,357 @@
|
||||
#![allow(dead_code)]
|
||||
#![allow(non_upper_case_globals)]
|
||||
#![allow(non_snake_case)]
|
||||
pub const SYS__SYSCTL: usize = 156;
|
||||
pub const SYS_ACCEPT: usize = 43;
|
||||
pub const SYS_ACCEPT4: usize = 288;
|
||||
pub const SYS_ACCESS: usize = 21;
|
||||
pub const SYS_ACCT: usize = 163;
|
||||
pub const SYS_ADD_KEY: usize = 248;
|
||||
pub const SYS_ADJTIMEX: usize = 159;
|
||||
pub const SYS_AFS_SYSCALL: usize = 183;
|
||||
pub const SYS_ALARM: usize = 37;
|
||||
pub const SYS_ARCH_PRCTL: usize = 158;
|
||||
pub const SYS_BIND: usize = 49;
|
||||
pub const SYS_BPF: usize = 321;
|
||||
pub const SYS_BRK: usize = 12;
|
||||
pub const SYS_CAPGET: usize = 125;
|
||||
pub const SYS_CAPSET: usize = 126;
|
||||
pub const SYS_CHDIR: usize = 80;
|
||||
pub const SYS_CHMOD: usize = 90;
|
||||
pub const SYS_CHOWN: usize = 92;
|
||||
pub const SYS_CHROOT: usize = 161;
|
||||
pub const SYS_CLOCK_ADJTIME: usize = 305;
|
||||
pub const SYS_CLOCK_GETRES: usize = 229;
|
||||
pub const SYS_CLOCK_GETTIME: usize = 228;
|
||||
pub const SYS_CLOCK_NANOSLEEP: usize = 230;
|
||||
pub const SYS_CLOCK_SETTIME: usize = 227;
|
||||
pub const SYS_CLONE: usize = 56;
|
||||
pub const SYS_CLONE3: usize = 435;
|
||||
pub const SYS_CLOSE: usize = 3;
|
||||
pub const SYS_CLOSE_RANGE: usize = 436;
|
||||
pub const SYS_CONNECT: usize = 42;
|
||||
pub const SYS_COPY_FILE_RANGE: usize = 326;
|
||||
pub const SYS_CREAT: usize = 85;
|
||||
pub const SYS_CREATE_MODULE: usize = 174;
|
||||
pub const SYS_DELETE_MODULE: usize = 176;
|
||||
pub const SYS_DUP: usize = 32;
|
||||
pub const SYS_DUP2: usize = 33;
|
||||
pub const SYS_DUP3: usize = 292;
|
||||
pub const SYS_EPOLL_CREATE: usize = 213;
|
||||
pub const SYS_EPOLL_CREATE1: usize = 291;
|
||||
pub const SYS_EPOLL_CTL: usize = 233;
|
||||
pub const SYS_EPOLL_CTL_OLD: usize = 214;
|
||||
pub const SYS_EPOLL_PWAIT: usize = 281;
|
||||
pub const SYS_EPOLL_PWAIT2: usize = 441;
|
||||
pub const SYS_EPOLL_WAIT: usize = 232;
|
||||
pub const SYS_EPOLL_WAIT_OLD: usize = 215;
|
||||
pub const SYS_EVENTFD: usize = 284;
|
||||
pub const SYS_EVENTFD2: usize = 290;
|
||||
pub const SYS_EXECVE: usize = 59;
|
||||
pub const SYS_EXECVEAT: usize = 322;
|
||||
pub const SYS_EXIT: usize = 60;
|
||||
pub const SYS_EXIT_GROUP: usize = 231;
|
||||
pub const SYS_FACCESSAT: usize = 269;
|
||||
pub const SYS_FACCESSAT2: usize = 439;
|
||||
pub const SYS_FADVISE64: usize = 221;
|
||||
pub const SYS_FALLOCATE: usize = 285;
|
||||
pub const SYS_FANOTIFY_INIT: usize = 300;
|
||||
pub const SYS_FANOTIFY_MARK: usize = 301;
|
||||
pub const SYS_FCHDIR: usize = 81;
|
||||
pub const SYS_FCHMOD: usize = 91;
|
||||
pub const SYS_FCHMODAT: usize = 268;
|
||||
pub const SYS_FCHOWN: usize = 93;
|
||||
pub const SYS_FCHOWNAT: usize = 260;
|
||||
pub const SYS_FCNTL: usize = 72;
|
||||
pub const SYS_FDATASYNC: usize = 75;
|
||||
pub const SYS_FGETXATTR: usize = 193;
|
||||
pub const SYS_FINIT_MODULE: usize = 313;
|
||||
pub const SYS_FLISTXATTR: usize = 196;
|
||||
pub const SYS_FLOCK: usize = 73;
|
||||
pub const SYS_FORK: usize = 57;
|
||||
pub const SYS_FREMOVEXATTR: usize = 199;
|
||||
pub const SYS_FSCONFIG: usize = 431;
|
||||
pub const SYS_FSETXATTR: usize = 190;
|
||||
pub const SYS_FSMOUNT: usize = 432;
|
||||
pub const SYS_FSOPEN: usize = 430;
|
||||
pub const SYS_FSPICK: usize = 433;
|
||||
pub const SYS_FSTAT: usize = 5;
|
||||
pub const SYS_FSTATFS: usize = 138;
|
||||
pub const SYS_FSYNC: usize = 74;
|
||||
pub const SYS_FTRUNCATE: usize = 77;
|
||||
pub const SYS_FUTEX: usize = 202;
|
||||
pub const SYS_FUTIMESAT: usize = 261;
|
||||
pub const SYS_GET_KERNEL_SYMS: usize = 177;
|
||||
pub const SYS_GET_MEMPOLICY: usize = 239;
|
||||
pub const SYS_GET_ROBUST_LIST: usize = 274;
|
||||
pub const SYS_GET_THREAD_AREA: usize = 211;
|
||||
pub const SYS_GETCPU: usize = 309;
|
||||
pub const SYS_GETCWD: usize = 79;
|
||||
pub const SYS_GETDENTS: usize = 78;
|
||||
pub const SYS_GETDENTS64: usize = 217;
|
||||
pub const SYS_GETEGID: usize = 108;
|
||||
pub const SYS_GETEUID: usize = 107;
|
||||
pub const SYS_GETGID: usize = 104;
|
||||
pub const SYS_GETGROUPS: usize = 115;
|
||||
pub const SYS_GETITIMER: usize = 36;
|
||||
pub const SYS_GETPEERNAME: usize = 52;
|
||||
pub const SYS_GETPGID: usize = 121;
|
||||
pub const SYS_GETPGRP: usize = 111;
|
||||
pub const SYS_GETPID: usize = 39;
|
||||
pub const SYS_GETPMSG: usize = 181;
|
||||
pub const SYS_GETPPID: usize = 110;
|
||||
pub const SYS_GETPRIORITY: usize = 140;
|
||||
pub const SYS_GETRANDOM: usize = 318;
|
||||
pub const SYS_GETRESGID: usize = 120;
|
||||
pub const SYS_GETRESUID: usize = 118;
|
||||
pub const SYS_GETRLIMIT: usize = 97;
|
||||
pub const SYS_GETRUSAGE: usize = 98;
|
||||
pub const SYS_GETSID: usize = 124;
|
||||
pub const SYS_GETSOCKNAME: usize = 51;
|
||||
pub const SYS_GETSOCKOPT: usize = 55;
|
||||
pub const SYS_GETTID: usize = 186;
|
||||
pub const SYS_GETTIMEOFDAY: usize = 96;
|
||||
pub const SYS_GETUID: usize = 102;
|
||||
pub const SYS_GETXATTR: usize = 191;
|
||||
pub const SYS_INIT_MODULE: usize = 175;
|
||||
pub const SYS_INOTIFY_ADD_WATCH: usize = 254;
|
||||
pub const SYS_INOTIFY_INIT: usize = 253;
|
||||
pub const SYS_INOTIFY_INIT1: usize = 294;
|
||||
pub const SYS_INOTIFY_RM_WATCH: usize = 255;
|
||||
pub const SYS_IO_CANCEL: usize = 210;
|
||||
pub const SYS_IO_DESTROY: usize = 207;
|
||||
pub const SYS_IO_GETEVENTS: usize = 208;
|
||||
pub const SYS_IO_PGETEVENTS: usize = 333;
|
||||
pub const SYS_IO_SETUP: usize = 206;
|
||||
pub const SYS_IO_SUBMIT: usize = 209;
|
||||
pub const SYS_IO_URING_ENTER: usize = 426;
|
||||
pub const SYS_IO_URING_REGISTER: usize = 427;
|
||||
pub const SYS_IO_URING_SETUP: usize = 425;
|
||||
pub const SYS_IOCTL: usize = 16;
|
||||
pub const SYS_IOPERM: usize = 173;
|
||||
pub const SYS_IOPL: usize = 172;
|
||||
pub const SYS_IOPRIO_GET: usize = 252;
|
||||
pub const SYS_IOPRIO_SET: usize = 251;
|
||||
pub const SYS_KCMP: usize = 312;
|
||||
pub const SYS_KEXEC_FILE_LOAD: usize = 320;
|
||||
pub const SYS_KEXEC_LOAD: usize = 246;
|
||||
pub const SYS_KEYCTL: usize = 250;
|
||||
pub const SYS_KILL: usize = 62;
|
||||
pub const SYS_LCHOWN: usize = 94;
|
||||
pub const SYS_LGETXATTR: usize = 192;
|
||||
pub const SYS_LINK: usize = 86;
|
||||
pub const SYS_LINKAT: usize = 265;
|
||||
pub const SYS_LISTEN: usize = 50;
|
||||
pub const SYS_LISTXATTR: usize = 194;
|
||||
pub const SYS_LLISTXATTR: usize = 195;
|
||||
pub const SYS_LOOKUP_DCOOKIE: usize = 212;
|
||||
pub const SYS_LREMOVEXATTR: usize = 198;
|
||||
pub const SYS_LSEEK: usize = 8;
|
||||
pub const SYS_LSETXATTR: usize = 189;
|
||||
pub const SYS_LSTAT: usize = 6;
|
||||
pub const SYS_MADVISE: usize = 28;
|
||||
pub const SYS_MBIND: usize = 237;
|
||||
pub const SYS_MEMBARRIER: usize = 324;
|
||||
pub const SYS_MEMFD_CREATE: usize = 319;
|
||||
pub const SYS_MIGRATE_PAGES: usize = 256;
|
||||
pub const SYS_MINCORE: usize = 27;
|
||||
pub const SYS_MKDIR: usize = 83;
|
||||
pub const SYS_MKDIRAT: usize = 258;
|
||||
pub const SYS_MKNOD: usize = 133;
|
||||
pub const SYS_MKNODAT: usize = 259;
|
||||
pub const SYS_MLOCK: usize = 149;
|
||||
pub const SYS_MLOCK2: usize = 325;
|
||||
pub const SYS_MLOCKALL: usize = 151;
|
||||
pub const SYS_MMAP: usize = 9;
|
||||
pub const SYS_MODIFY_LDT: usize = 154;
|
||||
pub const SYS_MOUNT: usize = 165;
|
||||
pub const SYS_MOUNT_SETATTR: usize = 442;
|
||||
pub const SYS_MOVE_MOUNT: usize = 429;
|
||||
pub const SYS_MOVE_PAGES: usize = 279;
|
||||
pub const SYS_MPROTECT: usize = 10;
|
||||
pub const SYS_MQ_GETSETATTR: usize = 245;
|
||||
pub const SYS_MQ_NOTIFY: usize = 244;
|
||||
pub const SYS_MQ_OPEN: usize = 240;
|
||||
pub const SYS_MQ_TIMEDRECEIVE: usize = 243;
|
||||
pub const SYS_MQ_TIMEDSEND: usize = 242;
|
||||
pub const SYS_MQ_UNLINK: usize = 241;
|
||||
pub const SYS_MREMAP: usize = 25;
|
||||
pub const SYS_MSGCTL: usize = 71;
|
||||
pub const SYS_MSGGET: usize = 68;
|
||||
pub const SYS_MSGRCV: usize = 70;
|
||||
pub const SYS_MSGSND: usize = 69;
|
||||
pub const SYS_MSYNC: usize = 26;
|
||||
pub const SYS_MUNLOCK: usize = 150;
|
||||
pub const SYS_MUNLOCKALL: usize = 152;
|
||||
pub const SYS_MUNMAP: usize = 11;
|
||||
pub const SYS_NAME_TO_HANDLE_AT: usize = 303;
|
||||
pub const SYS_NANOSLEEP: usize = 35;
|
||||
pub const SYS_NEWFSTATAT: usize = 262;
|
||||
pub const SYS_NFSSERVCTL: usize = 180;
|
||||
pub const SYS_OPEN: usize = 2;
|
||||
pub const SYS_OPEN_BY_HANDLE_AT: usize = 304;
|
||||
pub const SYS_OPEN_TREE: usize = 428;
|
||||
pub const SYS_OPENAT: usize = 257;
|
||||
pub const SYS_OPENAT2: usize = 437;
|
||||
pub const SYS_PAUSE: usize = 34;
|
||||
pub const SYS_PERF_EVENT_OPEN: usize = 298;
|
||||
pub const SYS_PERSONALITY: usize = 135;
|
||||
pub const SYS_PIDFD_GETFD: usize = 438;
|
||||
pub const SYS_PIDFD_OPEN: usize = 434;
|
||||
pub const SYS_PIDFD_SEND_SIGNAL: usize = 424;
|
||||
pub const SYS_PIPE: usize = 22;
|
||||
pub const SYS_PIPE2: usize = 293;
|
||||
pub const SYS_PIVOT_ROOT: usize = 155;
|
||||
pub const SYS_PKEY_ALLOC: usize = 330;
|
||||
pub const SYS_PKEY_FREE: usize = 331;
|
||||
pub const SYS_PKEY_MPROTECT: usize = 329;
|
||||
pub const SYS_POLL: usize = 7;
|
||||
pub const SYS_PPOLL: usize = 271;
|
||||
pub const SYS_PRCTL: usize = 157;
|
||||
pub const SYS_PREAD64: usize = 17;
|
||||
pub const SYS_PREADV: usize = 295;
|
||||
pub const SYS_PREADV2: usize = 327;
|
||||
pub const SYS_PRLIMIT64: usize = 302;
|
||||
pub const SYS_PROCESS_MADVISE: usize = 440;
|
||||
pub const SYS_PROCESS_VM_READV: usize = 310;
|
||||
pub const SYS_PROCESS_VM_WRITEV: usize = 311;
|
||||
pub const SYS_PSELECT6: usize = 270;
|
||||
pub const SYS_PTRACE: usize = 101;
|
||||
pub const SYS_PUTPMSG: usize = 182;
|
||||
pub const SYS_PWRITE64: usize = 18;
|
||||
pub const SYS_PWRITEV: usize = 296;
|
||||
pub const SYS_PWRITEV2: usize = 328;
|
||||
pub const SYS_QUERY_MODULE: usize = 178;
|
||||
pub const SYS_QUOTACTL: usize = 179;
|
||||
pub const SYS_READ: usize = 0;
|
||||
pub const SYS_READAHEAD: usize = 187;
|
||||
pub const SYS_READLINK: usize = 89;
|
||||
pub const SYS_READLINKAT: usize = 267;
|
||||
pub const SYS_READV: usize = 19;
|
||||
pub const SYS_REBOOT: usize = 169;
|
||||
pub const SYS_RECVFROM: usize = 45;
|
||||
pub const SYS_RECVMMSG: usize = 299;
|
||||
pub const SYS_RECVMSG: usize = 47;
|
||||
pub const SYS_REMAP_FILE_PAGES: usize = 216;
|
||||
pub const SYS_REMOVEXATTR: usize = 197;
|
||||
pub const SYS_RENAME: usize = 82;
|
||||
pub const SYS_RENAMEAT: usize = 264;
|
||||
pub const SYS_RENAMEAT2: usize = 316;
|
||||
pub const SYS_REQUEST_KEY: usize = 249;
|
||||
pub const SYS_RESTART_SYSCALL: usize = 219;
|
||||
pub const SYS_RMDIR: usize = 84;
|
||||
pub const SYS_RSEQ: usize = 334;
|
||||
pub const SYS_RT_SIGACTION: usize = 13;
|
||||
pub const SYS_RT_SIGPENDING: usize = 127;
|
||||
pub const SYS_RT_SIGPROCMASK: usize = 14;
|
||||
pub const SYS_RT_SIGQUEUEINFO: usize = 129;
|
||||
pub const SYS_RT_SIGRETURN: usize = 15;
|
||||
pub const SYS_RT_SIGSUSPEND: usize = 130;
|
||||
pub const SYS_RT_SIGTIMEDWAIT: usize = 128;
|
||||
pub const SYS_RT_TGSIGQUEUEINFO: usize = 297;
|
||||
pub const SYS_SCHED_GET_PRIORITY_MAX: usize = 146;
|
||||
pub const SYS_SCHED_GET_PRIORITY_MIN: usize = 147;
|
||||
pub const SYS_SCHED_GETAFFINITY: usize = 204;
|
||||
pub const SYS_SCHED_GETATTR: usize = 315;
|
||||
pub const SYS_SCHED_GETPARAM: usize = 143;
|
||||
pub const SYS_SCHED_GETSCHEDULER: usize = 145;
|
||||
pub const SYS_SCHED_RR_GET_INTERVAL: usize = 148;
|
||||
pub const SYS_SCHED_SETAFFINITY: usize = 203;
|
||||
pub const SYS_SCHED_SETATTR: usize = 314;
|
||||
pub const SYS_SCHED_SETPARAM: usize = 142;
|
||||
pub const SYS_SCHED_SETSCHEDULER: usize = 144;
|
||||
pub const SYS_SCHED_YIELD: usize = 24;
|
||||
pub const SYS_SECCOMP: usize = 317;
|
||||
pub const SYS_SECURITY: usize = 185;
|
||||
pub const SYS_SELECT: usize = 23;
|
||||
pub const SYS_SEMCTL: usize = 66;
|
||||
pub const SYS_SEMGET: usize = 64;
|
||||
pub const SYS_SEMOP: usize = 65;
|
||||
pub const SYS_SEMTIMEDOP: usize = 220;
|
||||
pub const SYS_SENDFILE: usize = 40;
|
||||
pub const SYS_SENDMMSG: usize = 307;
|
||||
pub const SYS_SENDMSG: usize = 46;
|
||||
pub const SYS_SENDTO: usize = 44;
|
||||
pub const SYS_SET_MEMPOLICY: usize = 238;
|
||||
pub const SYS_SET_ROBUST_LIST: usize = 273;
|
||||
pub const SYS_SET_THREAD_AREA: usize = 205;
|
||||
pub const SYS_SET_TID_ADDRESS: usize = 218;
|
||||
pub const SYS_SETDOMAINNAME: usize = 171;
|
||||
pub const SYS_SETFSGID: usize = 123;
|
||||
pub const SYS_SETFSUID: usize = 122;
|
||||
pub const SYS_SETGID: usize = 106;
|
||||
pub const SYS_SETGROUPS: usize = 116;
|
||||
pub const SYS_SETHOSTNAME: usize = 170;
|
||||
pub const SYS_SETITIMER: usize = 38;
|
||||
pub const SYS_SETNS: usize = 308;
|
||||
pub const SYS_SETPGID: usize = 109;
|
||||
pub const SYS_SETPRIORITY: usize = 141;
|
||||
pub const SYS_SETREGID: usize = 114;
|
||||
pub const SYS_SETRESGID: usize = 119;
|
||||
pub const SYS_SETRESUID: usize = 117;
|
||||
pub const SYS_SETREUID: usize = 113;
|
||||
pub const SYS_SETRLIMIT: usize = 160;
|
||||
pub const SYS_SETSID: usize = 112;
|
||||
pub const SYS_SETSOCKOPT: usize = 54;
|
||||
pub const SYS_SETTIMEOFDAY: usize = 164;
|
||||
pub const SYS_SETUID: usize = 105;
|
||||
pub const SYS_SETXATTR: usize = 188;
|
||||
pub const SYS_SHMAT: usize = 30;
|
||||
pub const SYS_SHMCTL: usize = 31;
|
||||
pub const SYS_SHMDT: usize = 67;
|
||||
pub const SYS_SHMGET: usize = 29;
|
||||
pub const SYS_SHUTDOWN: usize = 48;
|
||||
pub const SYS_SIGALTSTACK: usize = 131;
|
||||
pub const SYS_SIGNALFD: usize = 282;
|
||||
pub const SYS_SIGNALFD4: usize = 289;
|
||||
pub const SYS_SOCKET: usize = 41;
|
||||
pub const SYS_SOCKETPAIR: usize = 53;
|
||||
pub const SYS_SPLICE: usize = 275;
|
||||
pub const SYS_STAT: usize = 4;
|
||||
pub const SYS_STATFS: usize = 137;
|
||||
pub const SYS_STATX: usize = 332;
|
||||
pub const SYS_SWAPOFF: usize = 168;
|
||||
pub const SYS_SWAPON: usize = 167;
|
||||
pub const SYS_SYMLINK: usize = 88;
|
||||
pub const SYS_SYMLINKAT: usize = 266;
|
||||
pub const SYS_SYNC: usize = 162;
|
||||
pub const SYS_SYNC_FILE_RANGE: usize = 277;
|
||||
pub const SYS_SYNCFS: usize = 306;
|
||||
pub const SYS_SYSFS: usize = 139;
|
||||
pub const SYS_SYSINFO: usize = 99;
|
||||
pub const SYS_SYSLOG: usize = 103;
|
||||
pub const SYS_TEE: usize = 276;
|
||||
pub const SYS_TGKILL: usize = 234;
|
||||
pub const SYS_TIME: usize = 201;
|
||||
pub const SYS_TIMER_CREATE: usize = 222;
|
||||
pub const SYS_TIMER_DELETE: usize = 226;
|
||||
pub const SYS_TIMER_GETOVERRUN: usize = 225;
|
||||
pub const SYS_TIMER_GETTIME: usize = 224;
|
||||
pub const SYS_TIMER_SETTIME: usize = 223;
|
||||
pub const SYS_TIMERFD_CREATE: usize = 283;
|
||||
pub const SYS_TIMERFD_GETTIME: usize = 287;
|
||||
pub const SYS_TIMERFD_SETTIME: usize = 286;
|
||||
pub const SYS_TIMES: usize = 100;
|
||||
pub const SYS_TKILL: usize = 200;
|
||||
pub const SYS_TRUNCATE: usize = 76;
|
||||
pub const SYS_TUXCALL: usize = 184;
|
||||
pub const SYS_UMASK: usize = 95;
|
||||
pub const SYS_UMOUNT2: usize = 166;
|
||||
pub const SYS_UNAME: usize = 63;
|
||||
pub const SYS_UNLINK: usize = 87;
|
||||
pub const SYS_UNLINKAT: usize = 263;
|
||||
pub const SYS_UNSHARE: usize = 272;
|
||||
pub const SYS_USELIB: usize = 134;
|
||||
pub const SYS_USERFAULTFD: usize = 323;
|
||||
pub const SYS_USTAT: usize = 136;
|
||||
pub const SYS_UTIME: usize = 132;
|
||||
pub const SYS_UTIMENSAT: usize = 280;
|
||||
pub const SYS_UTIMES: usize = 235;
|
||||
pub const SYS_VFORK: usize = 58;
|
||||
pub const SYS_VHANGUP: usize = 153;
|
||||
pub const SYS_VMSPLICE: usize = 278;
|
||||
pub const SYS_VSERVER: usize = 236;
|
||||
pub const SYS_WAIT4: usize = 61;
|
||||
pub const SYS_WAITID: usize = 247;
|
||||
pub const SYS_WRITE: usize = 1;
|
||||
pub const SYS_WRITEV: usize = 20;
|
Reference in New Issue
Block a user