* ========== Copyright Header Begin ==========================================
* OpenSPARC T2 Processor File: n2_common.conf
* Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.
* The above named program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
* License version 2 as published by the Free Software Foundation.
* The above named program is distributed in the hope that it will be
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
* You should have received a copy of the GNU General Public
* License along with this work; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
* ========== Copyright Header End ============================================
// ========== Copyright Header Begin ==========================================
// OpenSPARC T2 Processor File: n2_common.conf
// Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.
// The above named program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public
// License version 2 as published by the Free Software Foundation.
// The above named program is distributed in the hope that it will be
// useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// General Public License for more details.
// You should have received a copy of the GNU General Public
// License along with this work; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
// ========== Copyright Header End ============================================
//#if defined(RTL) || defined(PLI_REPLAY)
OBJECT socket0 TYPE pli-socket {
#if !defined(NOINT_SYNC) && (defined(RTL) || defined(PLI_REPLAY))
#if !defined(NOLDST_SYNC) && (defined(RTL) || defined(PLI_REPLAY))
#if defined(PLI_RTL_DEBUG)
// default shows trap & instructions
#if defined(TLB_SYNC_DEBUG)
tlb_debug: TLB_SYNC_DEBUG
#if defined(TLB_SYNC_SIZE)
tlb_sync_size: TLB_SYNC_SIZE
// list of registers to be compared, e.g., -sas_run_args=-DCMPR_LIST=G/W/F/PC.
// To exclude a list of registers from the default comparison list, add a '-'
// to the front of the list, e.g., -sas_run_args=-DCMPR_LIST=-/G/W/F/PC.
cmpr_list: XSTR(CMPR_LIST)
//#endif // defined(RTL) || defined(PLI_REPLAY)
// swvmem0: msync, tsoChecker, and pmask related options
OBJECT swvmem0 TYPE swerver-memory {
#if defined(RTL) || defined(PLI_REPLAY)
#if defined(MEM_DISABLE) && !defined(PLI_REPLAY)
#if defined(TSO_CHECKER) && !defined(NO_TSO_CHECKER)
#if defined(MEM_IFETCH) && !defined(NO_MEM_IFETCH)
// CMP masking, each mask is at most 64-bit, N2 needs one to cover 64 strands.
// Every bit in a masking represents a strand. Do not prefix
// mask value with '0x', 'x' has a special meaning in masking, it means the
// corresponding core is not available. For example,
// -sas_run_args=-DTHREAD_MASK0=f and -sas_run_args=-DTHREAD_MASK0=0xf.
// A mask of 'f' means core-0 is available, with strand-0 to 3 enabled.
// A mask of '0xf' means core-1 is available, with strand-0 to 3 enabled. But
// because core-0 is not available, it ends up no strand is enabled.
// THREAD_MASK is for backward compatability.
#if defined(THREAD_MASK0)
thread_mask0: XSTR(THREAD_MASK0)
#elif defined(THREAD_MASK)
thread_mask0: XSTR(THREAD_MASK)
#endif // if defined(CPU)
#endif // if defined(MOM)
//=================== the following OBJECTs are not used ====================//
#if !defined(NOLDST_SYNC)
instruction_profile_mode: instruction-cache-access-trace
instruction_profile_line_size: 4
############################################# chip 0 IO devices
OBJECT irq0 TYPE swerver-interrupt {
OBJECT ciop0 TYPE swerver-io-device {
physical_memory: phys_mem0
OBJECT bsc0 TYPE bsc-device {
OBJECT egress0 TYPE egress-device {
OBJECT ingress0 TYPE ingress-device {
OBJECT rdma0 TYPE rdma-device {
OBJECT echo0 TYPE echo-device {
OBJECT memory_ciop TYPE ram {
OBJECT memory_ciop_image TYPE image {
OBJECT irqbus0 TYPE sparc-irq-bus {
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT irq0 TYPE swerver-interrupt {
OBJECT swvp0 TYPE swerver-processor {
OBJECT swmmu0 TYPE swerver-proc-mmu {
OBJECT th00 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 0))
other_threads: (th01, th02, th03, th04, th05, th06, th07)
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu00 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
stream_cmpl_trap_type: 0x70
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT th01 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 1))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu01 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th02 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 2))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu02 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th03 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 3))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu03 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th04 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 4))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu04 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th05 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 5))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu05 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th06 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 6))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu06 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th07 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 7))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu07 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT swvp1 TYPE swerver-processor {
OBJECT swmmu1 TYPE swerver-proc-mmu {
OBJECT th08 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 8))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu08 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th09 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 9))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu09 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th10 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 10))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu10 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th11 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 11))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu11 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th12 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 12))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu12 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th13 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 13))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu13 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th14 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 14))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu14 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th15 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 15))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu15 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT swvp2 TYPE swerver-processor {
OBJECT swmmu2 TYPE swerver-proc-mmu {
OBJECT th16 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 16))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu16 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th17 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 17))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu17 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th18 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 18))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu18 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th19 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 19))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu19 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th20 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 20))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu20 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th21 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 21))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu21 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th22 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 22))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu22 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th23 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 23))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu23 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT swvp3 TYPE swerver-processor {
OBJECT swmmu3 TYPE swerver-proc-mmu {
OBJECT th24 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 24))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu24 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th25 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 25))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu25 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th26 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 26))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu26 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th27 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 27))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu27 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th28 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 28))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu28 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th29 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 29))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu29 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th30 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 30))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu30 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th31 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 31))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu31 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT swvp4 TYPE swerver-processor {
OBJECT swmmu4 TYPE swerver-proc-mmu {
OBJECT th32 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 32))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu32 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th33 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 33))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu33 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th34 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 34))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu34 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th35 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 35))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu35 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th36 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 36))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu36 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th37 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 37))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu37 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th38 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 38))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu38 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th39 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 39))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu39 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT swvp5 TYPE swerver-processor {
OBJECT swmmu5 TYPE swerver-proc-mmu {
OBJECT th40 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 40))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu40 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th41 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 41))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu41 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th42 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 42))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu42 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th43 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 43))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu43 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th44 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 44))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu44 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th45 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 45))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu45 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th46 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 46))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu46 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th47 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 47))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu47 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT swvp6 TYPE swerver-processor {
OBJECT swmmu6 TYPE swerver-proc-mmu {
OBJECT th48 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 48))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu48 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th49 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 49))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu49 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th50 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 50))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu50 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th51 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 51))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu51 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th52 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 52))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu52 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th53 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 53))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu53 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th54 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 54))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu54 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th55 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 55))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu55 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT swvp7 TYPE swerver-processor {
OBJECT swmmu7 TYPE swerver-proc-mmu {
OBJECT th56 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 56))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu56 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th57 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 57))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu57 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th58 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 58))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu58 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th59 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 59))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu59 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th60 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 60))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu60 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th61 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 61))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu61 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th62 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 62))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu62 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT th63 TYPE niagara2 {
physical_memory: phys_mem0
control_registers: (("mid", 63))
#if defined(RTL) || defined(PLI_REPLAY)
OBJECT stmmu63 TYPE swerver-thread-mmu {
disable-sun4u-interrupts: 1
OBJECT phys_mem0 TYPE memory-space {
(0x00000000000, memory_cache, 0x0, 0, 0x2000000000),
(0x0d500000000, ciop0, 0, 0, 0xb00000000),
(0x0d300000000, bsc0, 0, 0, 0x200000000),
(0x0c500000000, egress0, 0, 0, 0x200000000),
(0x0c300000000, ingress0, 0, 0, 0x200000000),
(0x0d000000000, rdma0, 0, 0, 0x300000000),
(0x0ef00000000, echo0, 0, 0, 0x100000000),
(0x08000000000, memory_ciop, 0x0, 0, 0x7f00000000),
(0x0ff00000000, memory0, 0x0, 0, 0x100000000))
#elif !defined(NOLDST_SYNC) || defined(INDRA_MEM)
OBJECT memory0 TYPE ram {
OBJECT memory0_image TYPE image {
OBJECT memory_cache TYPE ram {
image: memory_cache_image
OBJECT memory_cache_image TYPE image {