Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
508d92d0
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看板
提交
508d92d0
编写于
8月 26, 2006
作者:
B
bellard
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
16 bit divider
git-svn-id:
svn://svn.savannah.nongnu.org/qemu/trunk@2138
c046a42c-6fe2-441c-8c8c-71466251a162
上级
64f5a135
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
9 addition
and
6 deletion
+9
-6
hw/serial.c
hw/serial.c
+9
-6
未找到文件。
hw/serial.c
浏览文件 @
508d92d0
...
...
@@ -71,7 +71,7 @@
#define UART_LSR_DR 0x01
/* Receiver data ready */
struct
SerialState
{
uint
8
_t
divider
;
uint
16
_t
divider
;
uint8_t
rbr
;
/* receive register */
uint8_t
ier
;
uint8_t
iir
;
/* read only */
...
...
@@ -310,7 +310,7 @@ static void serial_save(QEMUFile *f, void *opaque)
{
SerialState
*
s
=
opaque
;
qemu_put_
8
s
(
f
,
&
s
->
divider
);
qemu_put_
be16
s
(
f
,
&
s
->
divider
);
qemu_put_8s
(
f
,
&
s
->
rbr
);
qemu_put_8s
(
f
,
&
s
->
ier
);
qemu_put_8s
(
f
,
&
s
->
iir
);
...
...
@@ -325,10 +325,13 @@ static int serial_load(QEMUFile *f, void *opaque, int version_id)
{
SerialState
*
s
=
opaque
;
if
(
version_id
!=
1
)
if
(
version_id
>
2
)
return
-
EINVAL
;
qemu_get_8s
(
f
,
&
s
->
divider
);
if
(
version_id
>=
2
)
qemu_get_be16s
(
f
,
&
s
->
divider
);
else
s
->
divider
=
qemu_get_byte
(
f
);
qemu_get_8s
(
f
,
&
s
->
rbr
);
qemu_get_8s
(
f
,
&
s
->
ier
);
qemu_get_8s
(
f
,
&
s
->
iir
);
...
...
@@ -357,7 +360,7 @@ SerialState *serial_init(SetIRQFunc *set_irq, void *opaque,
s
->
iir
=
UART_IIR_NO_INT
;
s
->
msr
=
UART_MSR_DCD
|
UART_MSR_DSR
|
UART_MSR_CTS
;
register_savevm
(
"serial"
,
base
,
1
,
serial_save
,
serial_load
,
s
);
register_savevm
(
"serial"
,
base
,
2
,
serial_save
,
serial_load
,
s
);
register_ioport_write
(
base
,
8
,
1
,
serial_ioport_write
,
s
);
register_ioport_read
(
base
,
8
,
1
,
serial_ioport_read
,
s
);
...
...
@@ -444,7 +447,7 @@ SerialState *serial_mm_init (SetIRQFunc *set_irq, void *opaque,
s
->
base
=
base
;
s
->
it_shift
=
it_shift
;
register_savevm
(
"serial"
,
base
,
1
,
serial_save
,
serial_load
,
s
);
register_savevm
(
"serial"
,
base
,
2
,
serial_save
,
serial_load
,
s
);
s_io_memory
=
cpu_register_io_memory
(
0
,
serial_mm_read
,
serial_mm_write
,
s
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录