Не удается восстановить контрольную точку в режиме gem5 se

#gem5

Вопрос:

Я хочу использовать контрольные точки для ускорения моделирования. Проблема в том, что когда я восстанавливаюсь с контрольной точки, моделирование gem5 прерывается. Режим, который я использую, — это режим se. Я использую псевдо-инструкцию m5 m5_checkpoint(0,0) в своей прикладной программе для создания контрольных точек.
Я меняю модель процессора при восстановлении контрольных точек и выясняю, что, когда в системе нет кэша, восстановление проходит успешно.

Вывод ошибок выглядит следующим образом:

 0: system.remote_gdb: listening for remote gdb on port 7005 build/ARM/sim/process.cc:389: warn: Checkpoints for pipes, device drivers and sockets do not work. Switch at curTick count:10000 gem5.opt: build/ARM/sim/eventq.hh:766: void gem5::EventQueue::schedule(gem5::Event*, gem5::Tick, bool): Assertion `when gt;= getCurTick()' failed. Program aborted at tick 16277372800  

Командной строкой для создания контрольной точки является:

 $GEM5_BIN --outdir=$OUTPUT_PATH $GEM5_PATH/configs/example/se.py  --num-cpu 1 --cpu-clock 2.5GHz --cpu-type AtomicSimpleCPU  --mem-type DDR3_2133_8x8 --mem-size 1GB  -c "$TARGET_PATH" --options "$DATA_PATH" --output  "$OUTPUT_PATH/output.txt"   

Командной строкой для восстановления контрольной точки является:

 $GEM5_BIN --outdir=$OUTPUT_PATH $GEM5_PATH/configs/example/se.py  --num-cpu 1 --cpu-clock 2.5GHz --cpu-type O3_ARM_v7a_3  --caches --l2cache --l1i_size 64kB --l1d_size 32kB --l2_size 256kB --l1i_assoc 8 --l1d_assoc 8 --l2_assoc 16 --cacheline_size 128  --l2-hwp-type StridePrefetcher --mem-type DDR3_2133_8x8 --mem-size 1GB  -r 1 --checkpoint-dir "$CHECK_PATH"  -c "$TARGET_PATH" --options "$DATA_PATH" --output $OUTPUT_PATH/output.txt"   

Версия gem5, которую я использую, — 21.1.0.2.

С наилучшими пожеланиями, Гелин