Commit Graph

82 Commits

Author SHA1 Message Date
0d6f6f001c Refactor the implementation 2023-10-10 16:52:40 -05:00
bd6a4d34ff Support timeout for WaitQueue 2023-10-10 16:52:40 -05:00
7419f6b56b Add the bottom half mechanism of workqueue 2023-10-09 18:08:15 -05:00
e2b4302620 Add basic preemptive scheduling 2023-10-09 18:08:15 -05:00
d9fcb486c0 Support microvm boot option 2023-09-28 11:52:33 +08:00
66a8b404c2 Support multiboot legacy protocol 2023-09-28 11:52:33 +08:00
e8a2779bca Polish trap handler code 2023-09-28 03:47:55 +08:00
f2b2c20967 Handle other CPU exceptions & use trait method 2023-09-28 03:47:55 +08:00
c90f757b86 Polish tdx-guest crate and Jinux VE handler 2023-09-28 03:47:55 +08:00
82518955d7 Abstract the virtual_exception_handler function. 2023-09-28 03:47:55 +08:00
4f0df44b29 Add tdx early init and ve handler functions 2023-09-28 03:47:55 +08:00
d7710207bb make tdcall and tdvmcall public and polish code 2023-09-28 03:47:55 +08:00
12fc074f56 Add tdx-guest crate 2023-09-28 03:47:55 +08:00
9ca64c281e Fix clippy and compiler warings 2023-09-05 18:42:06 +08:00
dbf5a423b1 Rename IrqAllocateHandle and move alloc functions 2023-09-03 13:36:05 +08:00
7d5e67e368 Refactor Virtio 2023-09-03 13:36:05 +08:00
df42397cea Remove jinux-pci and hide PCI ports 2023-09-03 13:36:05 +08:00
d7bf193bf1 Change IoMem creation to unsafe 2023-09-03 13:36:05 +08:00
df81434088 Fix pci framework bugs 2023-09-03 13:36:05 +08:00
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