Commit Graph

258 Commits

Author SHA1 Message Date
Ruihan Li 5aa73d3bcf Use `REF_COUNT_MAX` to avoid overflowing 2024-12-25 18:20:36 +08:00
Ruihan Li f03ffd0d10 Use `REF_COUNT_UNUSED` to ensure exclusive access 2024-12-25 18:20:36 +08:00
Ruihan Li a2863d6db3 Use `MaybeUninit` to store metadata vtable 2024-12-25 18:20:36 +08:00
Fabing Li 6f98c4900d Bump version to 0.10.3 2024-12-20 09:49:35 +08:00
Ruihan Li c5d1542736 Bump version to 0.10.2 2024-12-17 10:47:41 +08:00
Zejun Zhao ced0023d6b Introduce a syscall restart mechanism 2024-12-16 21:12:08 +08:00
Zhang Junyang f1df7982fd Add temporary linear mapping for metadata 2024-12-16 19:21:54 +08:00
Zhang Junyang 508919ca38 Heapless metadada init 2024-12-16 19:21:54 +08:00
Zhang Junyang 04511b74c4 Revise the access of some external statics 2024-12-16 19:15:59 +08:00
Zhang Junyang 68bdda4c4c Set the page table for APs before kicking 2024-12-16 19:15:59 +08:00
Zhang Junyang 60365a818a Use pointer metadata for page metadata 2024-12-16 13:22:05 +08:00
Ruihan Li 53b873f647 Add `get_mut` methods for locks 2024-12-15 16:36:54 +08:00
Ruihan Li 87e953eac3 Add a missing `#[track_caller]` 2024-12-15 16:36:54 +08:00
Ruihan Li 18d5eb1f02 Use physical addresses in boot segments 2024-12-13 10:42:05 +08:00
Ruihan Li 969ac97144 Make atomic mode panics have clear messages 2024-12-11 20:27:29 +08:00
Hsy-Intel dbee797bca Accept pending private pages in TDX environment 2024-12-11 19:36:51 +08:00
Hsy-Intel 1b6901f0f8 Bump tdx-guest crate version to 0.1.8 2024-12-11 19:36:51 +08:00
Zejun Zhao 00e3688aa8 Bump version to 0.10.1 2024-12-07 19:02:46 +08:00
Ruihan Li 74c11134f1 Use `fn()` for the bottom half handler 2024-12-05 13:42:12 +08:00
Ruihan Li 28edc57dd0 Fix the nested bottom half 2024-12-05 13:42:12 +08:00
Chen Chengjun 7865469998 Make the logger in OSTD injectable 2024-12-04 13:24:06 +08:00
Chen Chengjun b17cbb2408 Finish bootstrap once finishing the initialization of OSTD 2024-12-04 13:24:06 +08:00
徐启航 878f3f3760 Scheduling class support 2024-12-04 09:36:41 +08:00
Ruihan Li a260411a2a Implement `WriteIrqDisabled` 2024-12-03 12:07:24 +08:00
Ruihan Li 29659dbc98 Move `Guardian` to `guard.rs` 2024-12-03 12:07:24 +08:00
Ruihan Li 9e814251df Remove unnecessary trait bounds 2024-12-03 12:07:24 +08:00
Shaowei Song d37da228ab Improve flexibility of `DmaStreamSlice` 2024-12-02 13:25:20 +08:00
jiangjianfeng ef2419a48c Bump version to 0.10.0 2024-12-02 10:30:32 +08:00
Marsman1996 6d3bb5a9d0 Fix compile error caused by updated `Step::steps_between` in Rust 2024-12-01 18:56:28 +08:00
Qingsong Chen 5e35704e38 Support eagerly FPU state save/restore
Co-authored-by: Shaowei Song <songshaowei.ssw@antgroup.com>
2024-11-29 21:53:14 +08:00
Qingsong Chen f762eb8913 Remove the `lazy_static` dependency 2024-11-28 15:28:30 +08:00
Ruize Tang 5313689d6f Fix deadlock in FLUSH_OPS by disabling IRQ 2024-11-27 12:11:46 +08:00
Hsy-Intel d67976da88 Support TDX debugging feature 2024-11-26 19:15:22 +08:00
Ruize Tang 9e5075dab7 Clear `DF` flag during trap handling to conform to x86-64 calling convention 2024-11-25 14:20:28 +08:00
Qingsong Chen 81898362b6 Add virtio legacy interface 2024-11-21 19:10:06 +08:00
jiangjianfeng 495c93c2ad Refactor Rwlock to take type parameter 2024-11-21 15:46:10 +08:00
Ruihan Li f1aae23234 Rename `as_ptr_mut` to `as_mut_ptr` 2024-11-21 09:02:58 +08:00
Ruihan Li b6944e48bd `CpuLocalCell::as_ptr_mut` should be safe 2024-11-21 09:02:58 +08:00
Ruihan Li 3d63ed7a4c Keep interrupts disabled during context switching 2024-11-21 09:02:58 +08:00
Ruihan Li 9b38eff5fe Avoid `Arc` instances in `switch_to` 2024-11-21 09:02:58 +08:00
Ruihan Li ec2c6ab7a3 Make `Pollee` semi-stateless 2024-11-20 16:39:18 +08:00
Ruihan Li a4a8807a20 Remove `KernelThreadExt` 2024-11-13 21:44:37 +08:00
Ruihan Li 1469059888 Implement `CurrentTask` 2024-11-13 10:32:54 +08:00
Ruihan Li 51db2da151 Add `ForceSync` 2024-11-13 10:32:54 +08:00
Ruihan Li 11382524d1 Use new `SpinLock` APIs in `wait.rs` 2024-11-10 17:42:00 +08:00
Zhang Junyang 1f612e45f7 Remove unnecessary page table items 2024-11-09 20:32:48 +08:00
Zhang Junyang b2b00bdfd2 Lock-free cursor creation 2024-11-09 20:32:48 +08:00
Yuke Peng 12aa9fc857 Refactor the document of IOMMU functions 2024-11-09 10:42:46 +08:00
Yuke Peng c2626da757 Rename some IOMMU functions 2024-11-09 10:42:46 +08:00
Yuke Peng 65a95cf6b7 Support Interrupt Remapping in IOMMU 2024-11-09 10:42:46 +08:00