Zhang Junyang
7095b37e7e
Refactor the source structure in aster_frame::mm
2024-06-03 22:16:02 +08:00
Zhang Junyang
3579d88aa6
Fortify the metadata memory model and adjust the Page
casting APIs
2024-06-03 22:16:02 +08:00
Zhang Junyang
14e1b1a9fc
Rename various concepts related to memory management
2024-06-03 22:16:02 +08:00
Zhang Junyang
39aa31a69d
Remove the VmIO
implementation of VmSpace
2024-06-03 22:16:02 +08:00
Zhang Junyang
69d464fc6b
Use metadata to track VmFrame
s
...
In this commit, the frame metadata storage schema is implemented. The bootstrap process is refactored
and a boot page table is introduced to perform early stage metadata mapping. The metadata is then used
to track `VmFrame`s instead of the former `Arc` approach.
2024-06-03 22:16:02 +08:00
Chen Chengjun
c5ec2e181e
Add itimer-related syscalls
2024-06-03 20:03:46 +08:00
Chen Chengjun
13fd173b24
Enable Timer to set an absolute time
2024-06-03 20:03:46 +08:00
Chen Chengjun
e952a16954
Support more clock ids
2024-06-03 20:03:46 +08:00
Chen Chengjun
c84efe7a90
Introduce CPU clock and CPU timer
2024-06-03 20:03:46 +08:00
Ruihan Li
a664f1a9fc
Revise the public APIs of WaitQueue
2024-06-03 15:45:56 +08:00
anbo
901bccadfe
Add syscall rt_sigpending
2024-06-03 15:30:52 +08:00
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