Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
1bebb0ad
Q
qemu
项目概览
openeuler
/
qemu
通知
10
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
qemu
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
1bebb0ad
编写于
10月 08, 2012
作者:
A
Alexander Graf
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
rtl8139: convert PIO to new memory api read/write
Signed-off-by:
N
Alexander Graf
<
agraf@suse.de
>
上级
d540bfe0
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
36 addition
and
42 deletion
+36
-42
hw/rtl8139.c
hw/rtl8139.c
+36
-42
未找到文件。
hw/rtl8139.c
浏览文件 @
1bebb0ad
...
...
@@ -3187,38 +3187,6 @@ static uint32_t rtl8139_io_readl(void *opaque, uint8_t addr)
/* */
static
void
rtl8139_ioport_writeb
(
void
*
opaque
,
uint32_t
addr
,
uint32_t
val
)
{
rtl8139_io_writeb
(
opaque
,
addr
&
0xFF
,
val
);
}
static
void
rtl8139_ioport_writew
(
void
*
opaque
,
uint32_t
addr
,
uint32_t
val
)
{
rtl8139_io_writew
(
opaque
,
addr
&
0xFF
,
val
);
}
static
void
rtl8139_ioport_writel
(
void
*
opaque
,
uint32_t
addr
,
uint32_t
val
)
{
rtl8139_io_writel
(
opaque
,
addr
&
0xFF
,
val
);
}
static
uint32_t
rtl8139_ioport_readb
(
void
*
opaque
,
uint32_t
addr
)
{
return
rtl8139_io_readb
(
opaque
,
addr
&
0xFF
);
}
static
uint32_t
rtl8139_ioport_readw
(
void
*
opaque
,
uint32_t
addr
)
{
return
rtl8139_io_readw
(
opaque
,
addr
&
0xFF
);
}
static
uint32_t
rtl8139_ioport_readl
(
void
*
opaque
,
uint32_t
addr
)
{
return
rtl8139_io_readl
(
opaque
,
addr
&
0xFF
);
}
/* */
static
void
rtl8139_mmio_writeb
(
void
*
opaque
,
hwaddr
addr
,
uint32_t
val
)
{
rtl8139_io_writeb
(
opaque
,
addr
&
0xFF
,
val
);
...
...
@@ -3386,18 +3354,44 @@ static const VMStateDescription vmstate_rtl8139 = {
/***********************************************************/
/* PCI RTL8139 definitions */
static
const
MemoryRegionPortio
rtl8139_portio
[]
=
{
{
0
,
0x100
,
1
,
.
read
=
rtl8139_ioport_readb
,
},
{
0
,
0x100
,
1
,
.
write
=
rtl8139_ioport_writeb
,
},
{
0
,
0x100
,
2
,
.
read
=
rtl8139_ioport_readw
,
},
{
0
,
0x100
,
2
,
.
write
=
rtl8139_ioport_writew
,
},
{
0
,
0x100
,
4
,
.
read
=
rtl8139_ioport_readl
,
},
{
0
,
0x100
,
4
,
.
write
=
rtl8139_ioport_writel
,
},
PORTIO_END_OF_LIST
()
};
static
void
rtl8139_ioport_write
(
void
*
opaque
,
hwaddr
addr
,
uint64_t
val
,
unsigned
size
)
{
switch
(
size
)
{
case
1
:
rtl8139_io_writeb
(
opaque
,
addr
,
val
);
break
;
case
2
:
rtl8139_io_writew
(
opaque
,
addr
,
val
);
break
;
case
4
:
rtl8139_io_writel
(
opaque
,
addr
,
val
);
break
;
}
}
static
uint64_t
rtl8139_ioport_read
(
void
*
opaque
,
hwaddr
addr
,
unsigned
size
)
{
switch
(
size
)
{
case
1
:
return
rtl8139_io_readb
(
opaque
,
addr
);
case
2
:
return
rtl8139_io_readw
(
opaque
,
addr
);
case
4
:
return
rtl8139_io_readl
(
opaque
,
addr
);
}
return
-
1
;
}
static
const
MemoryRegionOps
rtl8139_io_ops
=
{
.
old_portio
=
rtl8139_portio
,
.
read
=
rtl8139_ioport_read
,
.
write
=
rtl8139_ioport_write
,
.
impl
=
{
.
min_access_size
=
1
,
.
max_access_size
=
4
,
},
.
endianness
=
DEVICE_LITTLE_ENDIAN
,
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录