Commit Graph

1338 Commits

Author SHA1 Message Date
9d06f60ecc Add syscall getsockopt 2023-07-10 11:53:46 +08:00
dcfbeb270d Add syscall execveat 2023-07-10 11:53:46 +08:00
5815f248fc Add syscall getrandom 2023-07-10 11:53:46 +08:00
3600a3a439 Add support for chmod, fchmod, fchmodat 2023-07-09 11:07:42 +08:00
743344e3fc Add support for statfs and fstatfs 2023-07-09 11:07:42 +08:00
9f1680d0f3 Only add task when waking up a sleeping task 2023-07-07 19:12:07 +08:00
d692c102ae Support compressed initramfs image 2023-07-03 14:51:10 +08:00
fba4a9405e Support the wait queue that allows sleeping 2023-07-03 13:22:44 +08:00
9edcbe743d Implement the RwMutex based on blocking 2023-07-03 13:22:44 +08:00
9dbbe1f5c9 Implement the RwLock based on spinning 2023-07-03 13:22:44 +08:00
b3a7899428 Re-implement mutex with waiter queue 2023-07-03 13:22:44 +08:00
25b45326ab Optimize the atomic ordering in spin lock 2023-07-03 13:22:44 +08:00
7401eee455 Reimplement the DisableLocalIrqGuard 2023-07-03 13:22:44 +08:00
78de1af348 Update spin lock users to lock_irq_disabled() 2023-07-03 13:22:44 +08:00
ba4121cd6a Add spin lock without disabling local irq 2023-07-03 13:22:44 +08:00
e2f3932cb8 Add syscall test framwork from gvisor 2023-07-03 13:20:20 +08:00
8e199f46ef Import inherit-methods-macro from seperate repo 2023-06-28 13:22:15 +08:00
893b174dc9 Support x2APIC 2023-06-27 20:52:41 +08:00
0e8b2aff7b Make heap allocator interrupt safe 2023-06-27 19:45:01 +08:00
61c2f6ee82 Refactor the tty output logic 2023-06-27 19:45:01 +08:00
288374ee09 Fix dead lock in canonical mode 2023-06-27 19:45:01 +08:00
bc3b849613 [cpio-decoder] Fix the invalid file type 2023-06-27 18:29:46 +08:00
f301c70708 [cpio-decoder] Use TryFromInt for enum type 2023-06-27 12:52:14 +08:00
4c4366ccb0 Open stdio by opening /dev/tty 2023-06-05 17:34:16 +08:00
7803d9037e Add uninit option for VmAllocOption 2023-06-03 21:10:53 +08:00
7304e06c88 Add virtio net device driver 2023-06-01 14:39:19 +08:00
2985cdced6 Replace Mutex with Spinlock in tty to avoid deadlock 2023-05-31 20:59:01 +08:00
2b59a406a6 Add network syscalls 2023-05-31 11:50:50 +08:00
8719234dc2 Implement tcp&udp socket 2023-05-31 11:50:50 +08:00
f437dc6244 Add network iface 2023-05-31 11:50:50 +08:00
6fc333b416 Add network test 2023-05-31 11:50:50 +08:00
d96fe31e36 Fix typos and add utils 2023-05-31 11:50:50 +08:00
b2f2c55c9b Impl SafePtr 2023-05-30 21:32:25 +08:00
0c9495b726 Extract TRights into crate jinux_rights 2023-05-30 21:32:25 +08:00
3471843793 Fix virtio no interrupt received bug 2023-05-30 21:32:25 +08:00
39380f09b9 Use volatile read/write for the MMIO 2023-05-30 21:32:25 +08:00
358f44b3c0 Implement VmIo for smart pointers to VmIo 2023-05-30 21:32:25 +08:00
6f321ad7b7 Add support for DevFS 2023-05-29 19:02:35 +08:00
cc2ab9d5d4 Add gettimeofday and clock_gettime 2023-05-29 18:53:12 +08:00
47811a0f38 Refine the contents of initramfs 2023-05-29 18:53:12 +08:00
7e4a96fcdf Fix the invalid fd for F_GETFL and F_SETFL 2023-05-27 09:10:25 +08:00
41a1cfd169 Add F_GETFL and F_SETFL for fcntl 2023-05-26 11:05:17 +08:00
b34dc85e7e Remove the as_any_ref() function for trait 2023-05-25 15:01:18 +08:00
902b0421c3 Use bootloader to load initramfs 2023-05-25 14:59:49 +08:00
dba89b508d Extend Require macro to support impl block 2023-05-09 10:44:11 +08:00
1ae1881240 Add support for select 2023-05-06 17:07:15 +08:00
42ecbe1b04 Change physical address accees to MMIO 2023-05-06 16:51:51 +08:00
5656805520 Impl MMIO access method 2023-05-06 16:51:51 +08:00
e7b9ba116d Use machine q35 2023-05-06 16:51:51 +08:00
a2acf56765 Move some syscall specific structs from fs to syscall module 2023-05-04 17:12:14 +08:00