Commit Graph

102 Commits

Author SHA1 Message Date
Zhang Junyang dd410444e5 Format with new `rustfmt` 2025-12-09 09:23:58 +08:00
Qingsong Chen 7876b7127d Fix virtio-block request ID exhaustion panics with SyncIdAlloc 2025-11-20 10:43:24 +08:00
Qingsong Chen 9e2f5adf9b Add partition support for block device 2025-11-20 10:43:24 +08:00
Ruihan Li d487e42b7c Reunify the style of defining `arch` modules 2025-10-30 17:04:45 +08:00
Zejun Zhao 3353e53577 Add VirtIO device probing code on RISC-V platforms 2025-10-30 10:47:53 +08:00
Cautreoxit 43fc98dc77 Migrate virtio-input to input subsystem API 2025-10-28 17:37:13 +08:00
Ruihan Li 8be8397a67 Make network callbacks and names related 2025-10-20 20:56:55 +08:00
Ruihan Li bc6ef5231b Reorangize `ostd::arch::irq` 2025-10-16 21:46:40 +09:00
Ruihan Li 0be36ee2c1 Fix virtio-mmio interrupt handling 2025-10-14 00:48:09 +09:00
Ruihan Li 472edcf795 Clean up unnecessary features 2025-09-24 15:41:07 +08:00
Yuke Peng 1a86bd2471 Move PCI bus in OSTD into PCI component 2025-09-21 10:32:23 +08:00
Tate, Hongliang Tian c485d512f6 Rename ostd::trap to ostd::irq 2025-09-19 15:05:50 +08:00
Ruihan Li 3b606f5b6c Use `size_of`/`align_of` in the prelude 2025-09-04 09:26:56 +08:00
Zhang Junyang 9e2d8e9f08 Use device addresses instead of physical addresses 2025-09-02 17:53:55 +08:00
Zhang Junyang 4e2bdc65de Refactor implicit `Arc` APIs for DMA 2025-09-02 17:53:55 +08:00
Zhang Junyang a6520880ab Unify memory object slicing 2025-09-02 17:53:55 +08:00
Zhang Junyang eb69aa4fb9 Unify address and size APIs for memory objects 2025-09-02 17:53:55 +08:00
Chen Chengjun fc5a12356a Fix LOONGARCH clippy warnings 2025-08-19 19:20:54 +08:00
Chen Chengjun 9507475102 Fix RISCV clippy warnings 2025-08-19 19:20:54 +08:00
Ruihan Li cdd28787ed Replace `write_vals` by `fill_zeros` in `VmIo` 2025-08-10 16:40:11 +08:00
Ruihan Li 2700d88bef Provide efficient `VmIo` with VM readers/writers 2025-08-10 16:40:11 +08:00
王英泰 fc72398fbc Change the method to identify the legacy virtio device 2025-07-25 17:37:24 +08:00
Ruihan Li 801ab865b7 Make paths of `TrapFrame` unique 2025-07-05 18:19:26 +08:00
Ruihan Li b96c8f9ed2 Make `ostd::trap::irq` public 2025-06-23 22:53:35 +08:00
Ruihan Li a3c5ab8cb4 Move virtio-mmio bus outside OSTD 2025-06-19 15:10:42 +08:00
Ruihan Li 67065835ef Redefine the TTY driver interface 2025-06-09 13:10:34 +08:00
stuuupidcat 95744692a5 Remove unnecessary #[inline] attributes 2025-05-22 12:19:21 +08:00
jiangjianfeng 7d24e63216 Move network polling code to bottom half 2025-04-15 14:54:51 +08:00
Ruihan Li a1f81df263 Remove `ostd/src/mm/offset.rs` 2025-04-15 09:15:22 +08:00
Chen Chengjun a21e895102 Enable RCU to read reference to stored pointers 2025-04-10 14:42:51 +08:00
Cautreoxit b4a1dc03f3 Delete useless visibility for BARs 2025-03-27 18:44:15 +08:00
jiangjianfeng 0e1c660225 Make VmReader's several methods accept `&mut self` 2025-03-25 14:25:08 +08:00
Yuke Peng 1f03955f51 Change IoMem directory 2025-03-22 17:38:30 +08:00
Ruihan Li 0d36375dfa Avoid `generic_const_exprs` feature 2025-03-06 16:35:21 +08:00
Zhang Junyang 55ee4bda2c Use RCU for console device callbacks 2025-03-03 09:24:49 +08:00
Fabing Li cbb4b4e631 Fix lint errors 2025-02-27 11:36:41 +08:00
Ruihan Li 0dca168717 Use `#[expect(lint)]`, not `#[allow(lint)]` 2025-02-08 15:10:04 +08:00
Ruihan Li 1c4e88e648 Fix `#[allow(dead_code)]` in virtio 2025-02-08 15:10:04 +08:00
Ruihan Li b415538097 Remove useless `#[allow(lint)]` 2025-02-08 15:10:04 +08:00
Zhang Junyang 983a6af3cc Polish the doc and rename variables in `ostd::mm` 2024-12-27 12:12:51 +08:00
Zhang Junyang cdac59beda Implement a new set of physical page APIs 2024-12-27 12:12:51 +08:00
Zhang Junyang c9a37ccab1 Renaming concepts around pages and frames
This commit renames `Frame` -> `UntypedFrame` and `Page` -> `Frame`.
So do other concepts in the following list:
 - `Segment` -> `UntypedSegment`,
 - `ContPages` -> `Segment`,
 - `DynPage` -> `AnyFrame`,
 - `PageMeta` -> `FrameMeta`,
 - `FrameMeta` -> `UntypedMeta`.

This commit also re-organized the source in the `mm/page` and `mm/frame`
module to accommodate the changes.
2024-12-27 12:12:51 +08:00
jiangjianfeng 9a540d0fb6 Notify virtqueue in a batch manner 2024-12-19 14:49:56 +08:00
Shaowei Song ecad132ec9 Refactor the block layer by introducing `BioSegmentPool` 2024-12-02 13:25:20 +08:00
Shaowei Song d37da228ab Improve flexibility of `DmaStreamSlice` 2024-12-02 13:25:20 +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
Jianfeng Jiang c8c9b9753e Make all network benchmark run with tap backend and vhost on 2024-11-20 20:24:03 +08:00
Cautreoxit 885950c2a4 Add VirtioBlockFeature to cache virtio-blk's features 2024-11-17 15:32:56 +08:00
Cautreoxit 3cb7f5b721 Rename the methods in the interface of VirtioTransport 2024-11-17 15:32:56 +08:00