Commit Graph

434 Commits

Author SHA1 Message Date
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
8c30b4b942 Rewrite trap/gdt.rs 2025-04-22 20:52:15 +08:00
e06509e380 Make some unsafe blocks shorter 2025-04-22 20:52:15 +08:00
c3dd607777 Introduce RCU-based XArray 2025-04-19 16:48:15 +08:00
6c0827b681 Add ktest cases for vmspace 2025-04-19 14:00:21 +08:00
52e0776591 Add more page table cases 2025-04-19 13:59:43 +08:00
3aa1079ca6 Clarify the usage of ostd::arch 2025-04-18 13:26:16 +08:00
5630fa8b36 Disable RISC-V FPU by default 2025-04-18 13:26:16 +08:00
14b8c48859 Adjust RISC-V's implementation for recent changes 2025-04-18 13:26:16 +08:00
b097060c5e Clean up RISC-V-specific boot code 2025-04-18 13:26:16 +08:00
d39ab61d68 Remove unnecessary usage of cfg_if macro 2025-04-18 13:26:16 +08:00
47ee012e6b Make IoPort x86-specific 2025-04-18 13:26:16 +08:00
e4aa261c48 Make if_tdx_enabled macro x86-specific 2025-04-18 13:26:16 +08:00
dd67a9a175 Clean up code 2025-04-18 13:26:16 +08:00
1130933546 Remove unused device.rs file in mmio 2025-04-17 19:11:27 +08:00
d6e40933b8 Move the log lock to a better location 2025-04-16 21:59:24 +08:00
67e5e5a651 Remove the unused serial input 2025-04-16 21:59:24 +08:00
74ffe72cad Refactor the initialization of IoPortAllocator 2025-04-16 10:09:19 +08:00
a2caedafda Remove the system device's IO port access 2025-04-16 10:09:19 +08:00
92b7961df1 Introduce macros that allow system device driver to remove sensitive ports
test

test
2025-04-16 10:09:19 +08:00
a038b8401b Rename allocator.rs to io.rs 2025-04-16 10:09:19 +08:00
d359cc44d6 Implement IoPortAllocator 2025-04-16 10:09:19 +08:00
f89b248f3b Change IoPort to architecture-independent 2025-04-16 10:09:19 +08:00
9804f053f2 Add guard which disables bottom half 2025-04-15 14:54:51 +08:00
e0bda4677c Remove Send trait bound from NonNullPtr 2025-04-15 10:10:42 +08:00
de69fd6c31 Add support for Rcu to store an Either 2025-04-15 10:10:42 +08:00
a1f81df263 Remove ostd/src/mm/offset.rs 2025-04-15 09:15:22 +08:00
1a1d9bfb60 Split ostd/util.rs 2025-04-15 09:15:22 +08:00
50924d6693 Stop sharing kernel boot PDPTs and linear boot PDPTs 2025-04-14 16:20:35 +08:00
784628e238 Add ktest cases for io interfaces 2025-04-10 15:36:58 +08:00
6aba270a9b Enable RCU to support Weak 2025-04-10 14:42:51 +08:00
a21e895102 Enable RCU to read reference to stored pointers 2025-04-10 14:42:51 +08:00
36f6f9bcd4 Fix the AVX initialization bugs on lower-end CPUs 2025-04-10 09:52:38 +08:00
5ed5647d42 Update outdated comments near switch_to_task 2025-04-06 09:49:23 +08:00
d378dc51ff Enable IA32_EFER.NXE earlier in AP 2025-04-05 23:50:42 +08:00
396ead6fbd Fix safety reasoning about get_on_cpu 2025-04-03 10:50:22 +08:00
c17a3eaa0b Revise safety comments in single_instr.rs 2025-04-03 10:50:22 +08:00
5651b93af0 Turn GS.base validity into a global invariant 2025-04-03 10:50:22 +08:00
b52d841ac1 Revise safety comments for booting APs 2025-04-03 10:50:22 +08:00
600f13ef78 Enforce a task not switched to multiple CPUs 2025-04-02 20:51:42 +08:00
e040dda7a4 Ignore unusable regions for max_paddr 2025-04-02 11:50:33 +08:00
8f72192f07 Ignore invalid APIC entries 2025-04-02 11:48:52 +08:00
09a8ab8800 Respect local X2Apic MADT entry 2025-03-31 22:11:04 +08:00
07792a1b1c Add unit tests for Cursor::take_next reports 2025-03-31 17:19:57 +08:00
78831bc80c Fix that Cursor::take_next reports the wrong VAs 2025-03-31 17:19:57 +08:00