Hi everyone,
I am a PhD candidate working on gem5.
I am porting my project to full system and trying to use checkpointing
to mitigate simulation times when debugging. I am working with Ruby and
gem5's standard library.
I managed to successfully create checkpoints with RISCV and x86 using
the example scripts in:
configs/example/gem5_library/checkpoints/riscv-hello-save-checkpoint.py
tests/gem5/checkpoint_tests/configs/x86-fs-save-checkpoint.py
When starting using Ruby, independently of the protocol, I encounter the
following error:
Taking checkpoint at x86-fs-test-checkpoint/
src/sim/simulate.cc:199: info: Entering event queue @ 10000000. Starting
simulation...
src/sim/simulate.cc:199: info: Entering event queue @ 3085974603.
Starting simulation...
src/sim/simulate.cc:199: info: Entering event queue @ 3086250853.
Starting simulation...
src/sim/simulate.cc:199: info: Entering event queue @ 3086274636.
Starting simulation...
src/sim/simulate.cc:199: info: Entering event queue @ 3086274637.
Starting simulation...
build/X86/mem/ruby/protocol/L1Cache_Controller.cc:1914: panic: Runtime
Error at MESI_Two_Level-L1cache.sm:281: Invalid RubyRequestType.
It seems that the sequencer is injecting a RubyRequest not supported by
Ruby controllers.
In the x86-fs-save-checkpoint.py script, comments suggests that it was
successfully tested with the MESI_Two_Level.
Is checkpointing supported for Ruby in full system?
Thanks for your help.
Best,
Luis.