Commit Graph

238 Commits

Author SHA1 Message Date
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
Yuke Peng 99fdd49076 Support Queue Invalidation in IOMMU 2024-11-09 10:42:46 +08:00
Zhang Junyang 25a918d132 Print who and on which CPU the kernel panics 2024-11-07 16:39:47 +08:00
Qingsong Chen 438dad888e Fix the range of IoMem's reader/writer 2024-11-07 14:18:33 +08:00
Ruihan Li 5233827160 Don't preempt without good reason 2024-11-06 21:53:55 +08:00
Ruihan Li 768b182aba Make the code a bit cleaner 2024-11-06 21:53:55 +08:00
Zhang Junyang c34706603a Special treat VM Space clearing 2024-11-06 21:52:53 +08:00
Cautreoxit fda05e9e23 Correct a small syntax error 2024-11-06 21:30:50 +08:00
Ruize Tang bebfc360da Fix lost-wakeup in RwMutexUpgradeableGuard_.drop() 2024-11-06 21:30:14 +08:00
Fabing Li 561516df98 Export /proc/cpuinfo 2024-11-06 14:54:28 +08:00
Zhang Junyang b3515c498a Improve the scalability for TLB flusher 2024-11-06 10:57:18 +08:00
Qingsong Chen b3d30f7ac3 Fix pci config errors caused by expression precedence 2024-11-05 14:55:19 +08:00
Qingsong Chen 2c6cbee92f Fix the offset of PCI device class code 2024-11-05 14:55:19 +08:00
Chen Chengjun c7b3a596dd Disable IRQ during page allocation 2024-11-01 11:24:09 +08:00
Ruihan Li 7e2e9cebf6 Perform more noncontroversial cleanups 2024-10-31 15:19:20 +08:00
Ruihan Li 9d5350c2ee Use better names and avoid duplication 2024-10-31 15:19:20 +08:00
jellllly420 cff688e128 Drop the strong reference of Task before exiting 2024-10-28 19:22:17 +08:00
Zhang Junyang e319641b4d Implement system call `sched_get/set_affinity` 2024-10-26 22:06:41 +08:00
Zhang Junyang 3468ec213b Use `CpuId` with validity ensurance rather than `u32` 2024-10-26 22:06:41 +08:00
Zhang Junyang b400d287fa Remove `ostd::sync::AtomicBits` 2024-10-26 22:06:41 +08:00
Zhang Junyang 26c4abde58 Refactor `CpuSet` and introduce `AtomicCpuSet` 2024-10-26 22:06:41 +08:00