a1accf4304
Do some miscellaneous page table cleanups
2025-06-22 16:46:07 +08:00
e78927b449
Manage frame tracking outside the page table
2025-06-12 22:34:46 +08:00
2c917ba383
Unify page table template parameters
2025-06-12 22:34:46 +08:00
619814e652
Add unsafe
with caller-upheld comments
2025-06-03 15:00:13 +08:00
79b3f68892
Make the RCU lifetime of page tables explicit
2025-05-24 17:42:17 +08:00
54fbdcf059
Implement the stray marking in PT to ensure serializability
2025-05-24 17:42:17 +08:00
d873e121ff
DFS lock protocol for the page table
2025-05-24 17:42:17 +08:00
0d36375dfa
Avoid generic_const_exprs
feature
2025-03-06 16:35:21 +08:00
5834f299bc
Fix a potential race condition during PTE read/write operations
2025-02-20 22:36:35 +08:00
983a6af3cc
Polish the doc and rename variables in ostd::mm
2024-12-27 12:12:51 +08:00
cdac59beda
Implement a new set of physical page APIs
2024-12-27 12:12:51 +08:00
ef6ff7ad84
Let frame on-drop call backs take readers
2024-12-27 12:12:51 +08:00
14308f81b6
Remove AnyFrame
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
b2b00bdfd2
Lock-free cursor creation
2024-11-09 20:32:48 +08:00
e60b5b7649
Refine mapping-related locks
2024-10-26 21:55:48 +08:00
e1e7afe0ca
Use node::Entry
to optimize page table cursor operations
2024-10-06 17:15:41 +08:00
96f120d957
Clean up some page table implementation
2024-10-06 17:15:41 +08:00
5bdf85b5f0
Regulate the mapping tracking status of page tables
2024-10-06 17:15:41 +08:00