diff --git a/src/test/csrc/common/ram.cpp b/src/test/csrc/common/ram.cpp index b551a501e..11a8ef243 100644 --- a/src/test/csrc/common/ram.cpp +++ b/src/test/csrc/common/ram.cpp @@ -30,6 +30,10 @@ CoDRAMsim3 *dram = NULL; SimMemory *simMemory = nullptr; +void init_ram(const char *image, uint64_t ram_size) { + simMemory = new MmapMemory(image, ram_size); +} + #ifdef TLB_UNITTEST // Note: addpageSv39 only supports pmem base 0x80000000 void addpageSv39() { diff --git a/src/test/csrc/common/ram.h b/src/test/csrc/common/ram.h index 9c1a66aad..bad31547b 100644 --- a/src/test/csrc/common/ram.h +++ b/src/test/csrc/common/ram.h @@ -202,6 +202,8 @@ class LinearizedFootprintsMemory : public FootprintsMemory { }; extern SimMemory *simMemory; +// This is to initialize the common mmap RAM +void init_ram(const char *image, uint64_t n_bytes); #ifdef WITH_DRAMSIM3 diff --git a/src/test/csrc/vcs/vcs_main.cpp b/src/test/csrc/vcs/vcs_main.cpp index 3ca9f5354..1ace858ba 100644 --- a/src/test/csrc/vcs/vcs_main.cpp +++ b/src/test/csrc/vcs/vcs_main.cpp @@ -61,7 +61,7 @@ extern "C" void set_max_cycles(long mc) { extern "C" void simv_init() { common_init("simv"); - init_ram(bin_file); + init_ram(bin_file, DEFAULT_EMU_RAM_SIZE); init_flash(flash_bin_file); difftest_init(); diff --git a/src/test/csrc/verilator/emu.cpp b/src/test/csrc/verilator/emu.cpp index 51b4b0c96..6233612c3 100644 --- a/src/test/csrc/verilator/emu.cpp +++ b/src/test/csrc/verilator/emu.cpp @@ -364,7 +364,7 @@ Emulator::Emulator(int argc, const char *argv[]): simMemory = new MmapMemoryWithFootprints(args.image, ram_size, args.footprints_name); } else { - simMemory = new MmapMemory(args.image, ram_size); + init_ram(args.image, ram_size); } }