Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
a9bd9b5a
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看板
提交
a9bd9b5a
编写于
3月 15, 2016
作者:
L
Leon Alrae
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
hw/mips/cps: create GCR block inside CPS
Signed-off-by:
N
Leon Alrae
<
leon.alrae@imgtec.com
>
上级
3994215d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
25 addition
and
0 deletion
+25
-0
hw/mips/cps.c
hw/mips/cps.c
+23
-0
include/hw/mips/cps.h
include/hw/mips/cps.h
+2
-0
未找到文件。
hw/mips/cps.c
浏览文件 @
a9bd9b5a
...
...
@@ -62,6 +62,8 @@ static void mips_cps_realize(DeviceState *dev, Error **errp)
CPUMIPSState
*
env
;
MIPSCPU
*
cpu
;
int
i
;
Error
*
err
=
NULL
;
target_ulong
gcr_base
;
for
(
i
=
0
;
i
<
s
->
num_vp
;
i
++
)
{
cpu
=
cpu_mips_init
(
s
->
cpu_model
);
...
...
@@ -76,6 +78,27 @@ static void mips_cps_realize(DeviceState *dev, Error **errp)
cpu_mips_clock_init
(
env
);
qemu_register_reset
(
main_cpu_reset
,
cpu
);
}
cpu
=
MIPS_CPU
(
first_cpu
);
env
=
&
cpu
->
env
;
/* Global Configuration Registers */
gcr_base
=
env
->
CP0_CMGCRBase
<<
4
;
object_initialize
(
&
s
->
gcr
,
sizeof
(
s
->
gcr
),
TYPE_MIPS_GCR
);
qdev_set_parent_bus
(
DEVICE
(
&
s
->
gcr
),
sysbus_get_default
());
object_property_set_int
(
OBJECT
(
&
s
->
gcr
),
s
->
num_vp
,
"num-vp"
,
&
err
);
object_property_set_int
(
OBJECT
(
&
s
->
gcr
),
0x800
,
"gcr-rev"
,
&
err
);
object_property_set_int
(
OBJECT
(
&
s
->
gcr
),
gcr_base
,
"gcr-base"
,
&
err
);
object_property_set_bool
(
OBJECT
(
&
s
->
gcr
),
true
,
"realized"
,
&
err
);
if
(
err
!=
NULL
)
{
error_propagate
(
errp
,
err
);
return
;
}
memory_region_add_subregion
(
&
s
->
container
,
gcr_base
,
sysbus_mmio_get_region
(
SYS_BUS_DEVICE
(
&
s
->
gcr
),
0
));
}
static
Property
mips_cps_properties
[]
=
{
...
...
include/hw/mips/cps.h
浏览文件 @
a9bd9b5a
...
...
@@ -21,6 +21,7 @@
#define MIPS_CPS_H
#include "hw/sysbus.h"
#include "hw/misc/mips_cmgcr.h"
#define TYPE_MIPS_CPS "mips-cps"
#define MIPS_CPS(obj) OBJECT_CHECK(MIPSCPSState, (obj), TYPE_MIPS_CPS)
...
...
@@ -33,6 +34,7 @@ typedef struct MIPSCPSState {
char
*
cpu_model
;
MemoryRegion
container
;
MIPSGCRState
gcr
;
}
MIPSCPSState
;
qemu_irq
get_cps_irq
(
MIPSCPSState
*
cps
,
int
pin_number
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录