171 Commits

Author SHA1 Message Date
LI Qing
ce2e0cee92 Refine Devpts with new metadata api 2024-06-11 18:09:23 +08:00
LI Qing
494c88e993 Refine ProcFs by improving the use of locks 2024-06-11 18:09:23 +08:00
LI Qing
6ff8497101 Refine RamFs by extracting immutable metadata from the lock 2024-06-11 18:09:23 +08:00
YanWQ-monad
e7298bb276 Fix the loading of dynamic linking program 2024-06-11 17:54:37 +08:00
Anmin Liu
9f67fcdc58 Reuse Rxbuffer and update qemu_args.sh for vsock 2024-06-11 17:51:36 +08:00
Anmin Liu
878e8a88f4 Support poll multiple packets 2024-06-11 17:51:36 +08:00
Anmin Liu
646406115e Optimize vsock code structure 2024-06-11 17:51:36 +08:00
Anmin Liu
60dd17fdd3 Support calling from inside via vsock 2024-06-11 17:51:36 +08:00
Anmin Liu
48f69c25a9 Support nonblocking option 2024-06-11 17:51:36 +08:00
Anmin Liu
7f6ef5e12d Add connecting status 2024-06-11 17:51:36 +08:00
Anmin Liu
50a2aead52 Add vsock_server test in ci 2024-06-11 17:51:36 +08:00
Anmin Liu
ad140cec3c Implement vsock socket layer 2024-06-11 17:51:36 +08:00
Anmin Liu
83a7937334 Make vsock device optional 2024-06-11 17:51:36 +08:00
Anmin Liu
be45f0ee72 Fix format and clippy errors 2024-06-11 17:51:36 +08:00
Anmin Liu
52f808e315 Implement vsock driver 2024-06-11 17:51:36 +08:00
Jianfeng Jiang
33a7da9991 Fix typos in API documentation 2024-06-09 22:57:14 +08:00
Weijie Liu
07caaa5b3f Add full epoll_pwait 2024-06-08 17:23:06 +08:00
Chen Chengjun
0d82262beb Support update rusage in wait4 syscall 2024-06-07 17:08:49 +08:00
Chen Chengjun
c85438353f Add syscall getrusage 2024-06-07 17:08:49 +08:00
Jianfeng Jiang
57fc6a5402 Support parent death signal & Refactor do_exit 2024-06-07 17:07:16 +08:00
LI Qing
c6aa9f9ee8 Limit the number of segments in single bio request 2024-06-05 16:13:59 +08:00
Jianfeng Jiang
c7cda1df28 Make each pausing thread has a seperate is_interruped 2024-06-05 11:47:28 +08:00
Jianfeng Jiang
0dd90cad3c Fix bug: Ctrl+C does not send signal 2024-06-05 11:47:28 +08:00
Jianfeng Jiang
6f3a483be6 Check only not blocked signals in Pauser 2024-06-05 11:47:28 +08:00
Jianfeng Jiang
5cde55da3d Unregister observer when timeout is reached 2024-06-05 11:47:28 +08:00
StanPlatinum
6e612fc730 Add syscall capget/capset 2024-06-04 19:50:08 +08:00
Fabing Li
8e1aeaf578 Add dup3 syscall and fix EventFile 2024-06-04 16:02:58 +08:00
Ruihan Li
e0c6c29481 Fix memory leak of Task structures 2024-06-04 14:47:18 +08:00
Zhenchen Wang
faf9cf7da8 Fix some issues about naming, function parameters, and comments, and redefined the method for bind mount.
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2024-06-04 14:38:52 +08:00
Zhenchen Wang
980ffb5a98 Add syscall umount.
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2024-06-04 14:38:52 +08:00
Zhenchen Wang
a893ceca4a Add syscall mount
Signed-off-by: Zhenchen Wang <m202372036@hust.edu.cn>
2024-06-04 14:38:52 +08:00
Ruihan Li
ff83ce7667 Deny dead_code and unused_variables at crate level 2024-06-04 10:25:45 +08:00
Ruihan Li
9107a1771e Allow dead_code and unused_variables at file level 2024-06-04 10:25:45 +08:00
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 VmFrames
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