Hi,

I'm getting Segmentation Fault when simulating the Atom core model
with SMT enabled. My machine config is on the lines of ooo_2_th
machine config :

  atom_2_th:
    description: Atom core with 2 threads
    min_contexts: 2
    cores:
      - type: atom
        name_prefix: atom_
        option:
            threads: 2
    caches:
      - type: l1_32K_mesi
        name_prefix: L1_I_
        insts: $NUMCORES # Per core L1-I cache
        option:
            private: true
      - type: l1_32K_mesi
        name_prefix: L1_D_
        insts: $NUMCORES # Per core L1-D cache
        option:
            private: true
      - type: l2_512K
        name_prefix: L2_
        insts: $NUMCORES # Private L2 config
        option:
            private: true
            last_private: true
    memory:
      - type: dram_cont
        name_prefix: MEM_
        insts: 1 # Single DRAM controller
    interconnects:
      - type: p2p
        connections:
          - core_$: I
            L1_I_$: UPPER
          - core_$: D
            L1_D_$: UPPER
          - L1_I_$: LOWER
            L2_$: UPPER
          - L1_D_$: LOWER
            L2_$: UPPER2
      - type: split_bus
        connections:
          - L2_*: LOWER
            MEM_0: UPPER

The bt from gdb is as follows:

#0  0x00000000005a91ff in
Memory::CoherentCache::MESILogic::complete_request (this=<optimized
out>, queueEntry=0x2cb7498,
    message=...) at ptlsim/build/cache/mesiLogic.cpp:305
#1  0x000000000058f946 in
Memory::CoherentCache::CacheController::complete_request
(this=0x2cb7230, message=...,
    queueEntry=0x2cb7498) at ptlsim/build/cache/coherentCache.cpp:389
#2  0x000000000059135c in
Memory::CoherentCache::CacheController::handle_lower_interconnect
(this=0x2cb7230, message=...)
    at ptlsim/build/cache/coherentCache.cpp:233
#3  0x00000000005915ab in
Memory::CoherentCache::CacheController::handle_interconnect_cb
(this=0x2cb7230, arg=0x2b2cd80)
    at ptlsim/build/cache/coherentCache.cpp:415
#4  0x0000000000586ca8 in
superstl::TFunctor1<Memory::Controller>::operator() (this=<optimized
out>, arg=<optimized out>)
    at ptlsim/lib/superstl.h:3950
#5  0x000000000062768b in superstl::Signal::emit (this=<optimized
out>, arg=<optimized out>) at ptlsim/build/lib/superstl.cpp:1431
#6  0x00000000005ad984 in
Memory::P2PInterconnect::controller_request_cb (this=0x2d15000,
arg=0x2b2cd30)
    at ptlsim/build/cache/p2p.cpp:85
#7  0x00000000005817ce in
superstl::TFunctor1<Memory::Interconnect>::operator() (this=<optimized
out>, arg=<optimized out>)
    at ptlsim/lib/superstl.h:3950
#8  0x000000000062768b in superstl::Signal::emit (this=<optimized
out>, arg=<optimized out>) at ptlsim/build/lib/superstl.cpp:1431
#9  0x00000000005834c6 in
Memory::CacheController::wait_interconnect_cb (this=0x2cd6f80,
arg=0x2cd71e8)
    at ptlsim/build/cache/cacheController.cpp:694
#10 0x0000000000586c78 in
superstl::TFunctor1<Memory::CacheController>::operator()
(this=<optimized out>, arg=<optimized out>)
    at ptlsim/lib/superstl.h:3950
#11 0x000000000062768b in superstl::Signal::emit (this=<optimized
out>, arg=<optimized out>) at ptlsim/build/lib/superstl.cpp:1431
#12 0x00000000005a545b in execute (this=0x2b308a8) at
ptlsim/cache/memoryHierarchy.h:110
#13 Memory::MemoryHierarchy::add_event (this=0x2b2c9f0,
signal=<optimized out>, delay=<optimized out>, arg=<optimized out>)
    at ptlsim/build/cache/memoryHierarchy.cpp:312
#14 0x00000000006a5f7c in marss_add_event (signal=<optimized out>,
delay=<optimized out>, arg=<optimized out>)
    at ptlsim/build/sim/machine.cpp:816
#15 0x0000000000586050 in
Memory::CacheController::handle_interconnect_cb (this=0x2cd6f80,
arg=0x2b2cce0)
    at ptlsim/build/cache/cacheController.cpp:294
#16 0x0000000000586ca8 in
superstl::TFunctor1<Memory::Controller>::operator() (this=<optimized
out>, arg=<optimized out>)
    at ptlsim/lib/superstl.h:3950
#17 0x000000000062768b in superstl::Signal::emit (this=<optimized
out>, arg=<optimized out>) at ptlsim/build/lib/superstl.cpp:1431
#18 0x00000000005b080e in
Memory::SplitPhaseBus::BusInterconnect::data_broadcast_completed_cb
(this=0x2d15520, arg=0x2d15788)
    at ptlsim/build/cache/splitPhaseBus.cpp:509
#19 0x00000000005b3676 in
superstl::TFunctor1<Memory::SplitPhaseBus::BusInterconnect>::operator()
(this=<optimized out>,
    arg=<optimized out>) at ptlsim/lib/superstl.h:3950
#20 0x000000000062768b in superstl::Signal::emit (this=<optimized
out>, arg=<optimized out>) at ptlsim/build/lib/superstl.cpp:1431
---Type <return> to continue, or q <return> to quit---
#21 0x00000000005a46d3 in execute (this=0x2b306b0) at
ptlsim/cache/memoryHierarchy.h:110
#22 Memory::MemoryHierarchy::clock (this=0x2b2c9f0) at
ptlsim/build/cache/memoryHierarchy.cpp:106
#23 0x00000000006a2673 in BaseMachine::run (this=0x129a180,
config=...) at ptlsim/build/sim/machine.cpp:356
#24 0x00000000006b1ba3 in ptl_simulate () at ptlsim/build/sim/ptlsim.cpp:1398
#25 0x00000000005792d2 in sim_cpu_exec () at qemu/cpu-exec.c:310
#26 0x000000000041e079 in main_loop () at qemu/vl.c:1450
#27 main (argc=8, argv=0x7fffffffe188, envp=<optimized out>) at qemu/vl.c:3189


Any ideas on what could be going wrong ? Is this a bug or some issue
with my machine configuration ? Will greatly appreciate your help on
debugging this! Please let me know if I should provide more debug
information.

Thanks for your help!

-- 
Regards,
Ankita

_______________________________________________
http://www.marss86.org
Marss86-Devel mailing list
[email protected]
https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel

Reply via email to