Commit Graph

1338 Commits

Author SHA1 Message Date
6cea03b871 Simplify current codes with TryFromNum 2023-05-04 16:49:22 +08:00
6ecc7dc557 Add crate int-to-c-enum 2023-05-04 16:49:22 +08:00
aec46295c4 Rewrite the Poller&Pollee with Observer&Subject 2023-05-04 14:41:42 +08:00
2b1ecdcfa6 Add support for epoll 2023-05-04 14:41:42 +08:00
c3152c4978 Rewrite FileTable with SlotVec 2023-05-04 14:41:42 +08:00
0abe40e0f8 Rename DirEntryVec to SlotVec 2023-05-04 14:41:42 +08:00
0fc707d38c Add support for pipe and poll 2023-05-04 14:41:42 +08:00
453d2ad0f0 Add keyable-arc 2023-05-04 14:41:42 +08:00
7e1584fca9 Update the README to describe code organization 2023-04-17 13:11:47 +08:00
53b8acf6f6 Add a LICENSE file 2023-04-17 11:34:14 +08:00
271a16d492 Reorganize the codebase 2023-04-10 14:49:39 +08:00
888853a6de Add mutex primitive and replace mutex in Jinux 2023-04-09 21:16:37 +08:00
5277886b5d Add Spinlock primitive with disabling IRQ 2023-04-09 21:16:37 +08:00
dbbf3a9db8 Add disabling IRQ 2023-04-09 21:16:37 +08:00
2ec6a0a5df Add the per-cpu variable interface 2023-04-09 21:16:37 +08:00
ec80d4ac4e add a banner 2023-04-06 12:17:58 +08:00
85076777f0 rewrite function logic with block 2023-04-06 12:17:58 +08:00
1a525454ef map all the segments of the ELF in a range 2023-04-06 12:17:58 +08:00
9ae2ca4c02 map segments with vnode 2023-04-06 12:17:58 +08:00
7bee03f91f fix mapping cow vmo's parent's pages with write access 2023-04-06 12:17:58 +08:00
d19dc09563 support dynamic linking 2023-04-06 12:17:58 +08:00
567ac612e5 support file-backed mmap 2023-04-06 12:17:58 +08:00
bfaf6bb051 add syscall pread64 2023-04-06 12:17:58 +08:00
66d72b0104 support loading shared object 2023-04-06 12:17:58 +08:00
5a2f3c94b0 Remove instruction pointer etc functions in UserSpace 2023-04-03 22:12:38 +08:00
207bc1e4c2 Enable interrupts when go back with UserEvent::Expcetion 2023-04-03 22:05:04 +08:00
9cad3d7252 Remove UserEvent::Fault 2023-04-03 22:05:04 +08:00
efe88f9d47 Remove the pub access in UserContext's fields 2023-04-03 22:05:04 +08:00
d7d2d2ce40 Add virtio input device license 2023-04-03 22:05:04 +08:00
cb1a117681 Extract x86 specific irq code 2023-04-03 22:05:04 +08:00
b3f4075bec Remove pod 2023-04-03 22:05:04 +08:00
4c7449d2c1 Refactor CpuContext; impl CpuException 2023-04-03 22:05:04 +08:00
fbcfbe19d1 Use target_arch instead of features 2023-04-03 22:05:04 +08:00
e0c0fc7937 Extract align_ext as a sparated crate 2023-04-03 22:05:04 +08:00
0fbad25503 Change the memory layout of CpuContext 2023-04-03 22:05:04 +08:00
d0268309ff Extract x86-specific code into arch/x86 2023-04-03 22:05:04 +08:00
b01987c721 Extract framebuffer out of framework 2023-04-03 22:05:04 +08:00
bed56703de Extract RTC out of framework 2023-04-03 22:05:04 +08:00
b02b29dde7 Add ProcFS 2023-04-03 14:41:33 +08:00
12b4e0637d Add DirEntryVec and use it to refine ramfs. 2023-04-03 14:41:33 +08:00
d0bcd2491f Rewrite dentry cache 2023-04-03 14:41:33 +08:00
a0f757d37c Add support for uncacheable and persistent fs 2023-04-03 14:41:33 +08:00
db449d4697 Add the basic observer pattern 2023-04-03 14:41:33 +08:00
0b15be894b support killing signal to process group 2023-04-02 15:05:37 +08:00
32f3f5c300 Support interrupting foreground job with Ctrl+C 2023-04-02 15:05:37 +08:00
ad76b0329a Fix the wrong metadata blocks for ramfs 2023-03-27 17:16:45 +08:00
16b435e310 fix dead lock in tty 2023-03-22 21:09:50 +08:00
6e29996720 Refactor functions in vm module 2023-03-22 16:29:45 +08:00
8c7b5d84d1 Refactor IoPort 2023-03-22 16:29:45 +08:00
ebfb199512 Rename structure 2023-03-22 16:29:45 +08:00