Zhang Junyang
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
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
jiangjianfeng
bfc71d1b27
Bump version to 0.11.1
2024-12-30 16:24:22 +08:00
Zhang Junyang
ff453f5933
Use CachePage
in all related block functions
2024-12-27 12:12:51 +08:00
Zhang Junyang
983a6af3cc
Polish the doc and rename variables in ostd::mm
2024-12-27 12:12:51 +08:00
Zhang Junyang
cdac59beda
Implement a new set of physical page APIs
2024-12-27 12:12:51 +08:00
Zhang Junyang
6e1c36965a
Allow Segment<dyn FrameMeta>
2024-12-27 12:12:51 +08:00
Zhang Junyang
ef6ff7ad84
Let frame on-drop call backs take readers
2024-12-27 12:12:51 +08:00
Zhang Junyang
14308f81b6
Remove AnyFrame
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
10f1856306
Remove the vectorized page allocation
2024-12-27 12:12:51 +08:00
Shaowei Song
2f82ca846f
Work around the compile error caused by crate "unwinding"
2024-12-27 10:34:06 +08:00
Cautreoxit
bd89c9c578
Bump the version to 0.11.0
2024-12-26 19:20:58 +08:00
Ruihan Li
38fcaaf749
Implement the task local data
2024-12-26 14:51:20 +08:00
jiangjianfeng
3dbdef4d6c
Add several lmbench network benchmark
2024-12-26 09:08:21 +08:00
Ruihan Li
5aa73d3bcf
Use REF_COUNT_MAX
to avoid overflowing
2024-12-25 18:20:36 +08:00
Ruihan Li
f03ffd0d10
Use REF_COUNT_UNUSED
to ensure exclusive access
2024-12-25 18:20:36 +08:00
Ruihan Li
a2863d6db3
Use MaybeUninit
to store metadata vtable
2024-12-25 18:20:36 +08:00
Fabing Li
6f98c4900d
Bump version to 0.10.3
2024-12-20 09:49:35 +08:00
Ruihan Li
c5d1542736
Bump version to 0.10.2
2024-12-17 10:47:41 +08:00
Zejun Zhao
ced0023d6b
Introduce a syscall restart mechanism
2024-12-16 21:12:08 +08:00
Zhang Junyang
f1df7982fd
Add temporary linear mapping for metadata
2024-12-16 19:21:54 +08:00
Zhang Junyang
508919ca38
Heapless metadada init
2024-12-16 19:21:54 +08:00
Zhang Junyang
04511b74c4
Revise the access of some external statics
2024-12-16 19:15:59 +08:00
Zhang Junyang
68bdda4c4c
Set the page table for APs before kicking
2024-12-16 19:15:59 +08:00
Zhang Junyang
60365a818a
Use pointer metadata for page metadata
2024-12-16 13:22:05 +08:00
Ruihan Li
53b873f647
Add get_mut
methods for locks
2024-12-15 16:36:54 +08:00
Ruihan Li
87e953eac3
Add a missing #[track_caller]
2024-12-15 16:36:54 +08:00
Ruihan Li
18d5eb1f02
Use physical addresses in boot segments
2024-12-13 10:42:05 +08:00
Ruihan Li
969ac97144
Make atomic mode panics have clear messages
2024-12-11 20:27:29 +08:00
Hsy-Intel
dbee797bca
Accept pending private pages in TDX environment
2024-12-11 19:36:51 +08:00
Hsy-Intel
1b6901f0f8
Bump tdx-guest crate version to 0.1.8
2024-12-11 19:36:51 +08:00
Zejun Zhao
00e3688aa8
Bump version to 0.10.1
2024-12-07 19:02:46 +08:00
Ruihan Li
74c11134f1
Use fn()
for the bottom half handler
2024-12-05 13:42:12 +08:00
Ruihan Li
28edc57dd0
Fix the nested bottom half
2024-12-05 13:42:12 +08:00
Chen Chengjun
7865469998
Make the logger in OSTD injectable
2024-12-04 13:24:06 +08:00
Chen Chengjun
b17cbb2408
Finish bootstrap once finishing the initialization of OSTD
2024-12-04 13:24:06 +08:00
徐启航
878f3f3760
Scheduling class support
2024-12-04 09:36:41 +08:00
Ruihan Li
a260411a2a
Implement WriteIrqDisabled
2024-12-03 12:07:24 +08:00
Ruihan Li
29659dbc98
Move Guardian
to guard.rs
2024-12-03 12:07:24 +08:00
Ruihan Li
9e814251df
Remove unnecessary trait bounds
2024-12-03 12:07:24 +08:00
Shaowei Song
d37da228ab
Improve flexibility of DmaStreamSlice
2024-12-02 13:25:20 +08:00
jiangjianfeng
ef2419a48c
Bump version to 0.10.0
2024-12-02 10:30:32 +08:00
Marsman1996
6d3bb5a9d0
Fix compile error caused by updated Step::steps_between
in Rust
2024-12-01 18:56:28 +08:00
Qingsong Chen
5e35704e38
Support eagerly FPU state save/restore
...
Co-authored-by: Shaowei Song <songshaowei.ssw@antgroup.com>
2024-11-29 21:53:14 +08:00
Qingsong Chen
f762eb8913
Remove the lazy_static
dependency
2024-11-28 15:28:30 +08:00
Ruize Tang
5313689d6f
Fix deadlock in FLUSH_OPS by disabling IRQ
2024-11-27 12:11:46 +08:00