I think the #ifdef is set up wrongly here. I'm in the process of making some changes and came across this too. Attached is a patch that should fix it. It makes the #ifdef the same as in SimpleThread::takeOverFrom in file cpu/simple_thread.cc

Cheers
Tim

On Tue, 22 Jun 2010 09:41:41 -0400, Steve Reinhardt <ste...@gmail.com> wrote:

On Sun, Jun 20, 2010 at 8:41 PM, Lide Duan <leaderd...@gmail.com> wrote:
Hi,

I just started learning M5, but encountered some problems. I am using the
latest stable repository (m5-stable).

1. I got M5 compiled on both 32-bit and 64-bit host machines. However, on 32-bit host, when running m5.fast, it always gives me the following error:
fatal: Cannot open file m5out/stats.txt
 @ cycle 0
The same error happened in m5.opt. I checked m5out directory, an empty
stats.txt file has been created there. Besides, It doesn't matter if I
change the --outdir or --stats-file options. Only m5.debug can proceed
execution without the above error. However, on 64-bit host, all m5 binaries
can run. I wonder if an 64-bit host is required (recommended?) for M5?

A 64-bit host is definitely strongly recommended.  That's kind of a
bizarre error and it seems surprising that it would be related to
being a 32-but vs. a 64-bit host though... sounds more like a
permissions thing.

2. On 64-bit host, when I run m5.debug (and also m5.opt) with the following
command (unmodified se.py):
command line: ./m5.debug ../../configs/example/se.py --cmd
/home/duan/spec2000binaries/int_gap/gap00.peak.ev6 --options -l
/home/duan/spec2000binaries/int_gap/ -q -m 192M --input
/home/duan/spec2000binaries/int_gap/ref.in --detailed --num-cpus 1 --caches
--l2cache --max-inst 1000000 --fast-forward 10000000
The following assertion will fail when switching the cpu (after fast
forwarding):

switching cpus
m5.debug: build/ALPHA_SE/cpu/o3/thread_context_impl.hh:57: void
O3ThreadContext< <template-parameter-1-1> >::takeOverFrom(ThreadContext*)
[with Impl = O3CPUImpl]: Assertion `getSystemPtr() ==
old_context->getSystemPtr()' failed.
Program aborted at cycle 5001415000

It doesn't matter if other SPEC benchmarks are used. This happens when
running m5.debug and m5.opt. But for m5.fast and m5.prof, the above command can finish execution and output the results. I searched the M5 archive, and
found the following related thread:
http://www.mail-archive.com/m5-users@m5sim.org/msg02812.html
Unfortunately, it didn't provide an answer to the problem... Can anyone
help?

I don't have an answer to this either... anyone else?

The reason you don't get the message on m5.fast is that m5.fast
compiles out the assertion checks.

Steve
_______________________________________________
m5-users mailing list
m5-users@m5sim.org
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users



--
Timothy M. Jones
http://homepages.inf.ed.ac.uk/tjones1
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

Attachment: switch-cpus.patch
Description: Binary data

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

Reply via email to