Commit Graph

58 Commits

Author SHA1 Message Date
81898362b6 Add virtio legacy interface 2024-11-21 19:10:06 +08:00
495c93c2ad Refactor Rwlock to take type parameter 2024-11-21 15:46:10 +08:00
c8c9b9753e Make all network benchmark run with tap backend and vhost on 2024-11-20 20:24:03 +08:00
885950c2a4 Add VirtioBlockFeature to cache virtio-blk's features 2024-11-17 15:32:56 +08:00
3cb7f5b721 Rename the methods in the interface of VirtioTransport 2024-11-17 15:32:56 +08:00
32572e22d9 Implement flush for virtio-blk 2024-11-17 15:32:56 +08:00
38682e3ed9 Assign callback to shared irq if there's no single irq line 2024-11-12 17:47:40 +08:00
9965802f65 Disable send callback if sendqueue is not full 2024-11-12 17:47:40 +08:00
aa52e3980e Minor fix on virtio-blk's config 2024-11-06 11:00:43 +08:00
b7d101b98c Fix MMIO read issue 2024-10-21 17:49:56 +08:00
090149eed7 Add tcp latency test over virtio-net 2024-10-14 20:59:25 +08:00
909639fd70 Separate SegmentSlice from Segment 2024-10-09 19:23:46 +08:00
7d5a2b7a79 [VirtIO] Correct the error code when device not match 2024-10-04 10:28:59 +08:00
f793259512 Avoiding busy loop in sending packet and optimize device caps 2024-09-30 15:03:58 +08:00
51334c4a36 Clean up smoltcp dependencies 2024-09-26 15:22:16 +08:00
2bda8d17c4 Rename some misleading method names 2024-09-17 17:46:56 +08:00
cefeea7b50 Revise IoMem::resize into IoMem::slice 2024-09-17 17:46:56 +08:00
c8ba695c85 Implement VmIoOnce for IoMem 2024-09-17 17:46:56 +08:00
86f09eef75 Fix all spelling mistakes in history by typos tool 2024-08-27 12:19:48 +08:00
bb4751741a Bump smoltcp to newest git version 2024-08-22 22:58:36 +08:00
c44447d54b Refactor the API of spinlocks 2024-08-18 21:06:40 +08:00
b1ea422efa Fix accesses to VirtIO queue DMA 2024-08-06 11:34:15 +08:00
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
ff525112d0 Revise the BlockDevice trait 2024-07-29 13:54:13 +08:00
f86583dbce Make essential changes for publishing OSTD 2024-07-18 18:18:05 +08:00
3d2a0c33af Clean up the virtio console IRQ handler a bit 2024-07-14 16:43:23 +08:00
a465ec1346 Work around a QEMU bug in virtio console pasting 2024-07-14 16:43:23 +08:00
d43fbd88ba Add documentation to bus 2024-07-09 19:42:15 +08:00
59350a8578 Rename aster-frame to ostd 2024-06-27 15:45:49 +08:00
9f67fcdc58 Reuse Rxbuffer and update qemu_args.sh for vsock 2024-06-11 17:51:36 +08:00
646406115e Optimize vsock code structure 2024-06-11 17:51:36 +08:00
60dd17fdd3 Support calling from inside via vsock 2024-06-11 17:51:36 +08:00
48f69c25a9 Support nonblocking option 2024-06-11 17:51:36 +08:00
ad140cec3c Implement vsock socket layer 2024-06-11 17:51:36 +08:00
83a7937334 Make vsock device optional 2024-06-11 17:51:36 +08:00
be45f0ee72 Fix format and clippy errors 2024-06-11 17:51:36 +08:00
52f808e315 Implement vsock driver 2024-06-11 17:51:36 +08:00
c6aa9f9ee8 Limit the number of segments in single bio request 2024-06-05 16:13:59 +08:00
7095b37e7e Refactor the source structure in aster_frame::mm 2024-06-03 22:16:02 +08:00
14e1b1a9fc Rename various concepts related to memory management 2024-06-03 22:16:02 +08:00
c02eacd50c Use deny(unsafe_code) instead of forbid(unsafe_code) 2024-05-31 16:05:58 +08:00
d1990869ae Make ID allocator a separate crate and use it in the frame 2024-05-09 14:35:12 +08:00
cd3faa8123 Inherit HasDaddr for reference type 2024-04-29 20:33:57 +08:00
a482c87696 Remove add_buf from VirtQueue 2024-04-29 20:33:57 +08:00
2256f6ae8a Extend Safeptr to support DmaStream 2024-04-29 20:33:57 +08:00
345ab8f838 Add write_vals for VmIo 2024-04-29 20:33:57 +08:00
abb377b695 Replace SpinLock with RwLock in driver callbacks 2024-04-29 20:33:57 +08:00
cd1575bc6d Refactor virtio drivers with DMA APIs 2024-04-29 20:33:57 +08:00
c875201c3f Fix deadlocks that may arise after converting virtio-blk to async
The IRQ part of the driver must NOT share a SpinLock with
the normal part of the driver unless the SpinLock is acquired
with IRQ disabled in the task context.
2024-04-26 14:36:46 +08:00
349d7baa24 Fix the algorithm error for recycling descriptors in VirtQueue 2024-04-26 14:36:46 +08:00