Commit Graph

704 Commits

Author SHA1 Message Date
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
jiangjianfeng 96bfab16be Fix some typos 2025-11-28 19:10:16 +08:00
Zhang Junyang d516bdedeb Remove the x86 kernel page fault handler 2025-11-28 14:54:19 +08:00
Chen Chengjun 3f3838d3a3 Support reboot syscall 2025-11-28 11:32:16 +08:00
Chen Chengjun 22adc64577 Support hypervisor CPUID 2025-11-28 11:32:16 +08:00
Ruihan Li 2892b8a977 Use `size_of` in preludes 2025-11-26 17:35:42 +08:00
Zhang Junyang 7564314de3 Fix a misuse of `CommonSizeClass::from_size` in CPU local allocator 2025-11-26 16:41:04 +08:00
Zhe Tang 70eda539df Refactor IoMem acquisition to use appropriate cache policies across multiple components 2025-11-25 10:24:54 +08:00
Zhe Tang fb1cab9951 Enhance IoMem to support configurable cache policies 2025-11-25 10:24:54 +08:00
Zhe Tang 22dffcf8c2 Extend Cache Policies for the x86 Architecture 2025-11-25 10:24:54 +08:00
Zhang Junyang 8096249765 Add a lock before capturing coverage 2025-11-20 14:36:30 +08:00
Ruihan Li 668876aeee Check the existence of i8042 and RTC CMOS 2025-11-19 15:39:49 +08:00
Ruihan Li bbe0e3f3bb Reimplement `RtcCmos` 2025-11-19 15:39:49 +08:00
Zejun Zhao 902106eb2e Allow SBI system_reset to fail 2025-11-18 14:46:16 +08:00
Tao Su 314fbe285a Check size and alignment for untyped metadata 2025-11-17 15:26:45 +08:00
Zhang Junyang 9c8a8f8df9 Remove `PageProperty::new_absent` 2025-11-16 18:18:26 +08:00
Zejun Zhao 963771fd32 Skip management hart while enumerating usable harts 2025-11-16 11:23:46 +08:00
Ruihan Li 69dc2479db Rename initialization methods 2025-11-16 11:09:08 +08:00
Ruihan Li 19b1fe36c5 Remove outdated safety comments 2025-11-16 11:09:08 +08:00
Zhang Junyang e0dd647756 Remove `TIMER_IRQ_NUM` for RISC-V 2025-11-14 10:14:03 +08:00
Zhang Junyang b86aeffd53 Correct some hart ID usage 2025-11-14 10:14:03 +08:00