94 Commits

Author SHA1 Message Date
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
Ruihan Li
28edc57dd0 Fix the nested bottom half 2024-12-05 13:42:12 +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
Marsman1996
6d3bb5a9d0 Fix compile error caused by updated Step::steps_between in Rust 2024-12-01 18:56:28 +08:00
Qingsong Chen
f762eb8913 Remove the lazy_static dependency 2024-11-28 15:28:30 +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
Chen Chengjun
2f511069ee Move SoftIRQ implementations to softirq component 2024-10-18 09:35:40 +08:00
jiangjianfeng
090149eed7 Add tcp latency test over virtio-net 2024-10-14 20:59:25 +08:00
Zhang Junyang
9e4257b655 Fix multiple issues pointed out by the new compiler 2024-10-13 22:32:05 +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
YanWQ-monad
4fa0e6334b Add RISC-V base support 2024-09-30 10:02:08 +08:00
YanWQ-monad
839c2a6689 Extract shared code from timer 2024-09-30 10:02:08 +08:00
Ruihan Li
51334c4a36 Clean up smoltcp dependencies 2024-09-26 15:22:16 +08:00
Zhang Junyang
9a79ecbcbe Clean up the frame buffer state in ostd::mm 2024-09-21 15:38:15 +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
Ruihan Li
1b9b76d27c Make use of new SpinLock APIs 2024-09-13 21:31:20 +08:00
Zhang Junyang
53ce7df53c Warn instead of panic on long clock update interval 2024-09-12 17:53:14 +08:00
Shaowei Song
e6f465b553 Replace all the ring buffers with the new one 2024-08-29 00:33:47 +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
Shaowei Song
dce796cdde Refactor all io APIs of vfs based on VmReader/VmWriter 2024-08-22 22:54:30 +08:00
Shaowei Song
2102107be1 Refactor VmReader&VmWriter as given fallibility marker 2024-08-21 22:24:15 +08:00
Cautreoxit
c44447d54b Refactor the API of spinlocks 2024-08-18 21:06:40 +08:00
Chen Chengjun
364ef48e2f Fix a concurrency bug in clocksource 2024-08-17 17:57:26 +08:00
YanWQ-monad
97fab9edea Prepare aster-time for platform-dependent implementations 2024-08-09 08:53:24 +08:00
Shaowei Song
8dce83605f Add sys_fallocate 2024-08-08 21:10:38 +08:00
Ruihan Li
b1ea422efa Fix accesses to VirtIO queue DMA 2024-08-06 11:34:15 +08:00
Shaowei Song
20a856b07f Revise the naming of all sync/async io APIs 2024-07-30 20:58:07 +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
Shaowei Song
b1cec501d8 [page_cache] Gap within one page should be filled with zeros in shrink case 2024-07-25 21:31:18 +08:00
Jianfeng Jiang
f86583dbce Make essential changes for publishing OSTD 2024-07-18 18:18:05 +08:00