Commit Graph

35 Commits

Author SHA1 Message Date
e96884b72d Minor fixes, use small pages to make it work 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
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
c452fc35c6 Implement rescue for heap allocator 2023-07-20 13:29:48 +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
3600a3a439 Add support for chmod, fchmod, fchmodat 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
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
288374ee09 Fix dead lock in canonical mode 2023-06-27 19:45:01 +08:00
7803d9037e Add uninit option for VmAllocOption 2023-06-03 21:10:53 +08:00
2985cdced6 Replace Mutex with Spinlock in tty to avoid deadlock 2023-05-31 20:59:01 +08:00
d96fe31e36 Fix typos and add utils 2023-05-31 11:50:50 +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
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
271a16d492 Reorganize the codebase 2023-04-10 14:49:39 +08:00