Hi,
I ran the simulator on the example provided with M5, then I ran with my
own binary.
Please see the outputs below.
Thanks for your help,
David
-
M5 running with example provided with the simulator
build/MIPS_SE/m5.debug --trace-flags=Exec configs/example/se.py
--cmd=tests/test-progs/hello/bin/mips/linux/hello --maxtick=10000 >
trace.out
Output to terminal:
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
warn: Entering event queue @ 0. Starting simulation...
warn: Increasing stack size by one page.
Contents of trace.out:
M5 Simulator System
Copyright (c) 2001-2008
The Regents of The University of Michigan
All Rights Reserved
M5 compiled Mar 12 2008 10:16:30
M5 started Thu Mar 13 14:23:46 2008
M5 executing on pc307
command line: build/MIPS_SE/m5.debug --trace-flags=Exec
configs/example/se.py --cmd=tests/test-progs/hello/bin/mips/linux/hello
--maxtick=10000
Global frequency set at 1000000000000 ticks per second
**** REAL SIMULATION ****
0: system.cpu T0 : @__start : addu r0, r31, r0 : IntAlu
: D=0x0000000000000000
500: system.cpu T0 : @__start+4 : bal 0x4001ac :
IntAlu : D=0x00000000004001ac
1000: system.cpu T0 : @__start+8 : nop :
No_OpClass :
1500: system.cpu T0 : @__start+12 : lui r28, 0xfc1 :
IntAlu : D=0x000000000fc10000
2000: system.cpu T0 : @__start+16 : addiu r28, r28, -12828 :
IntAlu : D=0x000000000fc0cde4
2500: system.cpu T0 : @__start+20 : addu r28, r28, r31 :
IntAlu : D=0x000000001000cf90
3000: system.cpu T0 : @__start+24 : addu r31, r0, r0 :
IntAlu : D=0x0000000000000000
3500: system.cpu T0 : @__start+28 : lw r4, -32616(r28) :
MemRead : D=0x00000000004003e0 A=0x10005028
4000: system.cpu T0 : @__start+32 : lw r5, 0(r29) :
MemRead : D=0x0000000000000001 A=0x7fff6000
4500: system.cpu T0 : @__start+36 : addiu r6, r29, 4 :
IntAlu : D=0x000000007fff6004
5000: system.cpu T0 : @__start+40 : addiu r1, r0, -8 :
IntAlu : D=0x00000000fffffff8
5500: system.cpu T0 : @__start+44 : and r29, r29, r1 :
IntAlu : D=0x000000007fff6000
6000: system.cpu T0 : @__start+48 : addiu r29, r29, -32 :
IntAlu : D=0x000000007fff5fe0
6500: system.cpu T0 : @__start+52 : lw r7, -31232(r28) :
MemRead : D=0x000000000040fe40 A=0x10005590
7000: system.cpu T0 : @__start+56 : lw r8, -29704(r28) :
MemRead : D=0x000000000040ff08 A=0x10005b88
7500: system.cpu T0 : @__start+60 : nop :
No_OpClass :
8500: system.cpu T0 : @__start+64 : sw r8, 16(r29) :
MemWrite : D=0x000000000040ff08 A=0x7fff5ff0
9000: system.cpu T0 : @__start+68 : sw r2, 20(r29) :
MemWrite : D=0x0000000000000000 A=0x7fff5ff4
9500: system.cpu T0 : @__start+72 : sw r29, 24(r29) :
MemWrite : D=0x000000007fff5fe0 A=0x7fff5ff8
10000: system.cpu T0 : @__start+76 : lw r25, -31012(r28) :
MemRead : D=0x000000000040f930 A=0x1000566c
Exiting @ cycle 10000 because simulate() limit reached
--
M5 running with binary I've created:
build/MIPS_SE/m5.debug --trace-flags=Exec configs/example/se.py
--cmd=/local/d0p6/drw/tmp/helloworld_mips/a.out --maxtick=10000 > trace2.out
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
warn: Entering event queue @ 0. Starting simulation...
panic: Page table fault when accessing virtual address 0x1c3c
@ cycle 1500
[invoke:build/MIPS_SE/sim/faults.cc, line 66]
Program aborted at cycle 1500
Aborted
Contents of trace2.out:
M5 Simulator System
Copyright (c) 2001-2008
The Regents of The University of Michigan
All Rights Reserved
M5 compiled Mar 12 2008 10:16:30
M5 started Thu Mar 13 14:25:40 2008
M5 executing on pc307
command line: build/MIPS_SE/m5.debug --trace-flags=Exec
configs/example/se.py --cmd=/local/d0p6/drw/tmp/helloworld_mips/a.out
--maxtick=10000
Global frequency set at 1000000000000 ticks per second
**** REAL SIMULATION ****
0: system.cpu T0 : @__start : addi r0, r8, -8189 : IntAlu
: D=0x00000000ffffe003
500: system.cpu T0 : @__start+4 : sllv r2, r8, r0 :
IntAlu : D=0x0000000000000000
1000: system.cpu T0 : @__start+8 : nop :
No_OpClass :
--
Korey Sewell wrote:
If you are failing after a few instructions, then that's odd...
First, I would check the trace output of the simulation to see if it's
trying to jump to a bad address. Do that by running the simulation
with the Instruction trace flag:
build/MIPS_SE/m5.debug --trace-flags=Exec ...
Then, I would double check that against the working hello-world mips
example:
build/MIPS_SE/m5.debug --trace-flags=Exec configs/example/se.py
--cmd=tests/test-progs/hello/mips/linux/hello --maxtick=10000 > trace.out
The traces wont be exactly the same (diff. compilers)
Usually, when something breaks that early in a SimpleCPU it had to do
with the binary compiled wrong or something like that, but maybe it's
jumping to a bad address or ???? Maybe the instruction trace (since
it's only like 3 insts right?) can give some hings...
On Thu, Mar 13, 2008 at 10:03 AM, David Robert White
<[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:
Hi Ali,
The cross-compiler (gcc) is not TLS-enabled - I used crosstool to
compile it without.
Thanks
David
Ali Saidi wrote:
> Here again is a guess, but I noticed that our test for TLS is only
> done on Alpha. Is it possible that you're using a cross-compiler
that
> has TLS enabled?
>
> Ali
>
> On Mar 12, 2008, at 12:14 PM, David Robert White wrote:
>
>> The problem with the alpha simulator was just that I missed an
option
>> in the program's arguments. Didn't check for it in the code
and seem
>> to have forgotten it somewhere in the process of trying to get
things
>> to work... (doh). My bad.
>>
>> I'm not trying to run the same program on MIPS, I'm just trying a
>> simple HelloWorld program with one printf. And receiving the "Page
>> table fault" error. Any ideas?
>>
>> Thanks
>>
>> David
>>
>> Korey Sewell wrote:
>>> what was the problem with the Alpha simulation? a null pointer in
>>> your program?
>>>
>>> Are you trying to run the same program for MIPS? Did you make
sure you
>>> recompile it with the new changes that you made for the NULL
pointer
>>> fix?
>>>
>>> On Wed, Mar 12, 2008 at 11:52 AM, David Robert White
>>> <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:
>>>
>>>> Thanks a lot Ali, I found the problem and now Alpha simulation
>>>> works fine.
>>>>
>>>> Going back to the MIPS simulator, I still get an error when
running a
>>>> HelloWorld program:
>>>>
>>>>
>>>> **** REAL SIMULATION ****
>>>> warn: Entering event queue @ 0. Starting simulation...
>>>> panic: Page table fault when accessing virtual address 0x1c3c
>>>> @ cycle 1500
>>>> [invoke:build/MIPS_SE/sim/faults.cc, line 66]
>>>> Program aborted at cycle 1500
>>>> Aborted
>>>> ---
>>>>
>>>> Thanks,
>>>>
>>>> David
>>>>
>>>>
>>>>
>>>> Ali Saidi wrote:
>>>> > In that case this panic is pretty much the exact same thing
as a
>>>> > segfault when running a program without M5. My best guess
is that
>>>> you
>>>> > have a null pointer somewhere.
>>>> >
>>>> > Ali
>>>> >
>>>> > On Mar 12, 2008, at 11:10 AM, David Robert White wrote:
>>>> >
>>>> >> Apologies for the confusion. I've actually been trying both
>>>> MIPS and
>>>> >> Alpha binaries.
>>>> >>
>>>> >> To prevent any further confusion, please ignore my original
>>>> email and
>>>> >> consider only the problem with Alpha binaries.
>>>> >>
>>>> >> So, I'm trying to run an alpha binary and receiving the error:
>>>> >>
>>>> >> **** REAL SIMULATION ****
>>>> >> warn: Entering event queue @ 0. Starting simulation...
>>>> >> warn: Increasing stack size by one page.
>>>> >> panic: Tried to access unmapped address 0.
>>>> >> @ cycle 2118000
>>>> >> [invoke:build/ALPHA_SE/arch/alpha/faults.cc, line 200]
>>>> >> Program aborted at cycle 2118000
>>>> >> --
>>>> >>
>>>> >> Thanks (sorry!)
>>>> >>
>>>> >> David
>>>> >>
>>>> >>
>>>> >> Ali Saidi wrote:
>>>> >>> Hi David,
>>>> >>>
>>>> >>> There are a couple of inconsistencies here. Are you
running MIPS
>>>> >>> binaries? The error below says ALPHA, so I'm a bit confused.
>>>> >>>
>>>> >>> Ali
>>>> >>>
>>>> >>> On Mar 12, 2008, at 10:52 AM, David Robert White wrote:
>>>> >>>
>>>> >>>> Hi Lisa
>>>> >>>>
>>>> >>>> Thanks for your help.
>>>> >>>>
>>>> >>>> I've used the native GCC compiler, i.e. x86 targeted, to
>>>> compile m5.
>>>> >>>> I've used the cross-compiler to compile a simple C
program, and
>>>> >>>> then tried to run the resulting output using m5. That's
why I
>>>> >>>> needed the cross-compiler. I attempted to run it using
se.py and
>>>> >>>> by supplying a "-c a.out" option to run the results of
>>>> compiling my
>>>> >>>> code.
>>>> >>>>
>>>> >>>> I have managed to get a very simple "HelloWorld" program
working,
>>>> >>>> but trying something more complicated now gives me:
>>>> >>>>
>>>> >>>> ---
>>>> >>>> **** REAL SIMULATION ****
>>>> >>>> warn: Entering event queue @ 0. Starting simulation...
>>>> >>>> warn: Increasing stack size by one page.
>>>> >>>> panic: Tried to access unmapped address 0.
>>>> >>>> @ cycle 2118000
>>>> >>>> [invoke:build/ALPHA_SE/arch/alpha/faults.cc, line 200]
>>>> >>>> Program aborted at cycle 2118000
>>>> >>>> ---
>>>> >>>>
>>>> >>>> Any ideas?
>>>> >>>>
>>>> >>>> David
>>>> >>>>
>>>> >>>> Lisa Hsu wrote:
>>>> >>>>> Hi David,
>>>> >>>>>
>>>> >>>>> Are you using the crosstool gcc to compile the
m5.debug? You
>>>> >>>>> want m5.debug to be compiled with the native compiler, the
>>>> >>>>> crosstool is for compiling any potential binaries you
woudl want
>>>> >>>>> to use during simulation. Since you're using using se.py,
>>>> there's
>>>> >>>>> nothing thus far that you've needed the crosstool for.
>>>> >>>>>
>>>> >>>>> Lisa
>>>> >>>>>
>>>> >>>>> On Wed, Mar 12, 2008 at 7:32 AM, David Robert White
>>>> >>>>> <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
<mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote:
>>>> >>>>>
>>>> >>>>> Hi,
>>>> >>>>>
>>>> >>>>> I'm a new user of M5 and I'm having some problems
trying to
>>>> get a
>>>> >>>>> basic
>>>> >>>>> "Hello World" test program running.
>>>> >>>>>
>>>> >>>>> I've used crosstool to compile GCC targeted for the MIPS
>>>> >>>>> architecture
>>>> >>>>> (without TLS), and I've compiled m5.debug for MIPS in
SE mode.
>>>> >>>>>
>>>> >>>>> I compile an example program, statically linked, but when
>>>> >>>>> running M5
>>>> >>>>> using configs/example/se.py with the -c option, I
receive the
>>>> >>>>> following
>>>> >>>>> output:
>>>> >>>>>
>>>> >>>>> - - -
>>>> >>>>> Global frequency set at 1000000000000 ticks per second
>>>> >>>>> 0: system.remote_gdb.listener: listening for remote
gdb #0
>>>> on port
>>>> >>>>> 7000
>>>> >>>>> **** REAL SIMULATION ****
>>>> >>>>> warn: Entering event queue @ 0. Starting simulation...
>>>> >>>>> panic: Page table fault when accessing virtual
address 0x1c3c
>>>> >>>>> @ cycle 1500
>>>> >>>>> [invoke:build/MIPS_SE/sim/faults.cc, line 66]
>>>> >>>>> Program aborted at cycle 1500
>>>> >>>>> Aborted
>>>> >>>>> - - -
>>>> >>>>>
>>>> >>>>> I'm probably making an elementary mistake, can anyone
suggest
>>>> >>>>> what I
>>>> >>>>> might be doing wrong?
>>>> >>>>>
>>>> >>>>> Thanks
>>>> >>>>>
>>>> >>>>> David
>>>> >>>>>
>>>> >>>>>
>>>> >>>>>
>>>> >>>>>
>>>> >>>>>
>>>> >>>>>
>>>> >>>>>
>>>> >>>>> _______________________________________________
>>>> >>>>> m5-users mailing list
>>>> >>>>> [email protected] <mailto:[email protected]>
<mailto:[email protected] <mailto:[email protected]>>
>>>> >>>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>> >>>>>
>>>> >>>>>
>>>> >>>>>
>>>>
------------------------------------------------------------------------
>>>>
>>>> >>>>>
>>>> >>>>>
>>>> >>>>> _______________________________________________
>>>> >>>>> m5-users mailing list
>>>> >>>>> [email protected] <mailto:[email protected]>
>>>> >>>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>> >>>> _______________________________________________
>>>> >>>> m5-users mailing list
>>>> >>>> [email protected] <mailto:[email protected]>
>>>> >>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>> >>>>
>>>> >>>
>>>> >>> _______________________________________________
>>>> >>> m5-users mailing list
>>>> >>> [email protected] <mailto:[email protected]>
>>>> >>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>> >> _______________________________________________
>>>> >> m5-users mailing list
>>>> >> [email protected] <mailto:[email protected]>
>>>> >> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>> >>
>>>> >
>>>> > _______________________________________________
>>>> > m5-users mailing list
>>>> > [email protected] <mailto:[email protected]>
>>>> > http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>> _______________________________________________
>>>> m5-users mailing list
>>>> [email protected] <mailto:[email protected]>
>>>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>>>
>>>>
>>>
>>>
>>>
>>>
>> _______________________________________________
>> m5-users mailing list
>> [email protected] <mailto:[email protected]>
>> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
>>
>
> _______________________________________________
> m5-users mailing list
> [email protected] <mailto:[email protected]>
> http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
_______________________________________________
m5-users mailing list
[email protected] <mailto:[email protected]>
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
--
----------
Korey L Sewell
Graduate Student - PhD Candidate
Computer Science & Engineering
University of Michigan
------------------------------------------------------------------------
_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users