476 Commits

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