9e1c939a3f
Remove static_assertions
2025-03-06 16:35:21 +08:00
0c028a7d8c
Adjust AnyFrameMeta
safety conditions
2025-03-06 16:35:21 +08:00
0d36375dfa
Avoid generic_const_exprs
feature
2025-03-06 16:35:21 +08:00
b08e655a76
Remove outdated comments
2025-03-06 16:35:21 +08:00
2cefa7e5fa
Remove lots of unsafe code in acpi/
2025-03-05 19:34:48 +08:00
c5b8eae77e
Make the IRQ state within the trap correct
2025-03-03 15:16:42 +08:00
51216daec6
Change MMIO access in IoApic to VolatileRef
2025-03-03 14:25:42 +08:00
a5065d878e
Refactor the implementation of RcuOption
for clarity
2025-03-03 09:24:49 +08:00
8dbee0a65e
Revise the safety conditions for OwnerPtr
...
Co-authored-by: Zhang Junyang <junyang@stu.pku.edu.cn >
2025-03-03 09:24:49 +08:00
eee11fa813
Add a read-copy-update method to RCU and allow nullable RCU
2025-03-03 09:24:49 +08:00
43985c737a
Enable RCU
...
Co-authored-by: Zhang Junyang <junyang@stu.pku.edu.cn >
2025-03-03 09:24:49 +08:00
30251964ee
Bump version to 0.11.3
2025-02-27 11:55:02 +08:00
cbb4b4e631
Fix lint errors
2025-02-27 11:36:41 +08:00
82a2c4cdec
Bumped version to 0.11.2
2025-02-27 09:05:03 +08:00
8aa8d640e6
Upgrade the toolchain to nightly-2025-02-01
2025-02-27 09:05:03 +08:00
14dc4752fa
Don't panic when allocating the last page
2025-02-26 13:10:52 +08:00
29791ba77e
Distribute tasks among all the CPUs
2025-02-21 10:02:46 +08:00
5834f299bc
Fix a potential race condition during PTE read/write operations
2025-02-20 22:36:35 +08:00
3e47a6fdaa
Correct the mask of fault recording register offset in IOMMU
2025-02-20 19:44:12 +08:00
fa1cfc03f2
Support handling multiple IOMMU faults
2025-02-20 19:44:12 +08:00
baee45a60f
Remove confusing statement
2025-02-20 19:43:10 +08:00
bad1a7a79a
Panic if overriding existing device page tables
2025-02-20 19:43:10 +08:00
eca88697dd
Avoid some #![expect(lint)]
2025-02-18 19:23:15 +08:00
7e58955dd7
Bump volatile
to v0.6.1
2025-02-18 19:23:15 +08:00
0b050d5e66
Linked lists of Frame
s
2025-02-14 13:24:51 +08:00
1bbed2e077
Fix Segment::from_unused
which lacks a panic
2025-02-14 13:24:51 +08:00
b59cd9cea2
Use 64-bit reference counts for frames and fix meta layouts
2025-02-14 13:24:51 +08:00
44d54f4b23
Implement UniqueFrame
and Frame::from_in_use
2025-02-14 13:24:51 +08:00
b007e334b8
Fix the #VE irq issue causing TDX CI failure
2025-02-14 10:19:44 +08:00
55713b88c4
Remove unused dependencies
2025-02-10 10:36:56 +08:00
95bbc7f367
Enforce #[expect(lint)]
2025-02-08 15:10:04 +08:00
0dca168717
Use #[expect(lint)]
, not #[allow(lint)]
2025-02-08 15:10:04 +08:00
b415538097
Remove useless #[allow(lint)]
2025-02-08 15:10:04 +08:00
2cf4aebe7a
Use FnOnce() + Send
as task func
2025-01-23 09:57:10 +08:00
fb8f493b43
Implement RwArc
2025-01-09 10:58:16 +08:00
16862a2024
Use mutable pointer for kernel heap
...
Co-authored-by: Chen Chengjun <chenchengjun.ccj@antgroup.com >
2025-01-02 13:21:47 +08:00
87ee88da8c
Alloc-free boot page table
...
This PR uses an unused bit to differentiate allocated boot PT frames,
so that there's no need of a buffer to remember and deallocate frames.
2025-01-02 10:41:51 +08:00
7676f8ec95
Reorder heap initialization
2025-01-02 10:41:51 +08:00
5ea366bced
Move kcmdline parsing out of OSTD
2025-01-02 10:41:51 +08:00
397ce9652f
Refactor boot modules to make heap allocation explicit
2025-01-02 10:41:51 +08:00
51349a3da1
Heapless memory region initialization
2025-01-02 10:41:51 +08:00
bfc71d1b27
Bump version to 0.11.1
2024-12-30 16:24:22 +08:00
ff453f5933
Use CachePage
in all related block functions
2024-12-27 12:12:51 +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
6e1c36965a
Allow Segment<dyn FrameMeta>
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
10f1856306
Remove the vectorized page allocation
2024-12-27 12:12:51 +08:00