Commit Graph

91 Commits

Author SHA1 Message Date
7db9ae23a3 Make the kernel stack size configurable 2024-08-22 22:56:16 +08:00
dce796cdde Refactor all io APIs of vfs based on VmReader/VmWriter 2024-08-22 22:54:30 +08:00
e7105bb580 Prevent race condition in heap allocator 2024-08-22 12:47:34 +08:00
1833f8047e Modify Dockerfile and bump the version file 2024-08-22 09:55:19 +08:00
2102107be1 Refactor VmReader&VmWriter as given fallibility marker 2024-08-21 22:24:15 +08:00
562e644375 Clarify some safety conditions of Vm{Reader,Writer} 2024-08-21 09:34:21 +08:00
bbe43d76cc Fix compile error due to lock_irq_disabled 2024-08-19 16:52:51 +08:00
c6d381bc19 Refine documentations 2024-08-18 23:58:51 +08:00
b198794e3e Extract DMA remapping feature 2024-08-18 23:58:51 +08:00
0bf3595964 Extract IOMMU register operations 2024-08-18 23:58:51 +08:00
63b42bff73 Add register descriptions 2024-08-18 23:58:51 +08:00
7d0638958c Fix IOMMU permission check issue 2024-08-18 23:58:51 +08:00
c44447d54b Refactor the API of spinlocks 2024-08-18 21:06:40 +08:00
0c9b7c03bb Get ACPI RSDP from EFI tables if not provided in boot_params 2024-08-17 18:14:27 +08:00
19184d5c3d Remove the concept of child VMOs and clean-up VMO implementations 2024-08-16 10:45:16 +08:00
49692c2068 Fix several warnings when ktest is enabled 2024-08-16 10:43:55 +08:00
99a22ff124 Improve efficiency of global TLB flushing 2024-08-15 23:14:51 +08:00
2ab4ba11bc Refactor preemption-related code in OSTD 2024-08-15 23:06:18 +08:00
f5464e82c0 Implement new scheduling API in OSTD 2024-08-15 23:06:18 +08:00
4844e7ca7c Allow page table protectors to flush TLB entries precisely 2024-08-14 20:40:03 +08:00
9a6e1b03e3 Allow the page table un-mapper to flush the TLB precisely 2024-08-14 20:40:03 +08:00
e597a10088 Rename PageTableQueryResult to PageTableItem 2024-08-14 20:40:03 +08:00
6df0a3073c Add a comment for UserMode 2024-08-14 11:43:34 +08:00
be54a39592 Remove the preempt guard from the IRQ guard 2024-08-13 20:34:26 +08:00
491e4325fa Enable IRQs before leaving the OSTD boot routine 2024-08-13 20:34:26 +08:00
a739b3828d Use tdx-guest crate VE handler and support release mode for TDX 2024-08-10 11:21:59 +08:00
7527d20d25 Avoid generating Cmp_rm32_imm32 instruction 2024-08-10 11:21:59 +08:00
259b506119 Introduce CurrentUserSpace to provide read/write abilities for user space 2024-08-09 18:01:01 +08:00
8317c4c1e8 Rename "intel_tdx" feature to "cvm_guest" 2024-08-09 17:11:12 +08:00
ca41687a99 Use cfg_if to group tdx cfg block 2024-08-09 17:11:12 +08:00
9bad068215 Update conditional compilation for intel_tdx feature 2024-08-09 17:11:12 +08:00
b5f8e4e7bb Fix unnecessary page table activation 2024-08-08 23:11:58 +08:00
37a9590cfe Refactor ostd::task::processor based on faster CPU-local cells 2024-08-08 19:21:03 +08:00
05564ecd4f Abort on double panics 2024-08-08 19:21:03 +08:00
fe68b4b510 Generalize single instruction CPU local operations by cpu_local_cell 2024-08-08 19:21:03 +08:00
3deff2e842 Implement VmIoOnce for DmaCoherent 2024-08-06 11:34:15 +08:00
cda23937dd Introduce {read,write}_once 2024-08-06 11:34:15 +08:00
79578c9aa0 Use the plural form in # Panic 2024-08-06 11:34:15 +08:00
dee7734073 Fix a missed write_volatile in VmWriter 2024-08-06 11:34:15 +08:00
4d19c710a2 Bump linux-bzimage-builder to 0.2.0 2024-08-05 15:36:55 +08:00
6752baf166 Utilize libflate crate to compress and decompress payload 2024-08-05 15:36:55 +08:00
393c9019c0 Boot application processors into spin loops
Co-authored-by: Chuandong Li <lichuand@pku.edu.cn>
2024-07-30 10:24:09 +08:00
8acfc8eb6a Move CpuSet out of ostd::arch and implement this_cpu
Co-authored-by: Chuandong Li <lichuand@pku.edu.cn>
2024-07-30 10:24:09 +08:00
da9f55b01f Stop trying to catch panics except for unit tests 2024-07-29 22:46:32 +08:00
42aac5ce8b Optimize the performance of page table un-mapping 2024-07-29 22:36:14 +08:00
862b64b786 Sanitize the mutability of page table metadata 2024-07-29 22:36:14 +08:00
819e8dacd5 Allow specifying initial page metadata when allocating 2024-07-29 22:36:14 +08:00
12ed40578d Add /proc/meminfo support 2024-07-29 13:55:20 +08:00
3ae884081f Fix both the preempt count atomicity and the CPU-local init problem 2024-07-25 13:20:09 +08:00
00b9bf9610 Fix assertion failure constructing VmReaders from zero sized slices 2024-07-25 13:20:09 +08:00