提交 544cbf65 编写于 作者: W William Wang

Difftest: add microarchitectural_pf_check API

上级 4f76e30c
......@@ -40,5 +40,6 @@ void isa_difftest_getregs(void *r);
void isa_difftest_setregs(const void *r);
void isa_difftest_raise_intr(word_t NO);
void isa_difftest_sync(uint64_t *sync);
bool isa_difftest_microarchitectural_pf_check(vaddr_t addr);
#endif
......@@ -68,6 +68,13 @@ void isa_difftest_sync(uint64_t *sync) {
// }
}
// Legal pagefault might be caused by microarchitural implements.
// For instance, write pte and not sfence it will lead to pagefault.
// (it may be still in sbuffer)
bool isa_difftest_microarchitectural_pf_check(vaddr_t addr) {
return !ptw_is_safe(addr);
}
void isa_difftest_raise_intr(word_t NO) {
DecodeExecState s;
s.is_jmp = 0;
......
......@@ -205,5 +205,6 @@ void csr_write(uint32_t addr, rtlreg_t *src);
enum { MODE_U = 0, MODE_S, MODE_H, MODE_M };
void change_mode(uint8_t m);
bool ptw_is_safe(vaddr_t vaddr);
#endif
......@@ -25,6 +25,10 @@ void difftest_sync(uint64_t *sync) {
isa_difftest_sync(sync);
}
void difftest_microarchitectural_pf_check(vaddr_t addr){
isa_difftest_microarchitectural_pf_check(addr);
}
void difftest_exec(uint64_t n) {
cpu_exec(n);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册