2340 Commits

Author SHA1 Message Date
Yuke Peng
e7b9ba116d Use machine q35 2023-05-06 16:51:51 +08:00
LI Qing
a2acf56765 Move some syscall specific structs from fs to syscall module 2023-05-04 17:12:14 +08:00
Jianfeng Jiang
6cea03b871 Simplify current codes with TryFromNum 2023-05-04 16:49:22 +08:00
Jianfeng Jiang
6ecc7dc557 Add crate int-to-c-enum 2023-05-04 16:49:22 +08:00
LI Qing
aec46295c4 Rewrite the Poller&Pollee with Observer&Subject 2023-05-04 14:41:42 +08:00
LI Qing
2b1ecdcfa6 Add support for epoll 2023-05-04 14:41:42 +08:00
LI Qing
c3152c4978 Rewrite FileTable with SlotVec 2023-05-04 14:41:42 +08:00
LI Qing
0abe40e0f8 Rename DirEntryVec to SlotVec 2023-05-04 14:41:42 +08:00
LI Qing
0fc707d38c Add support for pipe and poll 2023-05-04 14:41:42 +08:00
LI Qing
453d2ad0f0 Add keyable-arc 2023-05-04 14:41:42 +08:00
Tate, Hongliang Tian
7e1584fca9 Update the README to describe code organization 2023-04-17 13:11:47 +08:00
Tate, Hongliang Tian
53b8acf6f6 Add a LICENSE file 2023-04-17 11:34:14 +08:00
Jianfeng Jiang
271a16d492 Reorganize the codebase 2023-04-10 14:49:39 +08:00
ClawSeven
888853a6de Add mutex primitive and replace mutex in Jinux 2023-04-09 21:16:37 +08:00
ClawSeven
5277886b5d Add Spinlock primitive with disabling IRQ 2023-04-09 21:16:37 +08:00
ClawSeven
dbbf3a9db8 Add disabling IRQ 2023-04-09 21:16:37 +08:00
ClawSeven
2ec6a0a5df Add the per-cpu variable interface 2023-04-09 21:16:37 +08:00
Jianfeng Jiang
ec80d4ac4e add a banner 2023-04-06 12:17:58 +08:00
Jianfeng Jiang
85076777f0 rewrite function logic with block 2023-04-06 12:17:58 +08:00
Jianfeng Jiang
1a525454ef map all the segments of the ELF in a range 2023-04-06 12:17:58 +08:00
Jianfeng Jiang
9ae2ca4c02 map segments with vnode 2023-04-06 12:17:58 +08:00
Jianfeng Jiang
7bee03f91f fix mapping cow vmo's parent's pages with write access 2023-04-06 12:17:58 +08:00
Jianfeng Jiang
d19dc09563 support dynamic linking 2023-04-06 12:17:58 +08:00
Jianfeng Jiang
567ac612e5 support file-backed mmap 2023-04-06 12:17:58 +08:00
Jianfeng Jiang
bfaf6bb051 add syscall pread64 2023-04-06 12:17:58 +08:00
Jianfeng Jiang
66d72b0104 support loading shared object 2023-04-06 12:17:58 +08:00
Yuke Peng
5a2f3c94b0 Remove instruction pointer etc functions in UserSpace 2023-04-03 22:12:38 +08:00
Yuke Peng
207bc1e4c2 Enable interrupts when go back with UserEvent::Expcetion 2023-04-03 22:05:04 +08:00
Yuke Peng
9cad3d7252 Remove UserEvent::Fault 2023-04-03 22:05:04 +08:00
Yuke Peng
efe88f9d47 Remove the pub access in UserContext's fields 2023-04-03 22:05:04 +08:00
Yuke Peng
d7d2d2ce40 Add virtio input device license 2023-04-03 22:05:04 +08:00
Yuke Peng
cb1a117681 Extract x86 specific irq code 2023-04-03 22:05:04 +08:00
Yuke Peng
b3f4075bec Remove pod 2023-04-03 22:05:04 +08:00
Yuke Peng
4c7449d2c1 Refactor CpuContext; impl CpuException 2023-04-03 22:05:04 +08:00
Yuke Peng
fbcfbe19d1 Use target_arch instead of features 2023-04-03 22:05:04 +08:00
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