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
