Commit Graph

363 Commits

Author SHA1 Message Date
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
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
e9330eea7d Prefer ManuallyDrop than mem::forget 2024-07-16 21:38:09 +08:00
7966719e6a Wrap mutable data into UnsafeCell 2024-07-16 21:38:09 +08:00
4f2d537516 Remove the level in RawPageTableNode 2024-07-16 21:38:09 +08:00
6cfccccab1 Enable AVX-512 flags in XCR0 2024-07-16 21:26:20 +08:00
4292ec2ebb Make intel_tdx feature as default 2024-07-16 21:22:29 +08:00
9e5f3123e1 Log messages to the serial atomically and rename arch::serial
Co-authored-by: Chuandong Li <lichuand@pku.edu.cn>
2024-07-09 21:56:03 +08:00
d43fbd88ba Add documentation to bus 2024-07-09 19:42:15 +08:00
0970adb37b Add documentation to x86/device 2024-07-09 19:42:15 +08:00
28f5480f70 Add notes about the volatile memory copy 2024-07-08 15:03:23 +08:00
608eba369c Format logger output 2024-07-04 10:56:55 +08:00
cf56bce57c Pass kernel command line option to logger 2024-07-04 10:56:55 +08:00
0cf954801d Support sending IPI using APIC
Co-authored-by: Chuandong Li <lichuand@pku.edu.cn>
2024-07-03 17:50:10 +08:00
fef8eebadc Reverse the page table unlock order 2024-07-03 17:42:31 +08:00
02912e19cb Add documentations for the page table cursors' validity 2024-07-03 17:42:31 +08:00
0f8d8da372 Refactor code related to CPU local memory
Co-authored-by: Chuandong Li <lichuand@pku.edu.cn>
2024-07-03 17:40:53 +08:00
98619f3482 Init RNG with rdrand directly (without getrandom) 2024-07-03 14:56:33 +08:00