Commit Graph

63 Commits

Author SHA1 Message Date
739eb30138 Implement Clone for IrqAllocateHandle 2023-09-03 13:36:05 +08:00
6d101c5b6d Use Mutex and RwLock in jinux-frame for jinux-std 2023-09-02 17:06:39 +08:00
df7bd65e70 TLB flush when modifying page table 2023-08-22 19:57:20 +08:00
ddb7be9296 Refactor current net codes 2023-08-15 20:54:10 +08:00
7b390d9f8a Runner should return error if qemu itself fails 2023-08-14 10:45:01 +08:00
f0f498e46a Support TSC-Deadline mode APIC timer 2023-08-09 22:14:35 +08:00
c38e4f0800 Replace InFramePtr with SafePtr 2023-08-09 11:57:53 +08:00
c321e411f6 Fix the bug caused by opt-level=1 2023-08-08 21:30:23 +08:00
acfbc7efdc Fix multiple issues in the initproc path 2023-08-04 11:37:34 +08:00
f674874e91 Rename eval to syscall test and fix return value 2023-08-04 11:37:34 +08:00
bb03be3cbd Refactor the build package to absorb the script 2023-08-04 11:37:34 +08:00
2e4b0432e0 Implement split instead of using heavy regex 2023-08-04 11:37:34 +08:00
807c8355c0 Implement kernel command line with init configuring 2023-08-04 11:37:34 +08:00
69cbfc72f5 Refactor boot and add placeholder kcmdline struct 2023-08-04 11:37:34 +08:00
eb8eb440b3 Initialize FxsaveArea with zero 2023-08-04 11:37:12 +08:00
8fc4fa6f10 Fix for new format checks in the latest toolchain 2023-08-04 11:37:12 +08:00
5cf624f9ac Update toolchain to nightly 08-01 2023-08-04 11:37:12 +08:00
e6f13a0612 Fix or workaround 4 errors from linter 2023-08-04 11:37:12 +08:00
901cbebe44 Fix spurious bitflags usage 2023-08-04 11:37:12 +08:00
054f13e32f Support IOMMU page fault reporting 2023-08-01 20:49:04 +08:00
9cb759efa2 Add a runtime check for scheduler with spin locks 2023-07-25 12:56:06 +08:00
c6145b450a Removed boot protocol configuring 2023-07-24 16:31:38 +08:00
cad808f05c Align the usable regions in the frame allocator 2023-07-24 16:31:38 +08:00
5012779e38 Fix memory region glob re-export 2023-07-24 16:31:38 +08:00
e3adb6e482 Fix params of truncate 2023-07-24 16:31:38 +08:00
b5e04ea5ad Fix boot documentations and comments 2023-07-24 16:31:38 +08:00
c932878dd1 Give multiboot2 entry magic a name 2023-07-24 16:31:38 +08:00
41d8e4228f Rename Rust entrypoint 2023-07-24 16:31:38 +08:00
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