Commit Graph

913 Commits

Author SHA1 Message Date
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 39c2e17f75 Fix OSDK publish CI panics 2024-06-09 23:01:52 +08:00
Jianfeng Jiang 33a7da9991 Fix typos in API documentation 2024-06-09 22:57:14 +08:00
Jianfeng Jiang 6e59617fc7 Add missing docs in aster-frame 2024-06-09 22:57:14 +08:00
Jianfeng Jiang a93f922a25 Add description and license for align-ext 2024-06-09 22:57:14 +08:00
Jianfeng Jiang e192579405 Fix broken link in documentation 2024-06-09 22:57:14 +08:00
Jianfeng Jiang 6cf28751c6 Not add project_type if the manifest is in workspace root 2024-06-09 22:55:01 +08:00
Jianfeng Jiang 3b95191f7e Subcommand `new` should not parse CommonArgs 2024-06-09 22:55:01 +08:00
Jianfeng Jiang 1391ff59f2 Polish OSDK documentation 2024-06-09 22:55:01 +08:00
Weijie Liu 07caaa5b3f Add full epoll_pwait 2024-06-08 17:23:06 +08:00
Chen Chengjun 9484d35730 Update Linux compatibility document 2024-06-07 17:08:49 +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
YanWQ-monad e8c8c027c5 Declare `kernel_task_entry` as `extern "C"` 2024-06-07 16:59:29 +08:00
Zhang Junyang 74e4623e70 Let OSDK allow specifying additional boot drive options 2024-06-07 10:46:06 +08:00
Zhang Junyang 37e23a16a3 Bring OSDK's full support of QCOW2 booting 2024-06-07 10:46:06 +08:00
LI Qing c6aa9f9ee8 Limit the number of segments in single bio request 2024-06-05 16:13:59 +08:00
LI Qing a883b65187 Refine the scripts for syscall test 2024-06-05 14:50:11 +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 232e62b053 Redo segment with `Arc` rather than creating `SegmentHeadMeta` 2024-06-03 22:16:02 +08:00
Zhang Junyang 3fa3d7f15a Revised page table activation and drop management 2024-06-03 22:16:02 +08:00
Zhang Junyang 7095b37e7e Refactor the source structure in `aster_frame::mm` 2024-06-03 22:16:02 +08:00
Zhang Junyang e8595b95fe Add missing safety explanations for the page table node 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 03a39c94ca Refactor the representation of page metadata 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 141fbeaf0c Optimize the page table implementation using the frame metadata
This PR also refactored the page table cursor, distinguishing `Cursor` from `CursorMut`, and split
a lot of functions to reduce dynamic condition checking.

There are also other sanitizations performed, including refactoring PTE's `is_huge` API to `is_last`,
hardening tracked mapping checks, and making `VmFrame` any size.
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 d24ddaae66 Add itimer-related syscall tests 2024-06-03 20:03:46 +08:00