Commit Graph

724 Commits

Author SHA1 Message Date
Zhang Junyang 77f0b0e746 Add missing safety comments in `boot_pt` 2026-01-19 23:41:42 +08:00
Zhang Junyang c77c2686d8 Revise `PageTableEntryTrait` 2026-01-19 23:41:42 +08:00
Tao Su 8ace76978e Add unit tests for DMA `alloc` and `alloc_uninit()` 2026-01-07 22:38:50 -08:00
Tao Su 1442060c2d Introduce `DmaStream::alloc` to reduce memory copy in TDX 2026-01-07 22:38:50 -08:00
Tao Su fc2e8d95c9 Add `DmaCoherent::alloc_uninit()` and defer zeroing to `DmaCoherent::alloc()` 2026-01-07 22:38:50 -08:00
Zhang Junyang d7cefdb761 Fix the DMA debug assertion regression 2026-01-05 20:59:42 +08:00
jiangjianfeng 6f54cc56e7 Move int-to-c-enum from kernel/libs to ostd/libs 2026-01-04 10:51:36 -08:00
jiangjianfeng 01cac4268e Manage dependencies at workspace level 2026-01-04 10:51:36 -08:00
jiangjianfeng 34ab63addb Manage package metadata at workspace level 2026-01-04 10:51:36 -08:00
Tao Su 4f62f2db8e Use correct GPA range when accepting pages in `protect_gpa_tdvm_call()` 2026-01-03 21:25:01 -08:00
jiangjianfeng a0b746fb3f Run clippy test with and without ktest configuration 2026-01-03 21:17:39 -08:00
Ruihan Li 81e9bfa2ee Flush TLBs in `IoMem::new` 2025-12-31 20:00:37 -08:00
Zhang Junyang 6ad67309fd Seal the kernel page table 2025-12-31 19:40:11 -08:00
Zhang Junyang abf8d9f5e4 Clean up TDX linear mapping protecting operations
Co-authored-by: Tao Su <st498824@antgroup.com>
2025-12-31 19:40:11 -08:00
Zhang Junyang 71681dd947 Refactor DMA APIs 2025-12-31 19:40:11 -08:00
Zhang Junyang 0c30edb5da Add a `Split` trait for `KVirtArea` and `Segment` 2025-12-31 19:40:11 -08:00
Zhang Junyang 8dbb5ecd69 Add a range counter 2025-12-31 19:40:11 -08:00
zjp c91d383c91 Fix `offset: *mut Self` by `offset: usize` in SingleInstruction traits 2025-12-30 14:36:50 +08:00
rikosellic c4e8bf2c21 Remove WeakRef and NonNullPtr impl for Weak<T> 2025-12-26 17:00:11 +08:00
jiangjianfeng 90f916793d Bump the project version to 0.17.0 2025-12-14 00:08:33 +08:00
Ruihan Li 9b38836154 Invalidate cache when remapping interrupts 2025-12-11 15:29:15 +08:00
Ruihan Li 5c7f9fbd1b Correctly decode IOMMU fault values 2025-12-11 15:29:15 +08:00
Zhang Junyang 9aa36231dd Fix `jump` when the cursor is over the end of the guard node 2025-12-11 09:19:11 +08:00
Calvin dd4f98f0b9 Improve safety comment of `fill_boot_info_ptr` and `fill_boot_pt_ptr` 2025-12-11 09:09:18 +08:00
Zhang Junyang 81da39400c Bump version to 0.16.2 2025-12-09 19:41:18 +08:00
Zhang Junyang 9f3b38ef43 Fix a doc check failure and the bzImage ABI 2025-12-09 16:26:02 +08:00
Zhang Junyang c04015f3e0 Fix the `ostd-test` crate for `ktest`s 2025-12-09 16:26:02 +08:00
Zhang Junyang c7a2c81366 Miscellaneous clippy fixes for Rust 2024 2025-12-09 09:23:58 +08:00
Zhang Junyang 69327eee8d Upgrade to Rust 2024 2025-12-09 09:23:58 +08:00
Zhang Junyang 6d2679852f Fix `if let` chains that can be collapsed 2025-12-09 09:23:58 +08:00
Zhang Junyang fc9f47a019 Fix manual implementations of `.is_multiple_of()` 2025-12-09 09:23:58 +08:00
Zhang Junyang 559ce94aba Fix elided lifetimes in return values 2025-12-09 09:23:58 +08:00
Zhang Junyang ad6b5ed856 Fix all direct casts of function items into integers 2025-12-09 09:23:58 +08:00
Zhang Junyang 2a6436d05f Fix unsafe API change and unsafe external block 2025-12-09 09:23:58 +08:00
Zhang Junyang aae136865a Mark unsafe attributes 2025-12-09 09:23:58 +08:00
Zhang Junyang dd410444e5 Format with new `rustfmt` 2025-12-09 09:23:58 +08:00
Ruihan Li 2919f43c65 Query EFI framebuffer via shared access 2025-12-08 20:04:21 +08:00
Ruihan Li aae10304c3 Revise safety comments of entry points 2025-12-08 19:26:50 +08:00
Ruihan Li 6ac45fe406 Add methods to allow overlapping I/O ports 2025-12-08 11:12:05 +08:00
Ruihan Li 05886011f8 Follow ACPI to reset a real machine 2025-12-08 11:12:05 +08:00
Ruihan Li 35d70fca71 Manage poweroff and restart handlers 2025-12-08 11:12:05 +08:00
Ruihan Li 15446386af Don't panic in the panic handler 2025-12-08 11:12:05 +08:00
Ruihan Li bd67ea489e Simplify code and resolve lints 2025-12-08 11:12:05 +08:00
Ruihan Li 9d5e889a93 Implement `VmIo` for `CurrentUserspace` 2025-12-07 12:01:05 +08:00
zjp c9302471e8 Make some boot entry functions unsafe and document safety
The following functions are unsafe now:
- riscv_boot
- loongarch_boot
- ap_early_entry
- kernel_task_entry

Remove extern declaration of ap_early_entry from riscv_ap_early_entry
And
- Directly call ap_early_entry from module path.
- Clarify what safety requirements are on riscv_ap_early_entry
- Clarify how safety requirements are met on calling ap_early_entry
2025-12-05 15:46:34 +08:00
Ruihan Li 13ecabcb46 Fix some style issues in `memory_region.rs` 2025-12-04 18:41:59 +08:00
Ruihan Li 66e293e989 Add `MemoryRegionType::is_physical` 2025-12-04 18:41:59 +08:00
Hsy-Intel 2c9a11e43e Reduce #VE, disable SEPT #VE and enable notification for zero step attack detection in TDX environment 2025-12-04 09:48:17 +08:00
Yuke Peng 8dced6873e frame: Add Reclaimable memory region to the `max_paddr` filter 2025-12-02 10:53:20 +08:00
Chen Chengjun 265fdc7080 Remove unused methods of IdAlloc 2025-11-30 23:58:58 +08:00