Commit Graph

382 Commits

Author SHA1 Message Date
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
5aa28eae7e Extract x86-specific code from call_irq_callback_functions 2024-07-22 22:04:50 +08:00
71a486b9a5 Bye, FrameVec 2024-07-20 20:56:29 +08:00
fd63f8307d Simplify visibility of page table APIs since the module is already pub(crate) 2024-07-20 20:56:29 +08:00
668997ab51 Refactor the VmSpace API and work around misuses 2024-07-20 20:56:29 +08:00
f86583dbce Make essential changes for publishing OSTD 2024-07-18 18:18:05 +08:00
8a9c012249 Check CPUID before enabling AVX512 2024-07-17 10:24:45 +08:00
07a0ea07c0 Disable preemption in page table locks 2024-07-16 21:38:09 +08:00
cc49384e96 Rename inc_ref to inc_ref_count 2024-07-16 21:38:09 +08:00
ef1fd645c2 Rename get_ref_count to ref_count 2024-07-16 21:38:09 +08:00