提交 c814cf06 编写于 作者: W wangkaifan

difftest: do initialization in emu->execute

上级 5cf1ac01
...@@ -18,6 +18,8 @@ ...@@ -18,6 +18,8 @@
#include "sdcard.h" #include "sdcard.h"
#include "difftest.h" #include "difftest.h"
#include "nemuproxy.h" #include "nemuproxy.h"
#include "goldenmem.h"
#include "device.h"
#include <getopt.h> #include <getopt.h>
#include <signal.h> #include <signal.h>
#include <unistd.h> #include <unistd.h>
...@@ -229,6 +231,13 @@ inline void Emulator::single_cycle() { ...@@ -229,6 +231,13 @@ inline void Emulator::single_cycle() {
} }
uint64_t Emulator::execute(uint64_t max_cycle, uint64_t max_instr) { uint64_t Emulator::execute(uint64_t max_cycle, uint64_t max_instr) {
if (args.enable_diff) {
init_goldenmem();
}
difftest_init();
init_device();
uint32_t lasttime_poll = 0; uint32_t lasttime_poll = 0;
uint32_t lasttime_snapshot = 0; uint32_t lasttime_snapshot = 0;
// const int stuck_limit = 5000; // const int stuck_limit = 5000;
......
...@@ -17,9 +17,6 @@ ...@@ -17,9 +17,6 @@
#include <locale.h> #include <locale.h>
#include <csignal> #include <csignal>
#include "emu.h" #include "emu.h"
#include "difftest.h"
#include "device.h"
#include "goldenmem.h"
static char mybuf[BUFSIZ]; static char mybuf[BUFSIZ];
...@@ -40,11 +37,6 @@ int main(int argc, const char** argv) { ...@@ -40,11 +37,6 @@ int main(int argc, const char** argv) {
} }
auto emu = new Emulator(argc, argv); auto emu = new Emulator(argc, argv);
init_goldenmem();
difftest_init();
// init device
init_device();
get_sc_time_stamp = [&emu]() -> double { get_sc_time_stamp = [&emu]() -> double {
return emu->get_cycles(); return emu->get_cycles();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册