Hello all, I'm trying to run an ARM code using the thumb instruction set. I'm using the stable version of gem5. The code is completly writen in C, and my target is "arm_detailed". I use the instructions m5_reset_stats and m5_dump_stats provided by gem5 to control the stats generation.
When I compile, I get some warning messages (listing 1) I think they can be ignored, because both instruction I use aren't truncated Ok, then gem5 panics at an unknown instruction (listing 2). Saddly, when I comment the m5_*_stats commands, gem5 simutation is ok (listing 3). With or without -mcpu=cortex-a9, the result is the same. The code works without -mthumb and -D__thumb__. Any idea? listing 1: ----- arm-linux-gnueabi-gcc-4.4 -I"../gem5-stable" -D__thumb__ -O3 -static -mthumb -mcpu=cortex-a9 -o main_unroll.o -c main_unroll.c arm-linux-gnueabi-gcc-4.4 -I"../gem5-stable" -D__thumb__ -O3 -static -mthumb -mcpu=cortex-a9 -o utils.o -c utils.c arm-linux-gnueabi-gcc-4.4 -I"../gem5-stable" -D__thumb__ -O3 -static -mthumb -mcpu=cortex-a9 -o mmunroll1.o -c mmunroll1.c arm-linux-gnueabi-gcc-4.4 -I"../gem5-stable" -D__thumb__ -O3 -static -mthumb -mcpu=cortex-a9 -o mmunroll1.bin mmunroll1.o main_unroll.o utils.o ../gem5-stable/util/m5/m5op_arm.S ../gem5-stable/util/m5/m5op_arm.S: Assembler messages: ../gem5-stable/util/m5/m5op_arm.S:159: Warning: value 0x10110 truncated to 0x110 ../gem5-stable/util/m5/m5op_arm.S:160: Warning: value 0x11110 truncated to 0x1110 ----- listing 2: ----- gem5 Simulator System. http://gem5.org gem5 is copyrighted software; use the --copyright option for details. gem5 compiled Nov 6 2012 18:03:46 gem5 started Nov 12 2012 15:06:28 gem5 executing on GRE034537 command line: gem5-stable/build/ARM/gem5.opt -d Results/gem5out --stats-file=statsMMU1.txt gem5-stable/configs/example/se.py -c mmul_src/mmunroll1.bin -o 10 --caches --l2cache --cpu-type=arm_detailed 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... warn: CP14 unimplemented crn[14], opc1[7], crm[15], opc2[7] matrix size : 10 x 10 elements matrix size : 0x190 bytes size of gdata : 0x100000 bytes panic: Attempted to execute unknown instruction (inst 0x2ee4146f7) @ cycle 21103000 [invoke:build/ARM/arch/arm/faults.cc, line 191] Memory Usage: 629556 KBytes Program aborted at cycle 21103000 ----- listing 3: ----- gem5 Simulator System. http://gem5.org gem5 is copyrighted software; use the --copyright option for details. gem5 compiled Nov 6 2012 18:03:46 gem5 started Nov 12 2012 15:13:12 gem5 executing on GRE034537 command line: gem5-stable/build/ARM/gem5.opt -d Results/gem5out --stats-file=statsMMU1.txt gem5-stable/configs/example/se.py -c mmul_src/mmunroll1.bin -o 10 --caches --l2cache --cpu-type=arm_detailed 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... warn: CP14 unimplemented crn[14], opc1[7], crm[15], opc2[7] matrix size : 10 x 10 elements matrix size : 0x190 bytes size of gdata : 0x100000 bytes hack: be nice to actually delete the event here Exiting @ tick 27101000 because target called exit() ----- Regards, -- Fernando A. Endo, PhD student and researcher Université de Grenoble, UJF France
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
