Zhang Junyang
eb69aa4fb9
Unify address and size APIs for memory objects
2025-09-02 17:53:55 +08:00
Chen Chengjun
fc5a12356a
Fix LOONGARCH clippy warnings
2025-08-19 19:20:54 +08:00
Chen Chengjun
9507475102
Fix RISCV clippy warnings
2025-08-19 19:20:54 +08:00
jiangjianfeng
2e09957ef9
Fix documentation check errors
2025-07-01 17:07:28 +08:00
Ruihan Li
a18e72b495
Implement `apic::get_or_init` using `Once`
2025-05-21 21:00:02 +08:00
Ruihan Li
0a27a1f37b
Don't treat APIC IDs as CPU IDs
2025-05-21 09:27:25 +08:00
Ruihan Li
d7cd0244ff
Use Rust types to store `PerApRawInfo`
2025-05-21 09:27:25 +08:00
Ruihan Li
8c30b4b942
Rewrite `trap/gdt.rs`
2025-04-22 20:52:15 +08:00
Ruihan Li
e06509e380
Make some `unsafe` blocks shorter
2025-04-22 20:52:15 +08:00
Ruihan Li
396ead6fbd
Fix safety reasoning about `get_on_cpu`
2025-04-03 10:50:22 +08:00
Ruihan Li
5651b93af0
Turn `GS.base` validity into a global invariant
2025-04-03 10:50:22 +08:00
Ruihan Li
b52d841ac1
Revise safety comments for booting APs
2025-04-03 10:50:22 +08:00
Zhang Junyang
09a8ab8800
Respect local X2Apic MADT entry
2025-03-31 22:11:04 +08:00
Ruihan Li
58980d4c55
Revise code under `arch/x86/boot`
2025-03-27 09:13:41 +08:00
Ruihan Li
ea724f4529
Remove the time handler to flush TLBs
2025-03-24 15:30:22 +08:00
Zhang Junyang
4f0acddfd4
Strict TLB coherence
2025-03-21 21:19:50 +08:00
Hsy-Intel
49e6cd2712
Use macro to handle TDX-related code
2025-03-20 17:25:22 +08:00
Hsy-Intel
148695194f
Support TDX SMP
2025-03-20 17:25:22 +08:00
Zhang Junyang
6ed38f5cb0
Mark all physical memory metadata with memory region info
2025-03-14 08:37:37 +08:00
Zhang Junyang
8a6c8c44e9
Refactor `MemoryRegionArray::into_non_overlapping`
2025-03-14 08:37:37 +08:00
Ruihan Li
0dca168717
Use `#[expect(lint)]`, not `#[allow(lint)]`
2025-02-08 15:10:04 +08:00
Zhang Junyang
7676f8ec95
Reorder heap initialization
2025-01-02 10:41:51 +08:00
Zhang Junyang
5ea366bced
Move kcmdline parsing out of OSTD
2025-01-02 10:41:51 +08:00
Zhang Junyang
397ce9652f
Refactor boot modules to make heap allocation explicit
2025-01-02 10:41:51 +08:00
Zhang Junyang
51349a3da1
Heapless memory region initialization
2025-01-02 10:41:51 +08:00
Zhang Junyang
cdac59beda
Implement a new set of physical page APIs
2024-12-27 12:12:51 +08:00
Zhang Junyang
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
Zhang Junyang
60365a818a
Use pointer metadata for page metadata
2024-12-16 13:22:05 +08:00
Ruihan Li
5233827160
Don't preempt without good reason
2024-11-06 21:53:55 +08:00
Zhang Junyang
131a25c15c
Provide the way to override the panic handler.
2024-10-20 13:24:58 +08:00
Qingsong Chen
c2f7a10b84
Implement cpu_local with GS and ensure GS points to TSS
2024-09-19 13:00:36 +08:00
Zhang Junyang
326ec09169
Initialize local APICs on every processors
2024-09-13 20:10:03 +08:00
Zhang Junyang
5feb8f5de8
Refactor the boot PT initialization for SMP
2024-08-27 17:22:47 +08:00
Zhang Junyang
aeba7bec52
Fix SoftIRQ initialization requirements for SMP
2024-08-27 17:22:47 +08:00
Zhang Junyang
f7a9510be0
Refactor the `this_cpu` API with `PinCurrentCpu`
2024-08-25 20:14:06 +08:00
Zhang Junyang
be3492d7f0
Extract the OSTD test runner as a kernel
2024-08-23 23:37:50 +08:00
Yuke Peng
49692c2068
Fix several warnings when ktest is enabled
2024-08-16 10:43:55 +08:00
jellllly420
f5464e82c0
Implement new scheduling API in OSTD
2024-08-15 23:06:18 +08:00
Zhang Junyang
491e4325fa
Enable IRQs before leaving the OSTD boot routine
2024-08-13 20:34:26 +08:00
Zhang Junyang
fe68b4b510
Generalize single instruction CPU local operations by `cpu_local_cell`
2024-08-08 19:21:03 +08:00
Zhang Junyang
393c9019c0
Boot application processors into spin loops
...
Co-authored-by: Chuandong Li <lichuand@pku.edu.cn>
2024-07-30 10:24:09 +08:00
Jianfeng Jiang
f86583dbce
Make essential changes for publishing OSTD
2024-07-18 18:18:05 +08:00
Zhang Junyang
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
Yuke Peng
cf56bce57c
Pass kernel command line option to logger
2024-07-04 10:56:55 +08:00
Jianfeng Jiang
fe7251c413
Rename aster_main as ostd::main
2024-06-27 15:45:49 +08:00
Jianfeng Jiang
59350a8578
Rename aster-frame to ostd
2024-06-27 15:45:49 +08:00