diff --git a/src/test/csrc/emu.h b/src/test/csrc/emu.h index bb53c8871962f0bcbda1da407248ce7e4d47fa4e..60ec241a5ab7a9bcd6a07c6cf5c4d0ea93981bf3 100644 --- a/src/test/csrc/emu.h +++ b/src/test/csrc/emu.h @@ -40,9 +40,9 @@ class Emulator { enum { STATE_GOODTRAP = 0, - STATE_BADTRAP, - STATE_ABORT, - STATE_LIMIT_EXCEEDED, + STATE_BADTRAP = 1, + STATE_ABORT = 2, + STATE_LIMIT_EXCEEDED = 3, STATE_RUNNING = -1 }; @@ -74,4 +74,5 @@ public: uint64_t get_cycles() const { return cycles; } EmuArgs get_args() const { return args; } bool is_good_trap() { return trapCode == STATE_GOODTRAP; }; + int get_trapcode() { return trapCode; } }; diff --git a/src/test/csrc/main.cpp b/src/test/csrc/main.cpp index 1d9299ac96d2e053544d9f98eca46bf7f7eec416..a471c91f2dba3a4070a63836d0cdf11fd364148e 100644 --- a/src/test/csrc/main.cpp +++ b/src/test/csrc/main.cpp @@ -21,6 +21,7 @@ int main(int argc, const char** argv) { auto args = emu->get_args(); uint64_t cycles = emu->execute(args.max_cycles, args.max_instr); bool is_good_trap = emu->is_good_trap(); + int trapcode = emu->get_trapcode(); delete emu; extern uint32_t uptime(void); @@ -30,5 +31,6 @@ int main(int argc, const char** argv) { " (this will be different from cycleCnt if emu loads a snapshot)\n" ANSI_COLOR_RESET, args.seed, cycles); eprintf(ANSI_COLOR_BLUE "Host time spent: %dms\n" ANSI_COLOR_RESET, ms); - return !is_good_trap; + // return !is_good_trap; + return trapcode; } diff --git a/src/test/csrc/ram.h b/src/test/csrc/ram.h index c2d59f0864057885574b86ab2462cca0f7fccc47..a69e21a023749ae48b3b191c8fa450cc130fcc5b 100644 --- a/src/test/csrc/ram.h +++ b/src/test/csrc/ram.h @@ -3,7 +3,8 @@ #include "common.h" -#define EMU_RAM_SIZE (256 * 1024 * 1024UL) +// #define EMU_RAM_SIZE (256 * 1024 * 1024UL) +#define EMU_RAM_SIZE (8 * 1024 * 1024 * 1024UL) void init_ram(const char *img); void ram_finish();