1da723c0de
Replace the original XArray with RCU-based XArray
2025-04-30 20:59:15 +08:00
e06509e380
Make some unsafe
blocks shorter
2025-04-22 20:52:15 +08:00
3aa1079ca6
Clarify the usage of ostd::arch
2025-04-18 13:26:16 +08:00
e4aa261c48
Make if_tdx_enabled macro x86-specific
2025-04-18 13:26:16 +08:00
dd67a9a175
Clean up code
2025-04-18 13:26:16 +08:00
67e5e5a651
Remove the unused serial input
2025-04-16 21:59:24 +08:00
de69fd6c31
Add support for Rcu
to store an Either
2025-04-15 10:10:42 +08:00
396ead6fbd
Fix safety reasoning about get_on_cpu
2025-04-03 10:50:22 +08:00
5651b93af0
Turn GS.base
validity into a global invariant
2025-04-03 10:50:22 +08:00
ea724f4529
Remove the time handler to flush TLBs
2025-03-24 15:30:22 +08:00
0054a8080f
Extract VirtAddrAllocator and add alloc_specific API
2025-03-22 17:38:30 +08:00
1f03955f51
Change IoMem directory
2025-03-22 17:38:30 +08:00
d56b7fa6ff
Don't force every printer to use if_tdx_enabled
2025-03-22 10:16:43 +08:00
4f0acddfd4
Strict TLB coherence
2025-03-21 21:19:50 +08:00
b6cf27507c
Use TDVMCALL serial output in the early stages of kernel initialization
2025-03-20 17:25:22 +08:00
49e6cd2712
Use macro to handle TDX-related code
2025-03-20 17:25:22 +08:00
288942b970
Revise the docs of the slab and remove an unused type
2025-03-14 21:17:47 +08:00
a708a0c046
Inject a scalable slab allocator
2025-03-14 19:55:00 +08:00
5f05963ee5
Inject a scalable buddy system allocator to OSTD
...
Co-authored-by: Zhe Tang <tangzh@stu.pku.edu.cn >
2025-03-14 08:37:37 +08:00
92bc8cbbf7
Make CPU-local and early ACPI initialization heap-less
2025-03-14 08:37:37 +08:00
9e1c939a3f
Remove static_assertions
2025-03-06 16:35:21 +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
fa1cfc03f2
Support handling multiple IOMMU faults
2025-02-20 19:44:12 +08:00
0dca168717
Use #[expect(lint)]
, not #[allow(lint)]
2025-02-08 15:10:04 +08:00
7676f8ec95
Reorder heap initialization
2025-01-02 10:41: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
b17cbb2408
Finish bootstrap once finishing the initialization of OSTD
2024-12-04 13:24:06 +08:00
6d3bb5a9d0
Fix compile error caused by updated Step::steps_between
in Rust
2024-12-01 18:56:28 +08:00
998869d57e
Refactor kernel virtual memory allocation for kernel stack and I/O memory
2024-10-21 09:53:05 +08:00
131a25c15c
Provide the way to override the panic handler.
2024-10-20 13:24:58 +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
839c2a6689
Extract shared code from timer
2024-09-30 10:02:08 +08:00
a754accf6a
Copy the code from slab_allocator
into OSTD and add license header
2024-09-22 12:27:04 +08:00
9a79ecbcbe
Clean up the frame buffer state in ostd::mm
2024-09-21 15:38:15 +08:00
c2f7a10b84
Implement cpu_local with GS and ensure GS points to TSS
2024-09-19 13:00:36 +08:00
c8ba695c85
Implement VmIoOnce
for IoMem
2024-09-17 17:46:56 +08:00
425027677b
Add the inter-processor-call facilities
2024-09-13 20:10:03 +08:00
5feb8f5de8
Refactor the boot PT initialization for SMP
2024-08-27 17:22:47 +08:00
aeba7bec52
Fix SoftIRQ initialization requirements for SMP
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
32a1a53ee7
Enable check of atomic mode
2024-08-26 10:23:25 +08:00
d76c7a5b1e
OSDK check and clippy with cfg(ktest)
2024-08-23 23:37:50 +08:00
be3492d7f0
Extract the OSTD test runner as a kernel
2024-08-23 23:37:50 +08:00
491e4325fa
Enable IRQs before leaving the OSTD boot routine
2024-08-13 20:34:26 +08:00
8317c4c1e8
Rename "intel_tdx" feature to "cvm_guest"
2024-08-09 17:11:12 +08:00
fe68b4b510
Generalize single instruction CPU local operations by cpu_local_cell
2024-08-08 19:21:03 +08:00