Commit Graph

19 Commits

Author SHA1 Message Date
ea724f4529 Remove the time handler to flush TLBs 2025-03-24 15:30:22 +08:00
4f0acddfd4 Strict TLB coherence 2025-03-21 21:19:50 +08:00
49e6cd2712 Use macro to handle TDX-related code 2025-03-20 17:25:22 +08:00
148695194f Support TDX SMP 2025-03-20 17:25:22 +08:00
6ed38f5cb0 Mark all physical memory metadata with memory region info 2025-03-14 08:37:37 +08:00
0dca168717 Use #[expect(lint)], not #[allow(lint)] 2025-02-08 15:10:04 +08:00
397ce9652f Refactor boot modules to make heap allocation explicit 2025-01-02 10:41:51 +08:00
cdac59beda Implement a new set of physical page APIs 2024-12-27 12:12:51 +08:00
c9a37ccab1 Renaming concepts around pages and frames
This commit renames `Frame` -> `UntypedFrame` and `Page` -> `Frame`.
So do other concepts in the following list:
 - `Segment` -> `UntypedSegment`,
 - `ContPages` -> `Segment`,
 - `DynPage` -> `AnyFrame`,
 - `PageMeta` -> `FrameMeta`,
 - `FrameMeta` -> `UntypedMeta`.

This commit also re-organized the source in the `mm/page` and `mm/frame`
module to accommodate the changes.
2024-12-27 12:12:51 +08:00
60365a818a Use pointer metadata for page metadata 2024-12-16 13:22:05 +08:00
5233827160 Don't preempt without good reason 2024-11-06 21:53:55 +08:00
c2f7a10b84 Implement cpu_local with GS and ensure GS points to TSS 2024-09-19 13:00:36 +08:00
326ec09169 Initialize local APICs on every processors 2024-09-13 20:10:03 +08:00
5feb8f5de8 Refactor the boot PT initialization for SMP 2024-08-27 17:22:47 +08:00
aeba7bec52 Fix SoftIRQ initialization requirements for SMP 2024-08-27 17:22:47 +08:00
f7a9510be0 Refactor the this_cpu API with PinCurrentCpu 2024-08-25 20:14:06 +08:00
491e4325fa Enable IRQs before leaving the OSTD boot routine 2024-08-13 20:34:26 +08:00
fe68b4b510 Generalize single instruction CPU local operations by cpu_local_cell 2024-08-08 19:21:03 +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