init.simos
3.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#
# 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"