Skip to content

Commit 6d01060

Browse files
committed
syscall: Remove pselect syscall, add readv and writev
1 parent a01b341 commit 6d01060

3 files changed

Lines changed: 102 additions & 120 deletions

File tree

kernel/src/syscall/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@ pub fn dispatch(
8787
numbers::FTRUNCATE => sys_unimp!("ftruncate", Err(Errno::ENOSYS)),
8888
numbers::FALLOCATE => sys_unimp!("fallocate", Err(Errno::ENOSYS)),
8989
numbers::UTIMENSAT => sys_unimp!("utimensat", Err(Errno::ENOSYS)),
90-
numbers::PSELECT => vfs::pselect(a0, a1.into(), a2.into(), a3.into(), a4.into(), a5.into()),
9190
numbers::MKNODAT => sys_unimp!("mknodat", Err(Errno::ENOSYS)),
9291
numbers::READDIR => sys_unimp!("readdir", Err(Errno::ENOSYS)),
9392
numbers::GETCWD => vfs::getcwd(a0.into(), a1),

kernel/src/syscall/numbers.rs

Lines changed: 102 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
#![allow(unused)]
2-
31
pub const EXIT: usize = 0;
42
pub const SYSLOG: usize = 1;
53
pub const GETUNAME: usize = 2;
@@ -26,106 +24,105 @@ pub const WAITID: usize = 22;
2624
pub const WAITPID: usize = 23;
2725
pub const READ: usize = 24;
2826
pub const PREAD: usize = 25;
29-
pub const WRITE: usize = 26;
30-
pub const PWRITE: usize = 27;
31-
pub const SEEK: usize = 28;
32-
pub const IOCTL: usize = 29;
33-
pub const OPENAT: usize = 30;
34-
pub const CLOSE: usize = 31;
35-
pub const FSTAT: usize = 32;
36-
pub const FSTATAT: usize = 33;
37-
pub const STATVFS: usize = 34;
38-
pub const FSTATVFS: usize = 35;
39-
pub const FACCESSAT: usize = 36;
40-
pub const FCNTL: usize = 37;
41-
pub const FTRUNCATE: usize = 38;
42-
pub const FALLOCATE: usize = 39;
43-
pub const UTIMENSAT: usize = 40;
44-
pub const PSELECT: usize = 41;
45-
pub const MKNODAT: usize = 42;
46-
pub const READDIR: usize = 43;
47-
pub const GETCWD: usize = 44;
48-
pub const CHDIR: usize = 45;
49-
pub const FCHDIR: usize = 46;
50-
pub const MKDIRAT: usize = 47;
51-
pub const RMDIRAT: usize = 48;
52-
pub const GETDENTS: usize = 49;
53-
pub const RENAMEAT: usize = 50;
54-
pub const FCHMOD: usize = 51;
55-
pub const FCHMODAT: usize = 52;
56-
pub const FCHOWNAT: usize = 53;
57-
pub const LINKAT: usize = 54;
58-
pub const SYMLINKAT: usize = 55;
59-
pub const UNLINKAT: usize = 56;
60-
pub const READLINKAT: usize = 57;
61-
pub const FLOCK: usize = 58;
62-
pub const PPOLL: usize = 59;
63-
pub const DUP: usize = 60;
64-
pub const DUP3: usize = 61;
65-
pub const SYNC: usize = 62;
66-
pub const FSYNC: usize = 63;
67-
pub const FDATASYNC: usize = 64;
68-
pub const GETGROUPS: usize = 65;
69-
pub const SETGROUPS: usize = 66;
70-
pub const GETSID: usize = 67;
71-
pub const SETSID: usize = 68;
72-
pub const SETUID: usize = 69;
73-
pub const GETUID: usize = 70;
74-
pub const SETGID: usize = 71;
75-
pub const GETGID: usize = 72;
76-
pub const GETEUID: usize = 73;
77-
pub const SETEUID: usize = 74;
78-
pub const GETEGID: usize = 75;
79-
pub const SETEGID: usize = 76;
80-
pub const GETPGID: usize = 77;
81-
pub const SETPGID: usize = 78;
82-
pub const GETRESUID: usize = 79;
83-
pub const SETRESUID: usize = 80;
84-
pub const GETRESGID: usize = 81;
85-
pub const SETRESGID: usize = 82;
86-
pub const SETREUID: usize = 83;
87-
pub const SETREGID: usize = 84;
88-
pub const UMASK: usize = 85;
89-
pub const PIPE: usize = 86;
90-
pub const FUTEX_WAIT: usize = 87;
91-
pub const FUTEX_WAKE: usize = 88;
92-
pub const THREAD_CREATE: usize = 89;
93-
pub const THREAD_KILL: usize = 90;
94-
pub const THREAD_EXIT: usize = 91;
95-
pub const THREAD_SETNAME: usize = 92;
96-
pub const THREAD_GETNAME: usize = 93;
97-
pub const TIMER_CREATE: usize = 94;
98-
pub const TIMER_SET: usize = 95;
99-
pub const TIMER_DELETE: usize = 96;
100-
pub const ITIMER_GET: usize = 97;
101-
pub const ITIMER_SET: usize = 98;
102-
pub const CLOCK_GET: usize = 99;
103-
pub const CLOCK_GETRES: usize = 100;
104-
pub const SLEEP: usize = 101;
105-
pub const YIELD: usize = 102;
106-
pub const CHROOT: usize = 103;
107-
pub const MOUNT: usize = 104;
108-
pub const UMOUNT: usize = 105;
109-
pub const SWAPON: usize = 106;
110-
pub const SWAPOFF: usize = 107;
111-
pub const SOCKET: usize = 108;
112-
pub const SOCKETPAIR: usize = 109;
113-
pub const SHUTDOWN: usize = 110;
114-
pub const BIND: usize = 111;
115-
pub const CONNECT: usize = 112;
116-
pub const ACCEPT: usize = 113;
117-
pub const LISTEN: usize = 114;
118-
pub const GETPEERNAME: usize = 115;
119-
pub const GETSOCKNAME: usize = 116;
120-
pub const GETSOCKOPT: usize = 117;
121-
pub const SETSOCKOPT: usize = 118;
122-
pub const SENDMSG: usize = 119;
123-
pub const RECVMSG: usize = 120;
124-
pub const GETENTROPY: usize = 121;
125-
pub const GETRUSAGE: usize = 122;
126-
pub const GETRLIMIT: usize = 123;
127-
pub const SETRLIMIT: usize = 124;
128-
pub const GETPRIORITY: usize = 125;
129-
pub const SETPRIORITY: usize = 126;
130-
pub const SCHED_GETPARAM: usize = 127;
131-
pub const SCHED_SETPARAM: usize = 128;
27+
pub const READV: usize = 26;
28+
pub const WRITE: usize = 27;
29+
pub const PWRITE: usize = 28;
30+
pub const WRITEV: usize = 29;
31+
pub const SEEK: usize = 30;
32+
pub const IOCTL: usize = 31;
33+
pub const OPENAT: usize = 32;
34+
pub const CLOSE: usize = 33;
35+
pub const FSTAT: usize = 34;
36+
pub const FSTATAT: usize = 35;
37+
pub const STATVFS: usize = 36;
38+
pub const FSTATVFS: usize = 37;
39+
pub const FACCESSAT: usize = 38;
40+
pub const FCNTL: usize = 39;
41+
pub const FTRUNCATE: usize = 40;
42+
pub const FALLOCATE: usize = 41;
43+
pub const UTIMENSAT: usize = 42;
44+
pub const MKNODAT: usize = 43;
45+
pub const READDIR: usize = 44;
46+
pub const GETCWD: usize = 45;
47+
pub const CHDIR: usize = 46;
48+
pub const FCHDIR: usize = 47;
49+
pub const MKDIRAT: usize = 48;
50+
pub const RMDIRAT: usize = 49;
51+
pub const GETDENTS: usize = 50;
52+
pub const RENAMEAT: usize = 51;
53+
pub const FCHMOD: usize = 52;
54+
pub const FCHMODAT: usize = 53;
55+
pub const FCHOWNAT: usize = 54;
56+
pub const LINKAT: usize = 55;
57+
pub const SYMLINKAT: usize = 56;
58+
pub const UNLINKAT: usize = 57;
59+
pub const READLINKAT: usize = 58;
60+
pub const FLOCK: usize = 59;
61+
pub const PPOLL: usize = 60;
62+
pub const DUP: usize = 61;
63+
pub const DUP3: usize = 62;
64+
pub const SYNC: usize = 63;
65+
pub const FSYNC: usize = 64;
66+
pub const FDATASYNC: usize = 65;
67+
pub const GETGROUPS: usize = 66;
68+
pub const SETGROUPS: usize = 67;
69+
pub const GETSID: usize = 68;
70+
pub const SETSID: usize = 69;
71+
pub const SETUID: usize = 70;
72+
pub const GETUID: usize = 71;
73+
pub const SETGID: usize = 72;
74+
pub const GETGID: usize = 73;
75+
pub const GETEUID: usize = 74;
76+
pub const SETEUID: usize = 75;
77+
pub const GETEGID: usize = 76;
78+
pub const SETEGID: usize = 77;
79+
pub const GETPGID: usize = 78;
80+
pub const SETPGID: usize = 79;
81+
pub const GETRESUID: usize = 80;
82+
pub const SETRESUID: usize = 81;
83+
pub const GETRESGID: usize = 82;
84+
pub const SETRESGID: usize = 83;
85+
pub const SETREUID: usize = 84;
86+
pub const SETREGID: usize = 85;
87+
pub const UMASK: usize = 86;
88+
pub const PIPE: usize = 87;
89+
pub const FUTEX_WAIT: usize = 88;
90+
pub const FUTEX_WAKE: usize = 89;
91+
pub const THREAD_CREATE: usize = 90;
92+
pub const THREAD_KILL: usize = 91;
93+
pub const THREAD_EXIT: usize = 92;
94+
pub const THREAD_SETNAME: usize = 93;
95+
pub const THREAD_GETNAME: usize = 94;
96+
pub const TIMER_CREATE: usize = 95;
97+
pub const TIMER_SET: usize = 96;
98+
pub const TIMER_DELETE: usize = 97;
99+
pub const ITIMER_GET: usize = 98;
100+
pub const ITIMER_SET: usize = 99;
101+
pub const CLOCK_GET: usize = 100;
102+
pub const CLOCK_GETRES: usize = 101;
103+
pub const SLEEP: usize = 102;
104+
pub const YIELD: usize = 103;
105+
pub const CHROOT: usize = 104;
106+
pub const MOUNT: usize = 105;
107+
pub const UMOUNT: usize = 106;
108+
pub const SOCKET: usize = 107;
109+
pub const SOCKETPAIR: usize = 108;
110+
pub const SHUTDOWN: usize = 109;
111+
pub const BIND: usize = 110;
112+
pub const CONNECT: usize = 111;
113+
pub const ACCEPT: usize = 112;
114+
pub const LISTEN: usize = 113;
115+
pub const GETPEERNAME: usize = 114;
116+
pub const GETSOCKNAME: usize = 115;
117+
pub const GETSOCKOPT: usize = 116;
118+
pub const SETSOCKOPT: usize = 117;
119+
pub const SENDMSG: usize = 118;
120+
pub const RECVMSG: usize = 119;
121+
pub const GETENTROPY: usize = 120;
122+
pub const GETRUSAGE: usize = 121;
123+
pub const GETRLIMIT: usize = 122;
124+
pub const SETRLIMIT: usize = 123;
125+
pub const GETPRIORITY: usize = 124;
126+
pub const SETPRIORITY: usize = 125;
127+
pub const SCHED_GETPARAM: usize = 126;
128+
pub const SCHED_SETPARAM: usize = 127;

kernel/src/syscall/vfs.rs

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -556,20 +556,6 @@ pub fn ppoll(
556556
Ok(ready_count)
557557
}
558558

559-
pub fn pselect(
560-
nfds: usize,
561-
read_fds: VirtAddr,
562-
write_fds: VirtAddr,
563-
except_fds: VirtAddr,
564-
timeout: VirtAddr,
565-
sigmask: VirtAddr,
566-
) -> EResult<usize> {
567-
let _ = (except_fds, sigmask, timeout, write_fds, read_fds, nfds);
568-
// TODO
569-
warn!("pselect is a stub!");
570-
Ok(0)
571-
}
572-
573559
pub fn pipe(filedes: VirtAddr) -> EResult<()> {
574560
let mut filedes = UserPtr::<[i32; 2]>::new(filedes);
575561
let fds = {

0 commit comments

Comments
 (0)