read-configuration "common.conf"
#elif defined(TWO_THREADS)
#elif defined(FOUR_THREADS)
#endif // ifdef ONE_THREAD
cmd= "perl -ne 'if(/%s\s+(\w+)/){ print$1;last}' symbol.tbl " % name
addr_str= os.popen(cmd, "r").readline();
addr = string.atol(addr_str,16)
@conf.socket0.setvar = "debug_level=0"
@conf.socket0.setvar = "tlb_debug=0"
@conf.swvmem0.setvar = "debug_level=0"
#endif // ifdef STEP_QUIET
@conf.mom0.call= "init-anno-sas"
@conf.mom0.setvar= "itlb0_size_v=0"
@conf.mom0.setvar= "dtlb0_size_v=0"
@conf.mom0.setvar= "SKIP_UNCACHED=0"
@conf.mom0.setvar= "en_thrd_prio_v=0"
@conf.mom0.setvar= "thread_num_per_proc_v=1"
@conf.mom0.setvar= "pipe_num_per_proc_v=1"
#elif defined(TWO_THREADS)
@conf.mom0.setvar= "thread_num_per_proc_v=2"
#elif defined(FOUR_THREADS)
@conf.mom0.setvar= "thread_num_per_proc_v=4"
@conf.mom0.setvar= "thread_num_per_proc_v=8"
#endif // ifdef ONE_THREAD
@conf.mom0.setvar= "l15_cache_v=1"
@conf.mom0.setvar= "l2_obuf_size_v=30"
@conf.mom0.setvar= "l2_obuf_watermark_v=22"
#endif // if defined(L15)
#if defined(L15_RQ_FIRST_PACKET)
@conf.mom0.setvar= "l15_rq_first_packet_v=1"
#endif // if defined(L15_RQ_FIRST_PACKET)
#if defined(L2_ALWAYS_HIT)
@conf.mom0.setvar= "l2_always_hit_v=1"
#endif // if defined(L2_ALWAYS_HIT)
#if defined(SINGLE_IREFILL)
@conf.mom0.setvar= "single_irefill_v=1"
#endif // if defined(SINGLE_IREFILL)
#if defined(FETCH_ACROSS_HALF_LINE)
@conf.mom0.setvar= "fetch_across_half_line_v=1"
#endif // if defined(FETCH_ACROSS_HALF_LINE)
@conf.mom0.setvar= "PRINT_RSLT=1"
#endif // if defined(MOM_RSLT)
#if defined(MOM_SHOW_IB) || defined(MOM_DEBUG_PIPE)
@conf.mom0.setvar= "DEBUG_PIPE=1"
#endif // if defined(MOM_SHOW_IB) || defined(MOM_DEBUG_PIPE)
@conf.mom0.setvar= "DEBUG_DEBUSSY=1"
#endif // if defined(MOM_DEBUSSY)
#if defined(THREAD_STATUS_ADDR)
@conf.mom0.thread_status= THREAD_STATUS_ADDR
#endif // if defined(THREAD_STATUS_ADDR)
@conf.mom0.setvar= "proc_num_v=8"
@conf.mom0.setvar= "proc_num_v=7"
@conf.mom0.setvar= "proc_num_v=6"
@conf.mom0.setvar= "proc_num_v=5"
@conf.mom0.setvar= "proc_num_v=4"
@conf.mom0.setvar= "proc_num_v=3"
@conf.mom0.setvar= "proc_num_v=2"
@conf.mom0.setvar= "proc_num_v=1"
#endif // if defined(SP7)
@conf.mom0.PASS= get_addr('\.TRAPS\.T0_GoodTrap_0x100')
@conf.mom0.FAIL= get_addr('\.TRAPS\.T0_BadTrap_0x101')
@conf.mom0.HPASS= get_addr('\.HTRAPS\.HT0_GoodTrap_0x100')
@conf.mom0.HFAIL= get_addr('\.HTRAPS\.HT0_BadTrap_0x101')
@conf.mom0.DC_ON= get_addr('mom_enable_l1d')
@conf.mom0.DC_OFF= get_addr('mom_disable_l1d')
@conf.mom0.IC_ON= get_addr('mom_enable_l1i')
@conf.mom0.IC_OFF= get_addr('mom_disable_l1i')
@conf.mom0.T1PASS= get_addr('\.RED\.good_trap')
@conf.mom0.T1FAIL= get_addr('\.RED\.bad_trap')
@conf.mom0.APASS= get_addr('\.RED\.good_trap')
@conf.mom0.AFAIL= get_addr('\.RED\.bad_trap')
penable -mask=THREAD_MASK
@conf.mom0.setvar= thread_mask_v=THREAD_MASK
#endif // if defined(THREAD_MASK)
@conf.mom0.setvar= "THREAD_BASED_STAT=1"
@conf.mom0.setvar= "print_all_mom_stat=1"
@conf.mom0.setvar= "START_SIM_IMM=1"
@conf.mom0.start_cycle= 1
@conf.mom0.reset_all_stat= 1
@conf.mom0.setvar= "START_SIM_IMM=1"
@conf.mom0.start_cycle= 1
#endif // if defined(MOM_STAT)
#endif // if defined(MAX_CYCLE)
#endif // ifndef MOM_STEP
// intend to replace THREADS+SPx, THREAD_MASK=10xxxx01 is equivalent to
// 'SP0 SP3 THREADS=10000001'
#if defined(THREAD_MASK) || defined(THREAD_MASK1) || defined(THREAD_MASK2) || defined(THREAD_MASK3)
@conf.swvmem0.thread_mask0 = THREAD_MASK
@conf.swvmem0.thread_mask0 = 0
#if defined(THREAD_MASK1)
@conf.swvmem0.thread_mask1 = THREAD_MASK1
@conf.swvmem0.thread_mask1 = 0
#if defined(THREAD_MASK2)
@conf.swvmem0.thread_mask2 = THREAD_MASK2
@conf.swvmem0.thread_mask2 = 0
#if defined(THREAD_MASK3)
@conf.swvmem0.thread_mask3 = THREAD_MASK3
@conf.swvmem0.thread_mask3 = 0
// THREADS must work with SPx to set proper CMP registers
@conf.swvmem0.threads = THREADS
#if defined(IGNORE_SP0) || !defined(SP0)
@conf.swvmem0.ignore_sparc =+ 0
#endif // if defined(IGNORE_SP0) || !defined(SP0)
#if defined(IGNORE_SP1) || !defined(SP1)
@conf.swvmem0.ignore_sparc =+ 1
#endif // if defined(IGNORE_SP1) || !defined(SP1)
#if defined(IGNORE_SP2) || !defined(SP2)
@conf.swvmem0.ignore_sparc =+ 2
#endif // if defined(IGNORE_SP2) || !defined(SP2)
#if defined(IGNORE_SP3) || !defined(SP3)
@conf.swvmem0.ignore_sparc =+ 3
#endif // if defined(IGNORE_SP3) || !defined(SP3)
#if defined(IGNORE_SP4) || !defined(SP4)
@conf.swvmem0.ignore_sparc =+ 4
#endif // if defined(IGNORE_SP4) || !defined(SP4)
#if defined(IGNORE_SP5) || !defined(SP5)
@conf.swvmem0.ignore_sparc =+ 5
#endif // if defined(IGNORE_SP5) || !defined(SP5)
#if defined(IGNORE_SP6) || !defined(SP6)
@conf.swvmem0.ignore_sparc =+ 6
#endif // if defined(IGNORE_SP6) || !defined(SP6)
#if defined(IGNORE_SP7) || !defined(SP7)
@conf.swvmem0.ignore_sparc =+ 7
#endif // if defined(IGNORE_SP7) || !defined(SP7)
#endif // if defined(THREAD_MASK)
#if defined(THREAD_STATUS_ADDR)
@conf.swvmem0.thread_status= THREAD_STATUS_ADDR
#endif // if defined(THREAD_STATUS_ADDR)
@conf.swvmem0.max_cycle = MAX_CYCLE
#endif // if defined(MAX_CYCLE)
// if not to go into interactive mode, then let it run until hit a breakpoint
#endif // if !defined(SAS_IACT)
#elif defined(RTL) || defined(PLI_RUN)
#endif // if-else defined(SAS_RUN)
#endif // if-else defined(MOM)