Commit Graph

107 Commits

Author SHA1 Message Date
8eb1e06c2a Implement should_panic expectation and refactor ktest 2023-11-09 13:22:34 +08:00
45a6b2f46c Implement should_panic for ktest and clear the codebase 2023-11-09 13:22:34 +08:00
bb0560530f Enable usermode unit test for specific crates 2023-11-09 13:22:34 +08:00
b8818bb740 Add ktest framework 2023-11-09 13:22:34 +08:00
d7cc52c615 Update the version of pod 2023-11-09 03:38:37 +08:00
0e7f279bd6 Enable CI for MicroVM 2023-11-08 13:50:10 +08:00
4c72f5b7fa Add VmSegment and rewrite the vm allocation code with VmAllocOptions 2023-11-08 06:31:21 +08:00
b0b25f9282 Add VmReader and VmWriter 2023-11-08 06:31:21 +08:00
cf1d4faab4 Fix a minor bug that lead to a crash in release mode 2023-11-06 08:55:48 +08:00
0c7df54513 Impl virtio-mmio transport 2023-10-30 09:39:23 +08:00
4d927fed19 Impl virtio-mmio bus 2023-10-30 09:39:23 +08:00
0a6aeb4a36 Enable IOApic 2023-10-30 09:39:23 +08:00
eeac55e2e5 Refactor console 2023-10-30 09:39:23 +08:00
0a17d90532 Polish namings and interfaces of linux boot 2023-10-26 12:05:12 +08:00
a532340c65 Implement linux x86 32bit legacy boot protocol 2023-10-26 12:05:12 +08:00
9d0e0bbc70 Fix the rust setup machine state 2023-10-26 12:05:12 +08:00
052fc795a5 Successfully entered setup rust entrypoint 2023-10-26 12:05:12 +08:00
922fbd0c91 Minor fix to get entrypoint in the right place 2023-10-26 12:05:12 +08:00
aeea333945 Split kernel mode and user mode page table 2023-10-16 17:52:15 -05:00
fb884cd038 Fallback to regular paging for the boot pagetable 2023-10-13 02:24:31 -05:00
503252e8e8 Fix multiboot entry in UEFI boot 2023-10-12 14:38:36 -05:00
cdc2b960dc Switch to EFI boot and use official release for QEMU and GDB 2023-10-12 14:38:36 -05:00
aea8f38dc1 Implement boot setup and loader utils 2023-10-12 14:38:36 -05:00
d0c84e0b6f Add protected mode sub-crate for Linux boot setup 2023-10-12 14:38:36 -05:00
7d5295ab25 Refactor build system, boot and added Linux Boot facilities 2023-10-12 14:38:36 -05:00
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