I am still stuck at this point.
After step2, if I do not remove the  ruby0 objects I get this error. 
/***************************************************************************\
 > Physical Memory object cannot be found. If you are NOT compiling Ruby and <
  > you see this message, something is wrong.                                 <
 > This message is part of the normal compilation process.                   <
 \***************************************************************************/
 
I know this is expected thats why I am removing the following objects, after grepping ruby in the warm.conf file:
OBJECT phys_mem TYPE memory-space {
        queue: cpu0
        map: ((0, memory, 0, 0, 0x40000000, NIL, 0, 0, 0),
               (0x800000000, memory, 0, 0x40000000, 0x40000000, NIL, 0, 0, 0),
              (0x7fff07ffff0, simicsfs, 0, 0, 16, NIL, 0, 0, 0))
        timing_model: ruby0
}
...
...
...
OBJECT ruby0 TYPE ruby {
 
}
And when I try to read the configuration after removing these lines I am getting the following error:
Segmentation fault (SIGSEGV) in main thread
The simulation state has been corrupted. Simulation cannot continue.
 Please restart Simics.
So, am I doing anything wrong here?
Also, an interesting stuff with the magic breaks. Maybe I shouldn't have enabled them at all. When I only run SIMICS at step1, magic breaks are recognized fine and I get no warnings but I when I run the benchmark with RUBY I am getting the following warnings. Can these be related?
 
Warning: in fn void magic_instruction_callback(void*, void*, integer_t) in simics/commands.C:476: val is 1
Warning: in fn void magic_instruction_callback(void*, void*, integer_t) in simics/commands.C:476: val is 1
 Warning: in fn void magic_instruction_callback(void*, void*, integer_t) in simics/commands.C:477: SIMICS_get_program_counter(proc_num) is [0x12fe8, line 0x12fc0]
Warning: in fn void magic_instruction_callback(void*, void*, integer_t) in simics/commands.C:477: SIMICS_get_program_counter(proc_num) is [0x12fe8, line 0x12fc0]
 Warning: in fn void magic_instruction_callback(void*, void*, integer_t) in simics/commands.C:478: Unexpected magic call
Warning: in fn void magic_instruction_callback(void*, void*, integer_t) in simics/commands.C:478: Unexpected magic call
 Warning: in fn void magic_instruction_callback(void*, void*, integer_t) in simics/commands.C:476: val is 2
Warning: in fn void magic_instruction_callback(void*, void*, integer_t) in simics/commands.C:476: val is 2
Warning: in fn void magic_instruction_callback(void*, void*, integer_t) in simics/commands.C:477: SIMICS_get_program_counter(proc_num) is [0x1308c, line 0x13080]
 Warning: in fn void magic_instruction_callback(void*, void*, integer_t) in simics/commands.C:477: SIMICS_get_program_counter(proc_num) is [0x1308c, line 0x13080]
Warning: in fn void magic_instruction_callback(void*, void*, integer_t) in simics/commands.C:478: Unexpected magic call
 Warning: in fn void magic_instruction_callback(void*, void*, integer_t) in simics/commands.C:478: Unexpected magic call
I really appreciate any input. 
Thanks in advance,
Ed
 On Fri, Mar 13, 2009 at 12:01 AM, Edward Lee 
<edwl202@xxxxxxxxx> wrote:
 Hi,
I am a newbie to GEMS and I am trying to run some benchmarks using SIMICS+RUBY. I followed the guidelines in the ISCA tutorial slides and I also checked the earlier posts. 
Here is what I am doing:
Step1:
 Only SIMICS
./simics -stall
configure simics (itsc/dstc-disable ... etc.)
Run FFT with small input
write-configuration cold.conf
exit simics
Step2:
SIMICS+RUBY
./simics -stall
read-configuration cold.conf
 configure simics
setup ruby
Run FFT with small input
ruby0.save-caches fft.caches_8p.gz
write-configuration warm.conf
exit simics
Step3:
./simics -stall
Edit warm.conf to delete ruby object and ruby timing model memory space object, save the file
 read-configuration warm.conf
And at this stage I am getting the following error:
Segmentation fault (SIGSEGV) in main thread
The simulation state has been corrupted. Simulation cannot continue.
Please restart Simics.
 
Any ideas on what I am doing wrong?
Regards,
Ed