80 Commits

Author SHA1 Message Date
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
jiangjianfeng
55713b88c4 Remove unused dependencies 2025-02-10 10:36:56 +08:00
Ruihan Li
95bbc7f367 Enforce #[expect(lint)] 2025-02-08 15:10:04 +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
4cb85f0adb Fix dependency issue between components logger and virtio 2024-12-13 10:36:45 +08:00
Chen Chengjun
0cb2ea562e Inject the logger for Asterinas 2024-12-04 13:24:06 +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
Cautreoxit
32572e22d9 Implement flush for virtio-blk 2024-11-17 15:32:56 +08:00
jiangjianfeng
38682e3ed9 Assign callback to shared irq if there's no single irq line 2024-11-12 17:47:40 +08:00
jiangjianfeng
9965802f65 Disable send callback if sendqueue is not full 2024-11-12 17:47:40 +08:00
Shaowei Song
aa52e3980e Minor fix on virtio-blk's config 2024-11-06 11:00:43 +08:00
Hsy-Intel
b7d101b98c Fix MMIO read issue 2024-10-21 17:49:56 +08:00
jiangjianfeng
090149eed7 Add tcp latency test over virtio-net 2024-10-14 20:59:25 +08:00
Zhang Junyang
909639fd70 Separate SegmentSlice from Segment 2024-10-09 19:23:46 +08:00
Yuke Peng
7d5a2b7a79 [VirtIO] Correct the error code when device not match 2024-10-04 10:28:59 +08:00
jiangjianfeng
f793259512 Avoiding busy loop in sending packet and optimize device caps 2024-09-30 15:03:58 +08:00
Ruihan Li
51334c4a36 Clean up smoltcp dependencies 2024-09-26 15:22:16 +08:00
Ruihan Li
2bda8d17c4 Rename some misleading method names 2024-09-17 17:46:56 +08:00
Ruihan Li
cefeea7b50 Revise IoMem::resize into IoMem::slice 2024-09-17 17:46:56 +08:00
Ruihan Li
c8ba695c85 Implement VmIoOnce for IoMem 2024-09-17 17:46:56 +08:00
Cautreoxit
86f09eef75 Fix all spelling mistakes in history by typos tool 2024-08-27 12:19:48 +08:00
Yuke Peng
bb4751741a Bump smoltcp to newest git version 2024-08-22 22:58:36 +08:00
Cautreoxit
c44447d54b Refactor the API of spinlocks 2024-08-18 21:06:40 +08:00
Ruihan Li
b1ea422efa Fix accesses to VirtIO queue DMA 2024-08-06 11:34:15 +08:00
Zhang Junyang
870d542f60 Remove the error of BlkFeatures::MQ to support multi-processor startup
Co-authored-by: Chuandong Li <lichuand@pku.edu.cn>
2024-07-30 10:24:09 +08:00
Shaowei Song
ff525112d0 Revise the BlockDevice trait 2024-07-29 13:54:13 +08:00
Jianfeng Jiang
f86583dbce Make essential changes for publishing OSTD 2024-07-18 18:18:05 +08:00
Ruihan Li
3d2a0c33af Clean up the virtio console IRQ handler a bit 2024-07-14 16:43:23 +08:00
Ruihan Li
a465ec1346 Work around a QEMU bug in virtio console pasting 2024-07-14 16:43:23 +08:00
Yuke Peng
d43fbd88ba Add documentation to bus 2024-07-09 19:42:15 +08:00