Commit Graph

478 Commits

Author SHA1 Message Date
bd24ed9ba7 Support RISC-V ISA extension detection 2025-06-11 16:54:59 +08:00
ead5a70444 Replace proc_macro APIs with proc_macro2 APIs in ostd_macros 2025-06-09 18:51:35 +08:00
58e4f45bb1 Add per-CPU counters and track RSS for each Vmar 2025-06-03 23:24:32 +08:00
dfd3042276 Add dynamically-allocated CPU-local objects 2025-06-03 23:24:32 +08:00
f24bc718fa Use IoMem::acquire in the virtio-mmio bus 2025-06-03 21:01:03 +08:00
3790f616fd Rename PageProperty::new to PageProperty::new_user 2025-06-03 18:42:53 +08:00
e669d38d2d Clear User bits of non-leaf PTE in boot pagetable 2025-06-03 18:42:53 +08:00
3f8dbe6990 Add unsafe with trivial cleanups 2025-06-03 15:00:13 +08:00
3bc4424a5b Add unsafe with explained comments 2025-06-03 15:00:13 +08:00
619814e652 Add unsafe with caller-upheld comments 2025-06-03 15:00:13 +08:00
31dbae5330 Add unsafe for acquring I/O memory/port 2025-06-03 15:00:13 +08:00
e1e5f9f575 Remove transmute in Vm{Reader,Writer} 2025-06-03 15:00:13 +08:00
2c21b2a3a8 Use wrapping_add to add userspace pointers 2025-06-03 15:00:13 +08:00
899a1424c0 Tweak RCU visiblity and safety 2025-06-03 15:00:13 +08:00
2b00fe9e45 Mark root_paddr() safe 2025-06-03 15:00:13 +08:00
1ed023f413 Fix the level comparison in dfs_mark_stray_and_unlock 2025-06-02 23:49:15 +08:00
72fb0752ae Allow dyn InAtomicMode as AsAtomicModeGuard 2025-06-01 15:06:53 +08:00
6dc0189e43 Remove unnecssary overflow checks 2025-05-30 16:34:33 +08:00
282a0f216f Clarify safety conditions in tdx_guest.rs 2025-05-30 16:34:33 +08:00
ffb4097436 Add RISC-V timer support 2025-05-29 19:51:02 +08:00
56e9824dd1 Make current_cpu_racy a method of CpuId 2025-05-29 10:33:02 +08:00
758c80c321 Pull code from arch/*/irq.rs to trap/irq.rs 2025-05-25 10:19:17 +08:00
dd9fc81a81 Add some TODOs in IOMMU initialization 2025-05-25 09:54:16 +08:00
d2ff5fc1a9 Check SAGAW before enabling DMA remapping 2025-05-25 09:54:16 +08:00
79b3f68892 Make the RCU lifetime of page tables explicit 2025-05-24 17:42:17 +08:00
ef81100958 Add InAtomicMode: Debug 2025-05-24 17:42:17 +08:00
3472560c55 Make TLB issuing less contended 2025-05-24 17:42:17 +08:00
54fbdcf059 Implement the stray marking in PT to ensure serializability 2025-05-24 17:42:17 +08:00
5b7637eac3 Remove the activation lock and use RCU to protect PT removal 2025-05-24 17:42:17 +08:00
d873e121ff DFS lock protocol for the page table 2025-05-24 17:42:17 +08:00
d4afe3a035 Avoid Rust references of IRT entries 2025-05-23 10:38:57 +08:00
d4872af3c7 Refactor interrupt remapping in OSTD 2025-05-22 15:21:16 +08:00
95744692a5 Remove unnecessary #[inline] attributes 2025-05-22 12:19:21 +08:00
e81053b9dc Remove unnecessary _rdtsc uses 2025-05-21 21:00:02 +08:00
a18e72b495 Implement apic::get_or_init using Once 2025-05-21 21:00:02 +08:00
0a27a1f37b Don't treat APIC IDs as CPU IDs 2025-05-21 09:27:25 +08:00
d7cd0244ff Use Rust types to store PerApRawInfo 2025-05-21 09:27:25 +08:00
ad6aa4960c Bump the project version 2025-05-12 22:01:05 +08:00
02463ff161 Bump xmas-elf 2025-05-12 22:00:13 +08:00
690f87f311 Add RcuDrop 2025-05-12 16:12:01 +08:00
9cb28f8dd0 FrameRef for all types of frames 2025-05-11 15:42:46 +08:00
773b965767 Allow specifying orderings when loading/storing AtomicCpuSets 2025-05-11 15:29:17 +08:00
d3e4f175cd Fix the memory leak on large heap slot dealloc 2025-05-08 19:49:42 +08:00
18df0f6ec9 Fix the linear mapping size if the IO range is high 2025-05-06 23:33:05 +08:00
1da723c0de Replace the original XArray with RCU-based XArray 2025-04-30 20:59:15 +08:00
ef898e572c Move tdx_guest::unprotect_gpa_range into IoMem creation 2025-04-29 16:31:08 +08:00
04a8fccd2f Add Framebuffer region into filter in IoMemAllocatorBuilder 2025-04-29 14:49:58 +08:00
9b4417e29a Pin the unwinding crate version to 0.2.5 2025-04-29 12:33:55 +08:00
bf4950965b Adjust unsafe blocks in syscall.rs 2025-04-22 20:52:15 +08:00
c9a7d501b2 Rewrite trap/idt.rs 2025-04-22 20:52:15 +08:00