Joel, you might know that system being restored from a check point starts with an atomic cpu by default. I think the problem you are facing is in initializing a timing CPU. IIRC, the interrupt controller is moved from atomic CPU to timing CPU after X number of ticks. You might want to try restoring with a timing CPU to begin with (use option --restore-cpu-type). But I think you will run in to problem there as well if the checkpoint was created using an atomic CPU as the check pointed state is a super set of the architectural state and depends on the CPU type in use.

You might want to create check points using the timing CPU it self.

--
Nilay

On Tue, 3 Apr 2012, Joel Hestness wrote:

Hey guys,
 I've tried searching around, but I'm having trouble finding any help on
this.  Anyone have insights or pointers?  Is checkpoint restore supposed to
be working?

---------------------------------------------------
joel@vein:~/research/gem5/gem5-latest$ ./build/X86/gem5.debug
./configs/example/fs.py --take-checkpoints=5000000000,1000000000000
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 compiled Apr  3 2012 12:11:41
gem5 started Apr  3 2012 18:13:38
gem5 executing on vein
command line: ./build/X86/gem5.debug ./configs/example/fs.py
--take-checkpoints=5000000000,1000000000000
warning: add_child('terminal'): child 'terminal' already has parent
Global frequency set at 1000000000000 ticks per second
info: kernel located at:
/home/joel/research/gem5/full_system_files/binaries/x86_64-vmlinux-2.6.28.4-smp
     0: rtc: Real-time clock set to Sun Jan  1 00:00:00 2012
Listening for com_1 connection on port 3458
warn: Reading current count from inactive timer.
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7002
info: Entering event queue @ 0.  Starting simulation...
warn: Don't know what interrupt to clear for console.
warn: instruction 'wbinvd' unimplemented
Writing checkpoint
info: Entering event queue @ 5000000000.  Starting simulation...
^Chack: be nice to actually delete the event here
Exiting @ tick 5559293000 because user interrupt received
joel@vein:~/research/gem5/gem5-latest$ ./build/X86/gem5.debug
./configs/example/fs.py -r 1 --cpu-type=timing
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 compiled Apr  3 2012 12:11:41
gem5 started Apr  3 2012 18:15:08
gem5 executing on vein
command line: ./build/X86/gem5.debug ./configs/example/fs.py -r 1
--cpu-type=timing
warning: add_child('terminal'): child 'terminal' already has parent
Global frequency set at 1000000000000 ticks per second
info: kernel located at:
/home/joel/research/gem5/full_system_files/binaries/x86_64-vmlinux-2.6.28.4-smp
     0: rtc: Real-time clock set to Sun Jan  1 00:00:00 2012
Listening for com_1 connection on port 3458
*gem5.debug: build/X86/arch/x86/utility.cc:171: void
X86ISA::initCPU(ThreadContext*, int): Assertion `interrupts' failed.*
*Program aborted at cycle 0*
*Aborted*
---------------------------------------------------

 For this test, I'm using changeset 8900 with Nilay's port fix patch here:
http://reviews.gem5.org/r/1102/
 The same assertion failure happens for ruby_fs.py (and the script that
I've derived from ruby_fs.py).

 Thanks!
 Joel


--
 Joel Hestness
 PhD Student, Computer Architecture
 Dept. of Computer Science, University of Texas - Austin
 http://www.cs.utexas.edu/~hestness
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to