855 Commits

Author SHA1 Message Date
Yuke Peng
e0c0fc7937 Extract align_ext as a sparated crate 2023-04-03 22:05:04 +08:00
Yuke Peng
0fbad25503 Change the memory layout of CpuContext 2023-04-03 22:05:04 +08:00
Yuke Peng
d0268309ff Extract x86-specific code into arch/x86 2023-04-03 22:05:04 +08:00
Yuke Peng
b01987c721 Extract framebuffer out of framework 2023-04-03 22:05:04 +08:00
Yuke Peng
bed56703de Extract RTC out of framework 2023-04-03 22:05:04 +08:00
LI Qing
b02b29dde7 Add ProcFS 2023-04-03 14:41:33 +08:00
LI Qing
12b4e0637d Add DirEntryVec and use it to refine ramfs. 2023-04-03 14:41:33 +08:00
LI Qing
d0bcd2491f Rewrite dentry cache 2023-04-03 14:41:33 +08:00
LI Qing
a0f757d37c Add support for uncacheable and persistent fs 2023-04-03 14:41:33 +08:00
LI Qing
db449d4697 Add the basic observer pattern 2023-04-03 14:41:33 +08:00
Jianfeng Jiang
0b15be894b support killing signal to process group 2023-04-02 15:05:37 +08:00
Jianfeng Jiang
32f3f5c300 Support interrupting foreground job with Ctrl+C 2023-04-02 15:05:37 +08:00
LI Qing
ad76b0329a Fix the wrong metadata blocks for ramfs 2023-03-27 17:16:45 +08:00
Jianfeng Jiang
16b435e310 fix dead lock in tty 2023-03-22 21:09:50 +08:00
Yuke Peng
6e29996720 Refactor functions in vm module 2023-03-22 16:29:45 +08:00
Yuke Peng
8c7b5d84d1 Refactor IoPort 2023-03-22 16:29:45 +08:00
Yuke Peng
ebfb199512 Rename structure 2023-03-22 16:29:45 +08:00
Yuke Peng
90a390ecda Combine PhysFrame and VmFrame into one 2023-03-22 16:29:45 +08:00
Yuke Peng
8dc7bda147 Combine vm and mm modules into one 2023-03-22 16:29:45 +08:00
Yuke Peng
840fe53845 Remove x86_64_util 2023-03-22 16:29:45 +08:00
LI Qing
02731914dc Add support for getdents64 syscall 2023-03-22 10:51:01 +08:00
Jianfeng Jiang
44904f00c8 Add syscall pause 2023-03-16 21:03:51 +08:00
Jianfeng Jiang
72e0725a0e add syscall time 2023-03-16 21:02:41 +08:00
Jianfeng Jiang
1e83996d09 add syscall umask 2023-03-16 21:02:41 +08:00
LI Qing
eb2c09cd13 [ramfs] Fix the false judgement in rmdir 2023-03-16 17:11:58 +08:00
Jianfeng Jiang
ee01113761 Add shell cmd tests 2023-03-16 17:11:21 +08:00
Yuke Peng
6a90603200 Use modified trapframe 2023-03-15 14:54:07 +08:00
Jianfeng Jiang
45427da50e support returning Err when creating posix thread 2023-03-15 10:41:02 +08:00
Jianfeng Jiang
330e495560 refactor program loader 2023-03-15 10:41:02 +08:00
Jianfeng Jiang
63800a4f65 support running shell scripts 2023-03-15 10:41:02 +08:00
Jianfeng Jiang
896910b44a load elf from file 2023-03-15 10:41:02 +08:00
Jianfeng Jiang
57297e0cd5 support running shebang executables 2023-03-15 10:41:02 +08:00
Jianfeng Jiang
a084c3b687 spilt kernel thread from process 2023-03-15 10:41:02 +08:00
Tate, Hongliang Tian
8f8649bfc1 update README files 2023-03-14 23:46:17 +08:00
Yuke Peng
d4453b341f Rename variables and refactor KernelStack::new 2023-03-14 15:22:49 +08:00
Yuke Peng
3e9c4a8d45 Remove Cell 2023-03-14 15:22:49 +08:00
Yuke Peng
39ea6a417c Put Framework public APIs in categories 2023-03-14 15:22:49 +08:00
Yuke Peng
cdc32f299c Use bits in frame_index as need_alloc flag 2023-03-14 15:22:49 +08:00
Yuke Peng
9bc9aa180d Pass argument to qemu 2023-03-14 15:22:49 +08:00
Yuke Peng
eb2b951f7c Reuse trapframe 2023-03-14 15:22:49 +08:00
Yuke Peng
91b9501a1b Replace frame allocator with buddy system allocator 2023-03-14 15:22:49 +08:00
Yuke Peng
7fa72d2c3e Update buddy system allocator, remove unused crate 2023-03-14 15:22:49 +08:00
LI Qing
2aeefd9850 Add support for utimensat syscall 2023-03-13 22:53:16 +08:00
Jianfeng Jiang
6193770d00 refactor cargo-component tests 2023-03-08 16:27:29 +08:00
Jianfeng Jiang
394e146f3a add reexport test 2023-03-08 16:27:29 +08:00
Jianfeng Jiang
99e6ffb7f8 support controlling trait methods 2023-03-08 16:27:29 +08:00
Yuke Peng
cd2d516be1 Reuse x86::apic 2023-03-08 16:21:33 +08:00
LI Qing
691b8cd598 Cancel all predefined rules of ramdisk makefile 2023-03-08 16:19:53 +08:00
LI Qing
1f3f91567a Add support for dup and dup2 2023-03-08 12:01:28 +08:00
Yuke Peng
4d3539f5ea Remove Upsafecell; Fix kernel cannot be tested bug 2023-03-08 12:00:04 +08:00