Hi,

I am trying to use m5_reset_stats and other m5 calls from my benchmark (i
am trying to instrument the hooks.c file in PARSEC benchmark so that i can
get my stats around the ROI). I run into "illegal instruction" while
exexcuting m5_reset_stats.

On further analysis, using objdump the m5ops_arm.o file contains the
following mnemonic.

00000058 <m5_reset_stats>:
*  58: ee400110 .word 0xee400110 b*
  5c: e1a0f00e mov pc, lr


The corresponding section in the .S file contains the following assembly
code (substitute func with 0x40 and subfunc with 0x0)
        .long 0xEE000110 | (\func << 16) | (\subfunc << 12)
        mov pc,lr


Clearly, the instruction at 0x58 is not a valid instruction. I could not
understand the real intent of the .long construct in the .S file. i believe
the intent was to convey a "code" to the underlying machine through a valid
instruction. Attempt was to accomplished by the bit-manipulation. It seems
to have gone wrong. Can someone help me here to fix the problem?


BR/Nizam
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to