init.simos 3.05 KB
#
# Copyright (C) 1996-1998 by the Board of Trustees
#    of Leland Stanford Junior University.
# 
# This file is part of the SimOS distribution. 
# See LICENSE file for terms of the license. 
#
###
### setup the search path to find scripts
###

lappend simosPath $env(SIMOS_DIR)/src/apps/tcl

###
### ALWAYS source this file first. It sets up a number of annotation types.
###
source "tcl_support.tcl"

###
### setup default parameters
###

source "defaults.tcl"

###
### override any of the default parameters
###

# set use of hello binary as boot prom
set PARAM(FILES.FPROMFile)       "romsimos.elf"

set PARAM(FPROM.RAMSize)           8388608

  # 
  # 2Level specifics
  #
    # Size (in kilobytes) of the 1st level instruction cache
    set PARAM(CACHE.2Level.ISize)   16
    # Size (in bytes) of a 1st level instruction cache line
    set PARAM(CACHE.2Level.ILine)   32
    # Associativity of 1st level instruction cache
    set PARAM(CACHE.2Level.IAssoc)   2
 
    # icache inclusion
   if { $SIMOS(ISA)=="ALPHA"} { 
      set PARAM(CACHE.2Level.IInclusion) no
    } else {
      set PARAM(CACHE.2Level.IInclusion) yes
    }

    # Size (in kilobytes) of the 1st level data cache
    set PARAM(CACHE.2Level.DSize)   8    
    # Size (in bytes) of a 1st level data cache line
    set PARAM(CACHE.2Level.DLine)   16
    # Associativity of 1st level data cache
    set PARAM(CACHE.2Level.DAssoc)   2

    # Size (in kilobytes) of the 2nd level unified cache
    set PARAM(CACHE.2Level.L2Size)  1024
    # Size (in bytes) of a 2nd level cache line
    set PARAM(CACHE.2Level.L2Line)   64
    # Associativity of 2nd level unified cache
    set PARAM(CACHE.2Level.L2Assoc)     2

    # Time (in nanoseconds) for a 2nd level cache hit
    set PARAM(CACHE.2Level.L2HitTime)        50

    # The write buffer allows non-blocking writes. 0 turns off the buffer.
    set PARAM(CACHE.2Level.WriteBufferSize) 0

    # 
    set PARAM(CACHE.2Level.UpgradesOnUP)    0

    # Time (in *cycles*) before a NAKed memory request is retried
    set PARAM(CACHE.2Level.NAKRetryTime)    1

if {!$SIMOS(RestoringCpt)} {
    set PARAM(MEMSYS.MemSize) 64
}

###
### load your kernel's symbols - required by most scripts
###

#set KERNEL $env(SIMOS_DIR)/kernels/irix-mp-5.3

#symbol load kernel $KERNEL

proc loginScript {} {
# stream anything that you want to run at login time
}

###
### the support script has necessary routines in it
###

if {$PARAM(CPU.Model) == "EMBRA_PAGE"} {
    set detailLevel 1
}
set detailLevel 0


###
### Make sure this is sourced after all parameters are set
###
source "standard.tcl"

###
### catch annotation errors here
###
### this sample prints a backtrace and then goes into interactive mode,
### alternatively we could just print a warning message, ignore, or exit
###

handler {
    console "TCL ERROR:\n" $errorInfo "\n"
    exit
}

annotation set simos sigusr {
    console "sigusr caught, and then ignored\n"
}


###
### boot line
###

#expect {simosboot (1)> } {
#    type "b $KERNEL initstate=s\n"
#}


###
### finally list useful info
###

console "SIMOS: pid [pid]\n"
log "[annotation info]\n"