Commit Graph

127 Commits

Author SHA1 Message Date
Weijie Liu 2ecca7af6b Add dummy syscall sched_getaffinity 2024-06-01 20:10:09 +08:00
jellllly420 e1480f94ee fix: enable timely delivery of POSIX signals while busy-looping 2024-06-01 20:08:11 +08:00
jellllly420 5a23de1932 fix: fully use ThreadOptions while building new kernel thread 2024-06-01 20:08:11 +08:00
Fabing Li 34e9d71fe4 Add condition variable implementation 2024-05-31 20:25:31 +08:00
Jianfeng Jiang c04fd0c9a0 Add syscall sendfile 2024-05-31 16:10:46 +08:00
Jianfeng Jiang 14ada9000a Add read_at and write_at for FileLike and InodeHandle 2024-05-31 16:10:46 +08:00
Chen Chengjun e22d78f04d Enable tasklet mechanism 2024-05-31 16:05:58 +08:00
Chen Chengjun 558248a070 Enable softirq mechanism 2024-05-31 16:05:58 +08:00
Chen Chengjun c02eacd50c Use deny(unsafe_code) instead of forbid(unsafe_code) 2024-05-31 16:05:58 +08:00
skpupil 4101d8328a Add syscall creat 2024-05-31 15:19:17 +08:00
HaiQiu1998 85e292ce7e Fix typo 2024-05-23 09:02:47 +08:00
Jianfeng Jiang 07fbbcfd8c Add syscall clone3 2024-05-21 19:22:13 +08:00
YanWQ-monad a5707b4ddc Extract OS-specific part from `UserContextApi` 2024-05-21 09:53:37 +08:00
Chen Chengjun 2002db5481 Add wait_until_or_cancelled API to WaitQueue 2024-05-20 16:09:27 +08:00
Chen Chengjun 2d17177cb5 Re-implement the alarm syscall 2024-05-20 16:09:27 +08:00
Chen Chengjun b226928349 Remove the timer module from the aster-frame and adjust the related code 2024-05-20 16:09:27 +08:00
Chen Chengjun d019de29f9 Add abstractions for Clock and Timer 2024-05-20 16:09:27 +08:00
YanWQ-monad 0d5131c822 Extract x86-specific syscall dispatch to arch/x86 2024-05-17 21:29:04 +08:00
YanWQ-monad 82220748c0 Use a seedable RNG instead of `getrandom` crate 2024-05-17 10:28:18 +08:00
Jianfeng Jiang b11e6d2d62 Add syscall accept4 2024-05-16 19:17:38 +08:00
Jianfeng Jiang ea25157790 Support mmap shared anonymous memory 2024-05-16 19:13:32 +08:00
Jianfeng Jiang 89b21ba3b4 Add syscall rt_sigsuspend 2024-05-16 19:10:04 +08:00
Chen Chengjun 25b7007ffa Improve the read/write efficiency of Vmo 2024-05-16 18:58:51 +08:00
LI Qing f4ea23b72c Revise the pages() method in the page cache to only return a reference 2024-05-16 18:54:39 +08:00
LI Qing 770a123415 Change the return value of dup() for Vmo<Rights> 2024-05-16 18:54:39 +08:00
LI Qing e6b0fd8aa3 Optimize the RamFs to reduce the use of redundant locks 2024-05-16 18:54:39 +08:00
LI Qing 27bcece750 Optimize the `ThreadStatus` to be lock-free 2024-05-16 18:54:39 +08:00
LI Qing 0eaa6e637d Optimize the `SigQueues` to return early without lock 2024-05-16 18:54:39 +08:00
Zhenchen Wang 8bcadee540 Extract dentry.rs and mount.rs to path module, rename Dentry and DentryMnt and check usage of pub.
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2024-05-16 13:30:52 +08:00
Zhenchen Wang 8d18a12385 Refactor DentryMnt and fix some issues
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2024-05-16 13:30:52 +08:00
plucky 60fa4d104a Rename struct Path to struct DentryMnt
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2024-05-16 13:30:52 +08:00
plucky 6d486c6c01 Add struct Path for VFS
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2024-05-16 13:30:52 +08:00
Jianfeng Jiang 078f9a8891 Add syscall eventfd and eventfd2 2024-05-15 21:52:17 +08:00
Ruihan Li 4e1d98a323 Poll interfaces at the right time 2024-05-15 18:32:02 +08:00
Jianfeng Jiang 5189f889a3 Support Channel sending data which does not implement Copy 2024-05-13 20:04:09 +08:00
Zhang Junyang 989970429a Refactor the definition of page properties and permissions 2024-05-10 19:07:05 +08:00
Zhang Junyang ef1ab72ebe Let page table own frames and remove MemorySet 2024-05-10 19:07:05 +08:00
Zhang Junyang 82bdadf754 Add a PTE extension mechanism 2024-05-10 19:07:05 +08:00
Zhang Junyang 24a868a670 Implement an efficient ranged page table 2024-05-10 19:07:05 +08:00
Chuandong Li a6055bb092 Fix a deadlock issue in ramfs 2024-05-10 11:05:41 +08:00
Chen Chengjun c3d0c59041 Fix the logics for the coarse resolution clock id in VDSO. 2024-05-09 17:34:10 +08:00
Chen Chengjun ff3ff0a598 Fix the potential bugs of read and write in Vmar 2024-05-09 17:23:55 +08:00
Zhang Junyang d1990869ae Make ID allocator a separate crate and use it in the frame 2024-05-09 14:35:12 +08:00
LI Qing 8f3b1f8ddf Reduce some redundant usage of `current!` and `current_thread!` 2024-05-09 14:33:21 +08:00
LI Qing 98a2e623e2 Avoid computation of log message arguments in syscall handler 2024-05-09 14:33:21 +08:00
Zhang Junyang da5873e990 Allow implementations for dynamically borrowed `RwMutex` guards 2024-05-09 10:41:21 +08:00
Zhang Junyang d15b4d9115 Allow dynamically borrowed mutex guard 2024-05-09 10:41:21 +08:00
Zhang Junyang 11e4984df2 Allow dynamically borrowed `RwLock` guards 2024-05-09 10:41:21 +08:00
Fabing Li c2d09675b3 Rename FileDescripter to FileDesc 2024-05-09 10:23:46 +08:00
Chen Chengjun 0594a73ac9 Improve the efficiency of unmap in VmMappingInner 2024-05-08 16:05:18 +08:00