Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
卖小麦←_←
rt-thread
提交
9497b37e
R
rt-thread
项目概览
卖小麦←_←
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9497b37e
编写于
9月 19, 2022
作者:
G
guozhanxin
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'remotes/gitee/rt-smart' into rt-smart
上级
03a47b96
3c30bdc5
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
8 addition
and
9 deletion
+8
-9
components/drivers/virtio/virtio_blk.c
components/drivers/virtio/virtio_blk.c
+3
-3
components/drivers/virtio/virtio_blk.h
components/drivers/virtio/virtio_blk.h
+5
-6
未找到文件。
components/drivers/virtio/virtio_blk.c
浏览文件 @
9497b37e
...
...
@@ -21,7 +21,7 @@ static void virtio_blk_rw(struct virtio_blk_device *virtio_blk_dev, rt_off_t pos
int
flags
)
{
rt_uint16_t
idx
[
3
];
rt_size_t
size
=
count
*
VIRTIO_BLK_BUF_DATA_SIZE
;
rt_size_t
size
=
count
*
virtio_blk_dev
->
config
->
blk_size
;
struct
virtio_device
*
virtio_dev
=
&
virtio_blk_dev
->
virtio_dev
;
#ifdef RT_USING_SMP
...
...
@@ -45,7 +45,7 @@ static void virtio_blk_rw(struct virtio_blk_device *virtio_blk_dev, rt_off_t pos
virtio_blk_dev
->
info
[
idx
[
0
]].
valid
=
RT_TRUE
;
virtio_blk_dev
->
info
[
idx
[
0
]].
req
.
type
=
flags
;
virtio_blk_dev
->
info
[
idx
[
0
]].
req
.
ioprio
=
0
;
virtio_blk_dev
->
info
[
idx
[
0
]].
req
.
sector
=
pos
*
count
;
virtio_blk_dev
->
info
[
idx
[
0
]].
req
.
sector
=
pos
*
(
virtio_blk_dev
->
config
->
blk_size
/
512
)
;
flags
=
flags
==
VIRTIO_BLK_T_OUT
?
0
:
VIRTQ_DESC_F_WRITE
;
...
...
@@ -114,7 +114,7 @@ static rt_err_t virtio_blk_control(rt_device_t dev, int cmd, void *args)
}
geometry
->
bytes_per_sector
=
VIRTIO_BLK_BYTES_PER_SECTOR
;
geometry
->
block_size
=
VIRTIO_BLK_BLOCK_SIZE
;
geometry
->
block_size
=
virtio_blk_dev
->
config
->
blk_size
;
geometry
->
sector_count
=
virtio_blk_dev
->
config
->
capacity
;
}
break
;
...
...
components/drivers/virtio/virtio_blk.h
浏览文件 @
9497b37e
...
...
@@ -17,9 +17,7 @@
#include <virtio.h>
#define VIRTIO_BLK_QUEUE 0
#define VIRTIO_BLK_BUF_DATA_SIZE 512
#define VIRTIO_BLK_BYTES_PER_SECTOR 512
#define VIRTIO_BLK_BLOCK_SIZE 512
#define VIRTIO_BLK_QUEUE_RING_SIZE 4
#define VIRTIO_BLK_F_RO 5
/* Disk is read-only */
...
...
@@ -43,10 +41,11 @@ struct virtio_blk_req
struct
virtio_blk_config
{
rt_uint64_t
capacity
;
rt_uint32_t
size_max
;
rt_uint32_t
seg_max
;
rt_uint64_t
capacity
;
/* The capacity (in 512-byte sectors). */
rt_uint32_t
size_max
;
/* The maximum segment size (if VIRTIO_BLK_F_SIZE_MAX) */
rt_uint32_t
seg_max
;
/* The maximum number of segments (if VIRTIO_BLK_F_SEG_MAX) */
/* Geometry of the device (if VIRTIO_BLK_F_GEOMETRY) */
struct
virtio_blk_geometry
{
rt_uint16_t
cylinders
;
...
...
@@ -54,7 +53,7 @@ struct virtio_blk_config
rt_uint8_t
sectors
;
}
geometry
;
rt_uint32_t
blk_size
;
rt_uint32_t
blk_size
;
/* Block size of device (if VIRTIO_BLK_F_BLK_SIZE) */
struct
virtio_blk_topology
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录