Commit Graph

59 Commits

Author SHA1 Message Date
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
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
9cbbcf63a7 Switch the dependency of unwinding back to crates.io 2024-07-09 09:45:58 +08:00
02bf6a9b47 Bump version to 0.6.2 2024-07-08 17:13:16 +08:00
defb563541 Bump version to 0.6.1 2024-07-08 15:26:29 +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
9932ea0797 Remove PDPE's global bit of boot page table 2024-07-03 14:56:33 +08:00
ece62cf806 Add missing TLB flushes for coherent DMA mappings 2024-07-02 16:16:54 +08:00
8cd8cf3938 Add missing TLB flushes for the kernel stack guard pages 2024-07-02 16:16:54 +08:00
57ecfa2fec Add #[must_use] to all guard types 2024-07-02 12:41:52 +08:00