Commit Graph

31 Commits

Author SHA1 Message Date
b415538097 Remove useless #[allow(lint)] 2025-02-08 15:10:04 +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
f1aae23234 Rename as_ptr_mut to as_mut_ptr 2024-11-21 09:02:58 +08:00
b6944e48bd CpuLocalCell::as_ptr_mut should be safe 2024-11-21 09:02:58 +08:00
b3515c498a Improve the scalability for TLB flusher 2024-11-06 10:57:18 +08:00
e319641b4d Implement system call sched_get/set_affinity 2024-10-26 22:06:41 +08:00
3468ec213b Use CpuId with validity ensurance rather than u32 2024-10-26 22:06:41 +08:00
26c4abde58 Refactor CpuSet and introduce AtomicCpuSet 2024-10-26 22:06:41 +08:00
b8eff00fb7 Remove the additional IRQ disable during EOI 2024-10-20 13:14:47 +08:00
2f511069ee Move SoftIRQ implementations to softirq component 2024-10-18 09:35:40 +08:00
9e4257b655 Fix multiple issues pointed out by the new compiler 2024-10-13 22:32:05 +08:00
4fa0e6334b Add RISC-V base support 2024-09-30 10:02:08 +08:00
d9eccdcfbe Implement remote TLB flush on VmSpace 2024-09-13 20:10:03 +08:00
47be0a909b Schedule tasks to APs in aster-nix 2024-08-27 17:22:47 +08:00
e04fa6c69d Handle VmSpace's multi-CPU activation 2024-08-27 17:22:47 +08:00
c9347e59f4 Fix the preempt info on APs 2024-08-27 17:22:47 +08:00
86f09eef75 Fix all spelling mistakes in history by typos tool 2024-08-27 12:19:48 +08:00
54cbacb2ff Replace the CpuLocal's borrow* APIs with get_with 2024-08-25 20:14:06 +08:00
f7a9510be0 Refactor the this_cpu API with PinCurrentCpu 2024-08-25 20:14:06 +08:00
9a94ba23aa Replace the Deref implementation of CpuLocal with get_on_cpu 2024-08-25 20:14:06 +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
37a9590cfe Refactor ostd::task::processor based on faster CPU-local cells 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
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
3ae884081f Fix both the preempt count atomicity and the CPU-local init problem 2024-07-25 13:20:09 +08:00
f86583dbce Make essential changes for publishing OSTD 2024-07-18 18:18:05 +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