Jason,
You are right, I think GEM5 is not supporting SPARC with the MinorCPU. But it 
does have the o3CPU support. So I guess I have 2 options with SPARC for 
detailed perf. simulation:

1>     Debug the existing MinorCPU and add SPARC support to it (like you said). 
But, I am not sure how extensive this would be. I started with the debug flag 
and below is the output:

ce_abc:gem5-stable} ./run_script.sh
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 compiled Aug 12 2016 02:05:53
gem5 started Aug 12 2016 11:26:21
gem5 executing on ce6304.utdallas.edu
command line: /home/gem5/gem5-stable/build/SPARC/gem5.debug 
--debug-flags=Exec,ExecTicks 
/home/gem5/gem5-stable/configs/example/se_editted.py -n 1 --cpu-type=minor 
--caches --l1d_size=8kB --l1i_size=16kB --l2cache --l2_size=3MB --l2_assoc=12 
--cpu-clock=1.2GHz --sys-voltage=1.2V --mem-size=8192MB -c 
/home/gem5/gem5-stable/tests/test-progs//hello/bin/sparc/linux/hello

Global frequency set at 1000000000000 ticks per second
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
**** REAL SIMULATION ****
info: Entering event queue @ 0.  Starting simulation...
115787: system.cpu T0 : @_start    :     mov   %g0, %fp            : IntAlu :  
D=0x0000000000000000
115787: system.cpu T0 : @_start+4    :   sub   %sp, 0x30, %sp      : IntAlu :  
D=0x000007fffffff581
116620: system.cpu T0 : @_start+8    :   ldx   [%sp + 0x8af], %o1  : MemRead :  
A=0x7fffffffe30
310709: system.cpu T0 : @_start+8    :   ldx   [%sp + 0x8af], %o1  : MemRead :  
D=0x0000000000000001 A=0x7fffffffe30
310709: system.cpu T0 : @_start+12    : add   %sp, 0x8b7, %o2     : IntAlu :  
D=0x000007fffffffe38
311542: system.cpu T0 : @_start+16    : sethi   %hi(0x100400), %o0 : IntAlu :  
D=0x0000000000100400
311542: system.cpu T0 : @_start+20    : sethi   %hi(0x10bc00), %o3 : IntAlu :  
D=0x000000000010bc00
312375: system.cpu T0 : @_start+24    : sethi   %hi(0x10bc00), %o4 : IntAlu :  
D=0x000000000010bc00
312375: system.cpu T0 : @_start+28    : or   %o0, 0x4, %o0        : IntAlu :  
D=0x0000000000100404
313208: system.cpu T0 : @_start+32    : or   %o3, 0xf8, %o3       : IntAlu :  
D=0x000000000010bcf8
313208: system.cpu T0 : @_start+36    : or   %o4, 0x190, %o4      : IntAlu :  
D=0x000000000010bd90
314041: system.cpu T0 : @_start+40    : mov   %g1, %o5            : IntAlu :  
D=0x0000000000000000
314041: system.cpu T0 : @_start+44    : call   0x10b998 <__libc_start_main> : 
IntAlu :  D=0x000000000010022c
322371: system.cpu T0 : @_start+48    : nop                       : No_OpClass :
panic: fault (illegal_instruction) detected @ PC 
(0x10b998=>0x10b99c=>0x10b9a0).(0=>1)
@ tick 324037
[invoke:build/SPARC/sim/faults.cc, line 47]
Memory Usage: 8674484 KBytes
Program aborted at cycle 324037
./run_script.sh: line 17: 45369 Aborted                 
$GEM5_EXE_LOC_sparc/gem5.debug --debug-flags=Exec,ExecTicks 
$RUN_MODE_LOC/se_editted.py -n 1 --cpu-type=minor --caches --l1d_size="8kB" 
--l1i_size="16kB" --l2cache --l2_size="3MB" --l2_assoc="12" 
--cpu-clock="1.2GHz" --sys-voltage="1.2V" --mem-size="8192MB" -c 
$TEST_LOC/hello/bin/sparc/linux/hello


If I understand correctly, is it calling the “call” instruction an illegal 
instruction?


2>     Use the existing o3CPU and change the ROB so that it acts as inOrderCPU.


Thanks
Monir
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to