To my knowledge running big endian binaries hasn't been tried. It might work, but clearly there are some issues. Most notability is that in SE mode the endianess is compiled into the simulator. You'll probably get a bit further if you change LittleEndianGuest to BigEndianGuest is src/arch/arm/isa_traits.hh. I'm sure it's possible to get working, but you're going to have to expend some effort is finding and fixing bugs along the way.
Ali On Aug 4, 2013, at 11:17 AM, Meng Wang <[email protected]> wrote: > Hi, all > I need simulate big-endian ARM binary with gem5. So I used crosstool-ng to > build a arm big endian toolchain (armeb-unknown-linux-gnueabi). Then I > compiled a helloword with this toolchain. Compilation command is: > > armeb-unknown-linux-gnueabi-gcc -mcpu=cortex-a8 -mfpu=vfpv3 -mfloat-abi=soft > --sysroot=/home/wm/x-tools/armeb-unknown-linux-gnueabi/armeb-unknown-linux-gnueabi/sysroot > -static hellobe.c -o hellobe > > I run this big endian helloworld by SE mode, but I got: > > command line: ./gem5.opt /home/wm/gem5_new/configs/example/se.py -c hellobe > 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... > panic: Page table fault when accessing virtual address 0xffffffec > @ cycle 643068 > [invoke:build/ARM/sim/faults.cc, line 70] > Memory Usage: 643068 KBytes > Program aborted at cycle 7500 > Aborted > > I built several other big endian binaries, but all of them aborted running in > the middle. Does gem5 support big-endian ARM? How can I configure it? > > Thanks for your help. > > Best, > Meng Wang > _______________________________________________ > gem5-users mailing list > [email protected] > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
