Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
3c9a8a8c
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看板
提交
3c9a8a8c
编写于
7月 27, 2013
作者:
A
Andreas Färber
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
etraxfs_timer: Rename etrax_timer to ETRAXTimerState
Signed-off-by:
N
Andreas Färber
<
afaerber@suse.de
>
上级
831aab9b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
13 addition
and
13 deletion
+13
-13
hw/timer/etraxfs_timer.c
hw/timer/etraxfs_timer.c
+13
-13
未找到文件。
hw/timer/etraxfs_timer.c
浏览文件 @
3c9a8a8c
...
...
@@ -42,7 +42,7 @@
#define R_INTR 0x50
#define R_MASKED_INTR 0x54
struct
etrax_timer
{
typedef
struct
ETRAXTimerState
{
SysBusDevice
busdev
;
MemoryRegion
mmio
;
qemu_irq
irq
;
...
...
@@ -72,12 +72,12 @@ struct etrax_timer {
uint32_t
rw_ack_intr
;
uint32_t
r_intr
;
uint32_t
r_masked_intr
;
};
}
ETRAXTimerState
;
static
uint64_t
timer_read
(
void
*
opaque
,
hwaddr
addr
,
unsigned
int
size
)
{
struct
etrax_timer
*
t
=
opaque
;
ETRAXTimerState
*
t
=
opaque
;
uint32_t
r
=
0
;
switch
(
addr
)
{
...
...
@@ -103,7 +103,7 @@ timer_read(void *opaque, hwaddr addr, unsigned int size)
return
r
;
}
static
void
update_ctrl
(
struct
etrax_timer
*
t
,
int
tnum
)
static
void
update_ctrl
(
ETRAXTimerState
*
t
,
int
tnum
)
{
unsigned
int
op
;
unsigned
int
freq
;
...
...
@@ -167,7 +167,7 @@ static void update_ctrl(struct etrax_timer *t, int tnum)
}
}
static
void
timer_update_irq
(
struct
etrax_timer
*
t
)
static
void
timer_update_irq
(
ETRAXTimerState
*
t
)
{
t
->
r_intr
&=
~
(
t
->
rw_ack_intr
);
t
->
r_masked_intr
=
t
->
r_intr
&
t
->
rw_intr_mask
;
...
...
@@ -178,21 +178,21 @@ static void timer_update_irq(struct etrax_timer *t)
static
void
timer0_hit
(
void
*
opaque
)
{
struct
etrax_timer
*
t
=
opaque
;
ETRAXTimerState
*
t
=
opaque
;
t
->
r_intr
|=
1
;
timer_update_irq
(
t
);
}
static
void
timer1_hit
(
void
*
opaque
)
{
struct
etrax_timer
*
t
=
opaque
;
ETRAXTimerState
*
t
=
opaque
;
t
->
r_intr
|=
2
;
timer_update_irq
(
t
);
}
static
void
watchdog_hit
(
void
*
opaque
)
{
struct
etrax_timer
*
t
=
opaque
;
ETRAXTimerState
*
t
=
opaque
;
if
(
t
->
wd_hits
==
0
)
{
/* real hw gives a single tick before reseting but we are
a bit friendlier to compensate for our slower execution. */
...
...
@@ -206,7 +206,7 @@ static void watchdog_hit(void *opaque)
t
->
wd_hits
++
;
}
static
inline
void
timer_watchdog_update
(
struct
etrax_timer
*
t
,
uint32_t
value
)
static
inline
void
timer_watchdog_update
(
ETRAXTimerState
*
t
,
uint32_t
value
)
{
unsigned
int
wd_en
=
t
->
rw_wd_ctrl
&
(
1
<<
8
);
unsigned
int
wd_key
=
t
->
rw_wd_ctrl
>>
9
;
...
...
@@ -245,7 +245,7 @@ static void
timer_write
(
void
*
opaque
,
hwaddr
addr
,
uint64_t
val64
,
unsigned
int
size
)
{
struct
etrax_timer
*
t
=
opaque
;
ETRAXTimerState
*
t
=
opaque
;
uint32_t
value
=
val64
;
switch
(
addr
)
...
...
@@ -298,7 +298,7 @@ static const MemoryRegionOps timer_ops = {
static
void
etraxfs_timer_reset
(
void
*
opaque
)
{
struct
etrax_timer
*
t
=
opaque
;
ETRAXTimerState
*
t
=
opaque
;
ptimer_stop
(
t
->
ptimer_t0
);
ptimer_stop
(
t
->
ptimer_t1
);
...
...
@@ -311,7 +311,7 @@ static void etraxfs_timer_reset(void *opaque)
static
int
etraxfs_timer_init
(
SysBusDevice
*
dev
)
{
struct
etrax_timer
*
t
=
FROM_SYSBUS
(
typeof
(
*
t
),
dev
);
ETRAXTimerState
*
t
=
FROM_SYSBUS
(
typeof
(
*
t
),
dev
);
t
->
bh_t0
=
qemu_bh_new
(
timer0_hit
,
t
);
t
->
bh_t1
=
qemu_bh_new
(
timer1_hit
,
t
);
...
...
@@ -340,7 +340,7 @@ static void etraxfs_timer_class_init(ObjectClass *klass, void *data)
static
const
TypeInfo
etraxfs_timer_info
=
{
.
name
=
"etraxfs,timer"
,
.
parent
=
TYPE_SYS_BUS_DEVICE
,
.
instance_size
=
sizeof
(
struct
etrax_timer
),
.
instance_size
=
sizeof
(
ETRAXTimerState
),
.
class_init
=
etraxfs_timer_class_init
,
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录