Commit Graph

308 Commits

Author SHA1 Message Date
Jianfeng Jiang 38ee2cafcd Inherit vmo at page granularity 2023-07-21 10:57:04 +08:00
Jianfeng Jiang 2c33f5dae1 Removed unused vmo type 2023-07-21 10:57:04 +08:00
Jianfeng Jiang 38a78cc3ce Fix: fork vmo should be resizable if parent is resizable 2023-07-21 10:57:04 +08:00
Jianfeng Jiang 149e169b2c Drop parent once all inherited pages is committed by child 2023-07-21 10:57:04 +08:00
Jianfeng Jiang ad0ab0898a Refactor vmo inherit page from parent 2023-07-21 10:57:04 +08:00
Jianfeng Jiang c452fc35c6 Implement rescue for heap allocator 2023-07-20 13:29:48 +08:00
Jianfeng Jiang 9137ef434f Use docker as dev environment 2023-07-19 11:28:31 +08:00
Jianfeng Jiang bf961756b9 Set process executable path to interpreter path 2023-07-18 00:14:04 +08:00
Yuke Peng 15f3e46e3b Mark can_dma page in virtqueue 2023-07-13 22:57:56 +08:00
Yuke Peng 9bce8b879b Replace Location with PciDeviceLocation 2023-07-13 22:57:56 +08:00
Yuke Peng a47b98b160 Support IOMMU 2023-07-13 22:57:56 +08:00
Yuke Peng 829575b3a6 Upgrade POD and trapframe 2023-07-13 22:57:56 +08:00
Yuke Peng c21c25a7d5 Refactor page table 2023-07-13 22:57:56 +08:00
Jianfeng Jiang a5d719579d Remove redundant is_finished flag 2023-07-12 00:05:29 +08:00
Jianfeng Jiang 445fb8eb76 Support nonblocking ip sockets 2023-07-10 11:53:46 +08:00
Jianfeng Jiang 809e477bdf Reimplement writev 2023-07-10 11:53:46 +08:00
Jianfeng Jiang 0018ac4d63 Support TCSETSW and TCSETSF for ioctl 2023-07-10 11:53:46 +08:00
Jianfeng Jiang 3eab9cea6e clock_gettime supports clock_monotonic 2023-07-10 11:53:46 +08:00
Jianfeng Jiang db489f09a8 Support set status flag for socket 2023-07-10 11:53:46 +08:00
Jianfeng Jiang c7dda21e96 Remove special path in open 2023-07-10 11:53:46 +08:00
Jianfeng Jiang 9d06f60ecc Add syscall getsockopt 2023-07-10 11:53:46 +08:00
Jianfeng Jiang dcfbeb270d Add syscall execveat 2023-07-10 11:53:46 +08:00
Jianfeng Jiang 5815f248fc Add syscall getrandom 2023-07-10 11:53:46 +08:00
LI Qing 3600a3a439 Add support for chmod, fchmod, fchmodat 2023-07-09 11:07:42 +08:00
LI Qing 743344e3fc Add support for statfs and fstatfs 2023-07-09 11:07:42 +08:00
Jianfeng Jiang 9f1680d0f3 Only add task when waking up a sleeping task 2023-07-07 19:12:07 +08:00
LI Qing d692c102ae Support compressed initramfs image 2023-07-03 14:51:10 +08:00
Chuandong Li fba4a9405e Support the wait queue that allows sleeping 2023-07-03 13:22:44 +08:00
Chuandong Li 9edcbe743d Implement the `RwMutex` based on blocking 2023-07-03 13:22:44 +08:00
Chuandong Li 9dbbe1f5c9 Implement the `RwLock` based on spinning 2023-07-03 13:22:44 +08:00
Chuandong Li b3a7899428 Re-implement mutex with waiter queue 2023-07-03 13:22:44 +08:00
Chuandong Li 25b45326ab Optimize the atomic ordering in spin lock 2023-07-03 13:22:44 +08:00
Chuandong Li 7401eee455 Reimplement the DisableLocalIrqGuard 2023-07-03 13:22:44 +08:00
Chuandong Li 78de1af348 Update spin lock users to lock_irq_disabled() 2023-07-03 13:22:44 +08:00
Chuandong Li ba4121cd6a Add spin lock without disabling local irq 2023-07-03 13:22:44 +08:00
LI Qing e2f3932cb8 Add syscall test framwork from gvisor 2023-07-03 13:20:20 +08:00
Jianfeng Jiang 8e199f46ef Import inherit-methods-macro from seperate repo 2023-06-28 13:22:15 +08:00
Yuke Peng 893b174dc9 Support x2APIC 2023-06-27 20:52:41 +08:00
Jianfeng Jiang 0e8b2aff7b Make heap allocator interrupt safe 2023-06-27 19:45:01 +08:00
Jianfeng Jiang 61c2f6ee82 Refactor the tty output logic 2023-06-27 19:45:01 +08:00
Jianfeng Jiang 288374ee09 Fix dead lock in canonical mode 2023-06-27 19:45:01 +08:00
LI Qing bc3b849613 [cpio-decoder] Fix the invalid file type 2023-06-27 18:29:46 +08:00
LI Qing f301c70708 [cpio-decoder] Use TryFromInt for enum type 2023-06-27 12:52:14 +08:00
Jianfeng Jiang 4c4366ccb0 Open stdio by opening /dev/tty 2023-06-05 17:34:16 +08:00
Jianfeng Jiang 7803d9037e Add uninit option for VmAllocOption 2023-06-03 21:10:53 +08:00
Jianfeng Jiang 7304e06c88 Add virtio net device driver 2023-06-01 14:39:19 +08:00
Jianfeng Jiang 2985cdced6 Replace Mutex with Spinlock in tty to avoid deadlock 2023-05-31 20:59:01 +08:00
Jianfeng Jiang 2b59a406a6 Add network syscalls 2023-05-31 11:50:50 +08:00
Jianfeng Jiang 8719234dc2 Implement tcp&udp socket 2023-05-31 11:50:50 +08:00
Jianfeng Jiang f437dc6244 Add network iface 2023-05-31 11:50:50 +08:00