Discussion:
[gem5-users] OOO CPU + SMT not working for SE simulation
Ian Neal
2018-09-12 18:10:51 UTC
Permalink
Hello all,

I'm trying to run a simple example with an X86 CPU using a single core with
SMT enabled. I'm just using the standard se.py script. When I run the
following command:

$ build/X86/gem5.opt configs/tutorials/se.py
'--cmd=tests/test-progs/hello/bin/x86/linux/hello;tests/test-progs/hello/bin/x86/linux/hello'
--cpu-type=DerivO3CPU --caches --smt

I get the following error:

---

gem5 Simulator System. http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 compiled Sep 12 2018 13:47:04
gem5 started Sep 12 2018 14:00:35
gem5 executing on gem5-tutorial, pid 25587
command line: build/X86/gem5.opt configs/tutorials/se.py
'--cmd=tests/test-progs/hello/bin/x86/linux/hello;tests/test-progs/hello/bin/x86/linux/hello'
--cpu-type=DerivO3CPU --caches --smt

[2305843009213693952L, 2305843009213698048L]
Global frequency set at 1000000000000 ticks per second
warn: DRAM device capacity (8192 Mbytes) does not match the address range
assigned (512 Mbytes)
0: system.remote_gdb: listening for remote gdb on port 7000
0: system.remote_gdb: listening for remote gdb on port 7001
panic: Pio port of system.cpu.interrupts1 not connected to anything!
Memory Usage: 646912 KBytes
Program aborted at tick 0
--- BEGIN LIBC BACKTRACE ---
build/X86/gem5.opt(_Z15print_backtracev+0x2c)[0x560071f54fbc]
build/X86/gem5.opt(_Z12abortHandleri+0x4a)[0x560071f6aa2a]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12890)[0x7fd486f64890]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7fd48576de97]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x141)[0x7fd48576f801]
build/X86/gem5.opt(+0x41632f)[0x56007120d32f]
build/X86/gem5.opt(_ZN9PioDevice4initEv+0x151)[0x560071307fc1]
build/X86/gem5.opt(_ZN6X86ISA10Interrupts4initEv+0x20)[0x560071ac0060]
build/X86/gem5.opt(+0x912166)[0x560071709166]
build/X86/gem5.opt(+0x757dfb)[0x56007154edfb]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ff3)[0x7fd48721f1b3]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7fd487350278]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5bf6)[0x7fd48721ddb6]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7fd487350278]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5bf6)[0x7fd48721ddb6]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7fd487350278]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7fd487218029]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ac0)[0x7fd48721ec80]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7fd487350278]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5bf6)[0x7fd48721ddb6]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7d8)[0x7fd487350278]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_EvalCode+0x19)[0x7fd487218029]
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyRun_StringFlags+0x76)[0x7fd4872bb546]
build/X86/gem5.opt(_Z6m5MainiPPc+0x83)[0x560071f695f3]
build/X86/gem5.opt(main+0x33)[0x5600711d41f3]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7fd485750b97]
build/X86/gem5.opt(_start+0x2a)[0x5600711f904a]
--- END LIBC BACKTRACE ---

---

It seems the second set of interrupt ports are never connected, but I'm not
sure how to actually connect them. Has anyone dealt with this before? Any
help or pointers would be greatly appreciated.

Best, Ian

Loading...