Commit Graph

1893 Commits

Author SHA1 Message Date
LI Qing 1ae1881240 Add support for select 2023-05-06 17:07:15 +08:00
Yuke Peng 42ecbe1b04 Change physical address accees to MMIO 2023-05-06 16:51:51 +08:00
Yuke Peng 5656805520 Impl MMIO access method 2023-05-06 16:51:51 +08:00
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