Commit Graph

681 Commits

Author SHA1 Message Date
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
Zhang Junyang 8148072984 Upgrade the `riscv` crate to fix the ssoft handling
3c61863630
2025-11-14 10:14:03 +08:00
Zhang Junyang 7e7f6741c6 Setup RISC-V AP timer 2025-11-14 10:14:03 +08:00
Zhang Junyang 7d21144da6 Add RISC-V IPI 2025-11-14 10:14:03 +08:00
Zhang Junyang 73c0f34947 Remove `Arc` guards of locks that have no users 2025-11-13 23:32:36 +08:00
Zhang Junyang b69feb97c9 Rename some `init` to `init_on_cpu` 2025-11-12 17:57:36 +08:00
Zhang Junyang 14aee3d5cc Unify and fix RISC-V symbol names 2025-11-12 17:39:04 +08:00
Ruihan Li 121da78aa2 Revise names and comments in `ostd::arch` 2025-11-12 14:43:14 +08:00
Ruihan Li d447fe0ca8 Update APICs' MMIO region sizes 2025-11-05 22:48:40 +08:00
Zhang Junyang 3b4569e14d Add RISC-V SMP boot entrypoint 2025-11-02 21:23:32 +08:00
Zejun Zhao 431b6fdff7 Make riscv64's `PageTableEntry::set_prop` recognize A/D bit 2025-10-31 08:52:34 +08:00
Ruihan Li 9c70ac0f0a Mark `sync_dma_range` as `unsafe` 2025-10-30 17:04:45 +08:00
Ruihan Li d487e42b7c Reunify the style of defining `arch` modules 2025-10-30 17:04:45 +08:00
Zejun Zhao 6af524b451 Support RISC-V Sv39 Paging mode 2025-10-30 14:51:37 +08:00
Zejun Zhao 577d8294d0 Use exception table to recover in RISC-V page fault handler 2025-10-30 11:27:08 +08:00
Zejun Zhao 79992c66de Implement fallible memory operations on RISC-V platform 2025-10-30 11:27:08 +08:00
Zejun Zhao 629b053ea8 Make exception table arch-agnostic 2025-10-30 11:27:08 +08:00
Zejun Zhao bfcb1d2c00 Implement `DmaStream::sync` on RISC-V platforms 2025-10-30 10:47:53 +08:00
Zejun Zhao 39a541fdeb Add RISC-V FPU support 2025-10-29 13:24:30 +08:00
Zejun Zhao 32581caa7a Skip management hart when detecting available extensions 2025-10-28 09:32:12 +08:00
Ruihan Li 4996146a24 Add `.type` and `.size` directives 2025-10-28 09:21:44 +08:00
Ruihan Li e61c8ce56a Unify styles of assembly code 2025-10-28 09:21:44 +08:00
Ruihan Li a6b01501ac Load local addresses and define constants 2025-10-28 09:21:44 +08:00
Ruihan Li 0b597d84a0 Use `IoMem<Sensitive>` in local APIC 2025-10-28 09:12:02 +08:00