Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenXiangShan
NEMU
提交
1777ca47
N
NEMU
项目概览
OpenXiangShan
/
NEMU
大约 1 年 前同步成功
通知
7
Star
171
Fork
67
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
NEMU
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
1777ca47
编写于
9月 23, 2020
作者:
W
William Wang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Difftest: fix mastatus sync func type
上级
2920874a
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
11 addition
and
9 deletion
+11
-9
include/isa.h
include/isa.h
+3
-3
include/monitor/difftest.h
include/monitor/difftest.h
+2
-0
src/isa/riscv64/difftest/ref.c
src/isa/riscv64/difftest/ref.c
+2
-2
src/isa/riscv64/exec/exec.c
src/isa/riscv64/exec/exec.c
+1
-1
src/monitor/difftest/ref.c
src/monitor/difftest/ref.c
+3
-3
未找到文件。
include/isa.h
浏览文件 @
1777ca47
...
@@ -39,9 +39,9 @@ void isa_difftest_attach();
...
@@ -39,9 +39,9 @@ void isa_difftest_attach();
void
isa_difftest_getregs
(
void
*
r
);
void
isa_difftest_getregs
(
void
*
r
);
void
isa_difftest_setregs
(
const
void
*
r
);
void
isa_difftest_setregs
(
const
void
*
r
);
void
isa_difftest_raise_intr
(
word_t
NO
);
void
isa_difftest_raise_intr
(
word_t
NO
);
void
isa_difftest_get_mastatus
(
uint64_t
*
s
);
void
isa_difftest_get_mastatus
(
void
*
s
);
void
isa_difftest_set_mastatus
(
uint64_t
*
s
);
void
isa_difftest_set_mastatus
(
const
void
*
s
);
vaddr_t
isa_disambiguate_exec
(
uint64_t
*
disambiguate_para
);
vaddr_t
isa_disambiguate_exec
(
void
*
disambiguate_para
);
bool
isa_difftest_microarchitectural_pf_check
(
vaddr_t
addr
);
bool
isa_difftest_microarchitectural_pf_check
(
vaddr_t
addr
);
#endif
#endif
include/monitor/difftest.h
浏览文件 @
1777ca47
...
@@ -16,6 +16,8 @@ void difftest_step(vaddr_t ori_pc, vaddr_t next_pc);
...
@@ -16,6 +16,8 @@ void difftest_step(vaddr_t ori_pc, vaddr_t next_pc);
extern
void
(
*
ref_difftest_memcpy_from_dut
)(
paddr_t
dest
,
void
*
src
,
size_t
n
);
extern
void
(
*
ref_difftest_memcpy_from_dut
)(
paddr_t
dest
,
void
*
src
,
size_t
n
);
extern
void
(
*
ref_difftest_getregs
)(
void
*
c
);
extern
void
(
*
ref_difftest_getregs
)(
void
*
c
);
extern
void
(
*
ref_difftest_setregs
)(
const
void
*
c
);
extern
void
(
*
ref_difftest_setregs
)(
const
void
*
c
);
extern
void
(
*
ref_difftest_get_mastatus
)(
void
*
c
);
extern
void
(
*
ref_difftest_set_mastatus
)(
const
void
*
c
);
extern
void
(
*
ref_difftest_exec
)(
uint64_t
n
);
extern
void
(
*
ref_difftest_exec
)(
uint64_t
n
);
static
inline
bool
difftest_check_reg
(
const
char
*
name
,
vaddr_t
pc
,
rtlreg_t
ref
,
rtlreg_t
dut
)
{
static
inline
bool
difftest_check_reg
(
const
char
*
name
,
vaddr_t
pc
,
rtlreg_t
ref
,
rtlreg_t
dut
)
{
...
...
src/isa/riscv64/difftest/ref.c
浏览文件 @
1777ca47
...
@@ -52,13 +52,13 @@ void isa_difftest_setregs(const void *r) {
...
@@ -52,13 +52,13 @@ void isa_difftest_setregs(const void *r) {
csr_writeback
();
csr_writeback
();
}
}
void
isa_difftest_get_mastatus
(
uint64_t
*
s
)
{
void
isa_difftest_get_mastatus
(
void
*
s
)
{
struct
SyncState
ms
;
struct
SyncState
ms
;
ms
.
lrscValid
=
cpu
.
lr_valid
;
ms
.
lrscValid
=
cpu
.
lr_valid
;
memcpy
(
s
,
&
ms
,
sizeof
(
struct
SyncState
));
memcpy
(
s
,
&
ms
,
sizeof
(
struct
SyncState
));
}
}
void
isa_difftest_set_mastatus
(
uint64_t
*
s
)
{
void
isa_difftest_set_mastatus
(
const
void
*
s
)
{
struct
SyncState
*
ms
=
(
struct
SyncState
*
)
s
;
struct
SyncState
*
ms
=
(
struct
SyncState
*
)
s
;
cpu
.
lr_valid
=
ms
->
lrscValid
;
cpu
.
lr_valid
=
ms
->
lrscValid
;
}
}
...
...
src/isa/riscv64/exec/exec.c
浏览文件 @
1777ca47
...
@@ -236,6 +236,6 @@ vaddr_t isa_exec_once() {
...
@@ -236,6 +236,6 @@ vaddr_t isa_exec_once() {
return
s
.
seq_pc
;
return
s
.
seq_pc
;
}
}
vaddr_t
isa_disambiguate_exec
(
uint64_t
*
disambiguate_para
)
{
vaddr_t
isa_disambiguate_exec
(
void
*
disambiguate_para
)
{
return
isa_exec_once
();
//TODO
return
isa_exec_once
();
//TODO
}
}
src/monitor/difftest/ref.c
浏览文件 @
1777ca47
...
@@ -21,15 +21,15 @@ void difftest_setregs(const void *r) {
...
@@ -21,15 +21,15 @@ void difftest_setregs(const void *r) {
isa_difftest_setregs
(
r
);
isa_difftest_setregs
(
r
);
}
}
void
difftest_get_mastatus
(
uint64_t
*
s
){
void
difftest_get_mastatus
(
void
*
s
){
isa_difftest_get_mastatus
(
s
);
isa_difftest_get_mastatus
(
s
);
}
}
void
difftest_set_mastatus
(
uint64_t
*
s
){
void
difftest_set_mastatus
(
const
void
*
s
){
isa_difftest_set_mastatus
(
s
);
isa_difftest_set_mastatus
(
s
);
}
}
vaddr_t
disambiguate_exec
(
uint64_t
*
disambiguate_para
){
vaddr_t
disambiguate_exec
(
void
*
disambiguate_para
){
return
isa_disambiguate_exec
(
disambiguate_para
);
return
isa_disambiguate_exec
(
disambiguate_para
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录