I'm fairly certain that Ruby doesn't work with the o3 cpu although one
of the Ruby experts might be able to give you a better status update.
Ali
On Thu, 28 Apr 2011 18:10:05 -0400, Gabriel Michael Black
<[email protected]> wrote:
Are you using the most recent version of the code? Doing so may fix
some issues with O3. Also, changing the dynamic_cast to a static_cast
probably just suppresses the symptom, not the problem. The
dynamic_cast probably recognizes the cast as illegal and returns a
NULL pointer, and then when you access it you necessarily segfault.
If
you use a static_cast, it will merrily convert the value regardless,
and you may not access a bad address, but you'll still do something
you don't want.
Gabe
Quoting Marc Orr <[email protected]>:
Hi,
I've been using gem5 (m5 + ruby) for the last couple of months. I've
been
using sys call emulation mode. Up until yesterday, I had been using
TimingSimpleCPU. Yesterday I made an attempt to transition to
DerivO3CPU and
found that the program (m5.debug) seg faults pretty quickly.
Changing line 1092 in "m5/src/cpu/o3/lsq_unit_impl.
hh" to a static cast (from a dynamic cast) resolves the segfault but
causes
the simulator to get stuck, printing the following message "Exiting
@ tick
9223372036854775807 because simulate() limit reached". Note that it
actually
runs "hello world" fine when I make the described change, but when I
run a
binary slightly more complex I run into this issue.
Is this a known issue? Does anyone have any idea how to resolve
this? I
copied m5's output below.
Thanks for your help!
Marc Orr
-----------------------------
details: changed line 140 of m5/configs/examples/ruby_se.py to
"class
CPUClass(DerivO3CPU): pass"
build_opts:
TARGET_ISA = 'x86'
CPU_MODELS = 'AtomicSimpleCPU,TimingSimpleCPU,O3CPU'
FULL_SYSTEM = 0
PROTOCOL = 'MI_example'
RUBY = True
This is the output with the dynamic cast (lsq_unit_impl.hh
unmodified):
[morr@mumble-12] (17)$ build/X86_SE_RUBY/m5.debug
configs/example/ruby_se.py -c
tests/test-progs/hello/bin/x86/linux/hello
M5 Simulator System
Copyright (c) 2001-2008
The Regents of The University of Michigan
All Rights Reserved
M5 compiled Apr 28 2011 15:51:43
M5 started Apr 28 2011 15:58:13
M5 executing on mumble-12.cs.wisc.edu
command line: build/X86_SE_RUBY/m5.debug configs/example/ruby_se.py
-c
tests/test-progs/hello/bin/x86/linux/hello
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...
Segmentation fault
_______________________________________________
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