Commit Graph

318 Commits

Author SHA1 Message Date
e96884b72d Minor fixes, use small pages to make it work 2023-07-24 16:31:38 +08:00
d407d85e70 Adapt Docker environment and minor fixes 2023-07-24 16:31:38 +08:00
47a51eb423 Adapt Multiboot2 and switch from Limine to Grub2 2023-07-24 16:31:38 +08:00
49f2750108 Rename mmio to IoMem 2023-07-24 15:56:22 +08:00
a6dcdf6952 Implement the PCI bus framework 2023-07-24 15:56:22 +08:00
13c4c614b5 Optimize the CpioEntry to send data to the Write trait 2023-07-24 15:30:23 +08:00
4b3cf8daeb Simplify the unzipping ramdisk file to reduce the heap allocation 2023-07-24 15:30:23 +08:00
4c83ff9411 Rewrite cpio-decoder with Read trait as the input parameter 2023-07-24 15:30:23 +08:00
6d621dc4ef Fix vaddr to paddr error 2023-07-21 20:14:56 +08:00
3a3cb7cd15 Implement copy for VmFrame 2023-07-21 10:57:04 +08:00
38ee2cafcd Inherit vmo at page granularity 2023-07-21 10:57:04 +08:00
2c33f5dae1 Removed unused vmo type 2023-07-21 10:57:04 +08:00
38a78cc3ce Fix: fork vmo should be resizable if parent is resizable 2023-07-21 10:57:04 +08:00
149e169b2c Drop parent once all inherited pages is committed by child 2023-07-21 10:57:04 +08:00
ad0ab0898a Refactor vmo inherit page from parent 2023-07-21 10:57:04 +08:00
c452fc35c6 Implement rescue for heap allocator 2023-07-20 13:29:48 +08:00
9137ef434f Use docker as dev environment 2023-07-19 11:28:31 +08:00
bf961756b9 Set process executable path to interpreter path 2023-07-18 00:14:04 +08:00
15f3e46e3b Mark can_dma page in virtqueue 2023-07-13 22:57:56 +08:00
9bce8b879b Replace Location with PciDeviceLocation 2023-07-13 22:57:56 +08:00
a47b98b160 Support IOMMU 2023-07-13 22:57:56 +08:00
829575b3a6 Upgrade POD and trapframe 2023-07-13 22:57:56 +08:00
c21c25a7d5 Refactor page table 2023-07-13 22:57:56 +08:00
a5d719579d Remove redundant is_finished flag 2023-07-12 00:05:29 +08:00
445fb8eb76 Support nonblocking ip sockets 2023-07-10 11:53:46 +08:00
809e477bdf Reimplement writev 2023-07-10 11:53:46 +08:00
0018ac4d63 Support TCSETSW and TCSETSF for ioctl 2023-07-10 11:53:46 +08:00
3eab9cea6e clock_gettime supports clock_monotonic 2023-07-10 11:53:46 +08:00
db489f09a8 Support set status flag for socket 2023-07-10 11:53:46 +08:00
c7dda21e96 Remove special path in open 2023-07-10 11:53:46 +08:00
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