Commit Graph

366 Commits

Author SHA1 Message Date
Ruihan Li 61fa1d1901 Simplify the lock usages when flush TLBs 2025-03-24 15:30:22 +08:00
Ruihan Li ea724f4529 Remove the time handler to flush TLBs 2025-03-24 15:30:22 +08:00
Yuke Peng 63d0a05e14 Adjust `VADDR_RANGE` in the implementation of `PageTableMode` for `DeviceMode` 2025-03-23 21:07:27 +08:00
Yuke Peng b1c066c1ad Add logs to DMA mapping and unmapping 2025-03-23 21:07:27 +08:00
Yuke Peng 9a165ec41a Refactor and rename VirtAddrAllocator to RangeAllocator 2025-03-22 17:38:30 +08:00
Yuke Peng 11459a6164 Change the visibility of `KVirtAreaFreeNode` 2025-03-22 17:38:30 +08:00
Yuke Peng 05ec50def3 Remove the system device's IO memory access 2025-03-22 17:38:30 +08:00
Yuke Peng 8a26b785a4 Implement `IoMemAllocator` 2025-03-22 17:38:30 +08:00
Yuke Peng 0054a8080f Extract VirtAddrAllocator and add alloc_specific API 2025-03-22 17:38:30 +08:00
Yuke Peng 1f03955f51 Change IoMem directory 2025-03-22 17:38:30 +08:00
Zhang Junyang 5f5be25e4a Bump the version to 0.14.1 2025-03-22 15:55:31 +08:00
Ruihan Li d56b7fa6ff Don't force every printer to use `if_tdx_enabled` 2025-03-22 10:16:43 +08:00
Ruihan Li 92722aaebb Fix lints in `serial.rs` 2025-03-22 10:16:43 +08:00
Ruihan Li 5633263182 Avoid segment overlapping in EFI stub 2025-03-22 09:52:57 +08:00
Ruihan Li a64fa94404 Set the correct memory type in EFI stub 2025-03-22 09:52:57 +08:00
Ruihan Li dbf0987a4b Clean up Rust code in EFI stub 2025-03-22 09:52:57 +08:00
Ruihan Li cfbbc99df2 Revise console implementation in EFI stub 2025-03-22 09:52:57 +08:00
Ruihan Li 8c6521c2df Do assembly relocations in EFI stub 2025-03-22 09:52:57 +08:00
Zhang Junyang 4f0acddfd4 Strict TLB coherence 2025-03-21 21:19:50 +08:00
Zhang Junyang 30ec0be210 Halt the idle CPUs 2025-03-21 21:19:50 +08:00
Zhang Junyang 265bc25dd7 Enable timer IRQs on x86 APs with APIC timer interrupt 2025-03-21 21:19:50 +08:00
Zhang Junyang f1c7564184 Move CPU context implementations to a specific module 2025-03-21 21:19:50 +08:00
Zhang Junyang fc67adb1f0 Move `arch/cpu/context` files
This commit can't compile, turn to the next one instead. But if melding this commit
with the next one, Git cannot detect rename changes.
2025-03-21 21:19:50 +08:00
Ruihan Li bb1b41b413 Fix dead code lints 2025-03-21 16:00:35 +08:00
Fabing Li 8cc94219a7 Add ktest cases for kernel memory space 2025-03-21 15:15:09 +08:00
Ruihan Li 624dcf712a Harden the early allocator 2025-03-21 14:09:47 +08:00
Hsy-Intel b6cf27507c Use TDVMCALL serial output in the early stages of kernel initialization 2025-03-20 17:25:22 +08:00
Hsy-Intel 49e6cd2712 Use macro to handle TDX-related code 2025-03-20 17:25:22 +08:00
Hsy-Intel dd3aa8fe81 Fix GDT issue when using EFI handover protocol 2025-03-20 17:25:22 +08:00
Hsy-Intel 148695194f Support TDX SMP 2025-03-20 17:25:22 +08:00
Chen Chengjun 248b24fb4e Remove UserSpace abstraction from OSTD 2025-03-20 14:20:47 +08:00
Zhang Junyang 244a34a2fc Add `read_with` methods to RCU types 2025-03-20 11:57:39 +08:00
Zhang Junyang 79a965374d Add `#[must_use]` to RCU guards 2025-03-20 11:57:39 +08:00
Zhang Junyang 688212899a Add a dummy payload file to pass publish check 2025-03-20 11:43:34 +08:00
Ruihan Li 6476ef22ec Bump version to 0.14.0 2025-03-17 20:09:20 +08:00
Ruihan Li 32ffdee37b Fix PE/COFF header in EFI stub 2025-03-17 13:30:59 +08:00
Ruihan Li 10926ce547 Include payload as bytes in EFI stub 2025-03-17 13:30:59 +08:00
Ruihan Li 1488219c4f Revise the link script in EFI stub 2025-03-17 13:30:59 +08:00
Ruihan Li 81bfa6ed6e Revise headers and entry points in EFI stub 2025-03-17 13:30:59 +08:00
Zhang Junyang fbb8ea6ad1 Bump version to 0.13.0 2025-03-14 21:18:13 +08:00
Zhang Junyang 288942b970 Revise the docs of the slab and remove an unused type 2025-03-14 21:17:47 +08:00
Zhang Junyang a708a0c046 Inject a scalable slab allocator 2025-03-14 19:55:00 +08:00
Zhang Junyang fdbe52c2ee Relax `AnyFrameMeta`'s requirement of `Debug` and `'static` 2025-03-14 19:55:00 +08:00
Ruihan Li ca9ec119e4 Retire page table implementation in EFI stub 2025-03-14 12:29:13 +08:00
Zhang Junyang eb74d87bed Bump version to 0.12.0 2025-03-14 09:48:59 +08:00
Zhang Junyang 6ed38f5cb0 Mark all physical memory metadata with memory region info 2025-03-14 08:37:37 +08:00
Zhang Junyang 28e7c0ff1f Add a fixed-size cache of frame allocation 2025-03-14 08:37:37 +08:00
Zhang Junyang 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
Zhang Junyang 92bc8cbbf7 Make CPU-local and early ACPI initialization heap-less 2025-03-14 08:37:37 +08:00
Zhang Junyang 7496b24da1 Fix some incorrect memory region initialization 2025-03-14 08:37:37 +08:00