Liping,
I think I understand what is causing your problem. You are loading opal
when the processor's PC is pointing to a magic break instruction. Thus,
when Opal is loaded, the first instruction that is executed is the same
magic breakpoint. To get around this, add "c 10" (or "cc 10") after your
first echo statement--this will advance simics a few cycles beyond the
breakpoint, then pause simulation and allow you to load Opal without
re-executing the magic break.
I also note that your script doesn't contain commands to load ruby. You
should be aware that without loading Ruby, Opal assumes a simple,
single-processor memory hierarchy and doesn't simulate coherence or
interconnect.
Regards,
Dan
Liping Xue wrote:
Hi, All
I use the following script to simulation with opal, but is stops simulation very quickly(From the output, I find that, it stops after 1 instruction).
But it seems work well with Simics only and Simics+Ruby.
Any help? Thanks a lot!
-- Liping
Script file I used
--------------------------------------------------------------------
read-configuration ../../checkpoints-u3/sarek-16p.check
magic-break-enable;
@conf.con0.input = "mount /host\n";
@conf.con0.input = "cd /host/home/mdl/lxue/prideth/gems/microbenchmarks//splash2_simics/codes/apps/barnes; ./BARNES < input\n";
c
echo "First magic break point"
@sys.path.append("../../../gen-scripts")
@import mfacet
istc-disable
dstc-disable
instruction-fetch-mode instruction-fetch-trace
load-module opal
opal0.init
opal0.listparam
opal0.sim-start "output_16p.opal"
opal0.sim-step 9999999999
echo "Second magic break point"
---------------------------------------------------------------------
GEMS output:
--------------------------------------------------------------------
[hme0 info] Dropping packet, not connected to network. (Will not warn again)
[cpu2] v:0x0000000000012530 p:0x0000000008012530 magic (sethi 0x40000, %g0)
Setting new inspection cpu: cpu2
First magic break point
Turning I-STC off and flushing old data
Turning D-STC off and flushing old data
Queue registration cpu0
successful installation of the opal queue.
hfa_init_local done:
error: unable to locate object: ruby0
pstate_t: warning: control register #0 == "(null)" has simics name "g0".
pstate_t: warning: control register #1 == "(null)" has simics name "g1".
pstate_t: warning: control register #2 == "(null)" has simics name "g2".
pstate_t: warning: control register #3 == "(null)" has simics name "g3".
pstate_t: warning: control register #4 == "(null)" has simics name "g4".
pstate_t: warning: control register #5 == "(null)" has simics name "g5".
pstate_t: warning: control register #6 == "(null)" has simics name "g6".
pstate_t: warning: control register #7 == "(null)" has simics name "g7".
pstate_t: warning: control register #8 == "(null)" has simics name "o0".
pstate_t: warning: control register #9 == "(null)" has simics name "o1".
pstate_t: warning: control register #10 == "(null)" has simics name "o2".
pstate_t: warning: control register #11 == "(null)" has simics name "o3".
pstate_t: warning: control register #12 == "(null)" has simics name "o4".
pstate_t: warning: control register #13 == "(null)" has simics name "o5".
pstate_t: warning: control register #14 == "(null)" has simics name "o6".
pstate_t: warning: control register #15 == "(null)" has simics name "o7".
pstate_t: warning: control register #16 == "(null)" has simics name "l0".
pstate_t: warning: control register #17 == "(null)" has simics name "l1".
pstate_t: warning: control register #18 == "(null)" has simics name "l2".
pstate_t: warning: control register #19 == "(null)" has simics name "l3".
pstate_t: warning: control register #20 == "(null)" has simics name "l4".
pstate_t: warning: control register #21 == "(null)" has simics name "l5".
pstate_t: warning: control register #22 == "(null)" has simics name "l6".
pstate_t: warning: control register #23 == "(null)" has simics name "l7".
pstate_t: warning: control register #24 == "(null)" has simics name "i0".
pstate_t: warning: control register #25 == "(null)" has simics name "i1".
pstate_t: warning: control register #26 == "(null)" has simics name "i2".
pstate_t: warning: control register #27 == "(null)" has simics name "i3".
pstate_t: warning: control register #28 == "(null)" has simics name "i4".
pstate_t: warning: control register #29 == "(null)" has simics name "i5".
pstate_t: warning: control register #30 == "(null)" has simics name "i6".
pstate_t: warning: control register #31 == "(null)" has simics name "i7".
pstate_t: warning: control register #43 == "(null)" has simics name "stick".
pstate_t: warning: control register #44 == "(null)" has simics name "stick_cmpr".
pstate_t: warning: control register #96 == "(null)" has simics name "softint".
pstate_t: warning: control register #97 == "(null)" has simics name "safari_config".
pstate_t: warning: control register #98 == "(null)" has simics name "safari_address".
pstate_t: warning: control register #99 == "(null)" has simics name "ecache_error_enable".
pstate_t: warning: control register #100 == "(null)" has simics name "asynchronous_fault_status".
pstate_t: warning: control register #101 == "(null)" has simics name "asynchronous_fault_address".
pstate_t: warning: control register #102 == "(null)" has simics name "out_intr_data0".
pstate_t: warning: control register #103 == "(null)" has simics name "out_intr_data1".
pstate_t: warning: control register #104 == "(null)" has simics name "out_intr_data2".
pstate_t: warning: control register #105 == "(null)" has simics name "out_intr_data3".
pstate_t: warning: control register #106 == "(null)" has simics name "out_intr_data4".
Ln constructor: block size: 64B, 4x assoc, 4096 sets. 1048576B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 4x assoc, 4096 sets. 1048576B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 4x assoc, 4096 sets. 1048576B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 4x assoc, 4096 sets. 1048576B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 4x assoc, 4096 sets. 1048576B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 4x assoc, 4096 sets. 1048576B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 4x assoc, 4096 sets. 1048576B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 4x assoc, 4096 sets. 1048576B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 4x assoc, 4096 sets. 1048576B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 4x assoc, 4096 sets. 1048576B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 4x assoc, 4096 sets. 1048576B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 4x assoc, 4096 sets. 1048576B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 4x assoc, 4096 sets. 1048576B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 4x assoc, 4096 sets. 1048576B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 4x assoc, 4096 sets. 1048576B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 4x assoc, 4096 sets. 1048576B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
Ln constructor: block size: 64B, 1x assoc, 256 sets. 16384B total
error: unable to locate object: ruby0
warning: ruby not present or it does not implement mf-ruby-api interface.
FETCH_STAGES : 3
DECODE_STAGES : 4
RETIRE_STAGES : 3
MAX_FETCH : 4
MAX_DECODE : 4
MAX_DISPATCH : 4
MAX_EXECUTE : 4
MAX_RETIRE : 4
PSEQ_MAX_UNCHECKED : 1
CONFIG_IREG_PHYSICAL : 224
CONFIG_FPREG_PHYSICAL : 192
CONFIG_CCREG_PHYSICAL : 69
CONFIG_NUM_CONTROL_SETS : 64
CONFIG_ALU_MAPPING : (0, 1, 1, 2, 3, 4, 4, 4, 5, 6, 6, 7, 8)
CONFIG_NUM_ALUS : (127, 4, 2, 2, 4, 2, 2, 2, 2, 0, 0, 0, 0)
CONFIG_ALU_LATENCY : (1, 1, 4, 20, 1, 2, 2, 2, 4, 12, 24, 1, 1)
IL1_ASSOC : 1
IL1_SET_BITS : 8
IL1_BLOCK_BITS : 6
IL1_MSHR_ENTRIES : 256
IL1_STREAM_BUFFERS : 0
IL1_IDEAL : 0
IL1_NL_TYPE : 0
IL1_NL_LINES : 0
IL1_MSHR_QUEUE_SIZE : 32
IL1_MSHR_QUEUE_ISSUE_WIDTH : 2
DL1_ASSOC : 1
DL1_SET_BITS : 8
DL1_BLOCK_BITS : 6
DL1_MSHR_ENTRIES : 256
DL1_STREAM_BUFFERS : 0
DL1_IDEAL : 0
L2_ASSOC : 4
L2_SET_BITS : 12
L2_BLOCK_BITS : 6
L2_MSHR_ENTRIES : 128
L2_STREAM_BUFFERS : 0
L2_LATENCY : 6
L2_IDEAL : 0
MEMORY_DRAM_LATENCY : 80
MEMORY_OUTSTANDING_REQUESTS : 128
MEMOP_STALE_DATA : 0
L1_FILL_BUS_CYCLES : 1
L2_FILL_BUS_CYCLES : 11
RUBY_CLOCK_DIVISOR : 1
TLB_NUM_ENTRIES : 64
TLB_NUM_PAGE_SIZES : 4
TLB_PAGE_SIZES : (8192, 65536, 524288, 4194304)
TLB_IS_IDEAL : 0
ICACHE_CYCLE : 1
FETCH_PASS_CACHE_LINE : 1
FETCH_PASS_TAKEN_BRANCH : 1
BRANCHPRED_TYPE : YAGS
BRANCHPRED_PHT_BITS : 10
BRANCHPRED_EXCEPTION_BITS : 8
BRANCHPRED_TAG_BITS : 6
BRANCHPRED_MISPRED_PENALTY : 1
BRANCHPRED_USE_GLOBAL : 0
CAS_TABLE_BITS : 6
CAS_EXCEPT_BITS : 6
CAS_EXCEPT_SHIFT : 1
RAS_BITS : 6
RAS_EXCEPTION_TABLE_BITS : 6
IWINDOW_ROB_SIZE : 128
IWINDOW_WIN_SIZE : 64
STAT_EXPENSIVE_PROFILE : 0
CHAIN_IDEAL_WINDOW : 0
CHAIN_IDEAL_BRANCH_PRED : 0
CHAIN_ST_LD_FORWARDING : 1
CHAIN_MP_MODE : 1
MEMOP_BLOCK_MASK : 63
IL1_NUM_SETS : 256
DL1_NUM_SETS : 256
CAS_TABLE_SIZE : 64
CAS_TABLE_MASK : 63
CAS_EXCEPT_SIZE : 64
CAS_EXCEPT_MASK : 63
OPAL_IS_NULL : 0
OPAL_NULL_IPC : 1
[0] PC 0x1147bd8 NPC 0x1147bbc ctx 0x0
[1] PC 0x1047128 NPC 0x104712c ctx 0x0
[2] PC 0x12530 NPC 0x12534 ctx 0x7a
[3] PC 0x104861c NPC 0x1048620 ctx 0x0
[4] PC 0x10485c4 NPC 0x10485e8 ctx 0x0
[5] PC 0x1048674 NPC 0x1048678 ctx 0x0
[6] PC 0x1048678 NPC 0x104867c ctx 0x0
[7] PC 0x10485c0 NPC 0x10485c4 ctx 0x0
[8] PC 0x104861c NPC 0x1048620 ctx 0x0
[9] PC 0x10386c0 NPC 0x10386c4 ctx 0x0
[10] PC 0x104861c NPC 0x1048620 ctx 0x0
[11] PC 0x1048678 NPC 0x104867c ctx 0x0
[12] PC 0x1048678 NPC 0x104867c ctx 0x0
[13] PC 0x104867c NPC 0x1048610 ctx 0x0
[14] PC 0x1048674 NPC 0x1048678 ctx 0x0
[15] PC 0x1048620 NPC 0x1048624 ctx 0x0
system_transaction: info: unusual magic instruction (0x40000)
patch PC: 0x12534 0x12530
patch NPC: 0x12538 0x12534
patch PC: 0x10485e8 0x10485c4
patch NPC: 0x10485ec 0x10485e8
patch PC: 0x1048678 0x1048674
patch NPC: 0x104867c 0x1048678
patch PC: 0x104867c 0x1048678
patch NPC: 0x1048610 0x104867c
patch PC: 0x10485c4 0x10485c0
patch NPC: 0x10485e8 0x10485c4
patch PC: 0x10386c4 0x10386c0
patch NPC: 0x10386c8 0x10386c4
patch PC: 0x104867c 0x1048678
patch NPC: 0x1048610 0x104867c
patch PC: 0x104867c 0x1048678
patch NPC: 0x1048610 0x104867c
patch PC: 0x1048678 0x1048674
patch NPC: 0x104867c 0x1048678
patch PC: 0x1048624 0x1048620
patch NPC: 0x1048628 0x1048624
simulate: completed 1 instructions, cycle: 111
Second magic break point
simics>
----------------------------------------------------------------------------------------
_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
|