Commit | Line | Data |
---|---|---|
920dae64 AT |
1 | \ ========== Copyright Header Begin ========================================== |
2 | \ | |
3 | \ Hypervisor Software File: loadprom.fth | |
4 | \ | |
5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. | |
6 | \ | |
7 | \ - Do no alter or remove copyright notices | |
8 | \ | |
9 | \ - Redistribution and use of this software in source and binary forms, with | |
10 | \ or without modification, are permitted provided that the following | |
11 | \ conditions are met: | |
12 | \ | |
13 | \ - Redistribution of source code must retain the above copyright notice, | |
14 | \ this list of conditions and the following disclaimer. | |
15 | \ | |
16 | \ - Redistribution in binary form must reproduce the above copyright notice, | |
17 | \ this list of conditions and the following disclaimer in the | |
18 | \ documentation and/or other materials provided with the distribution. | |
19 | \ | |
20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors | |
21 | \ may be used to endorse or promote products derived from this software | |
22 | \ without specific prior written permission. | |
23 | \ | |
24 | \ This software is provided "AS IS," without a warranty of any kind. | |
25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, | |
26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A | |
27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN | |
28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR | |
29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR | |
30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN | |
31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR | |
32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE | |
33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, | |
34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF | |
35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. | |
36 | \ | |
37 | \ You acknowledge that this software is not designed, licensed or | |
38 | \ intended for use in the design, construction, operation or maintenance of | |
39 | \ any nuclear facility. | |
40 | \ | |
41 | \ ========== Copyright Header End ============================================ | |
42 | id: @(#)loadprom.fth 1.19 07/06/22 | |
43 | purpose: | |
44 | copyright: Copyright 2007 Sun Microsystems, Inc. All rights reserved. | |
45 | copyright: Use is subject to license terms. | |
46 | ||
47 | decimal | |
48 | warning off | |
49 | caps on | |
50 | ||
51 | \ Niagara Load File | |
52 | transient | |
53 | ||
54 | \ Variables controlling inclusion of optional packages. | |
55 | ||
56 | [define] assembler? | |
57 | ||
58 | fload debug.fth | |
59 | ||
60 | resident | |
61 | ||
62 | fload ${BP}/os/unix/simforth/findnext.fth | |
63 | ||
64 | fload ${BP}/fm/lib/loadcomm.fth \ Generic CPU-independent Forth tools | |
65 | fload ${BP}/os/sun/sparc/loadmach.fth \ CPU and OS-specific extensions | |
66 | fload ${BP}/os/sun/sparc/loadfw.fth \ Platform-independent Open Firmware | |
67 | ||
68 | fload ${BP}/arch/sun4v/hfcodes.fth | |
69 | fload ${BP}/arch/sun4v/mdlib.fth | |
70 | fload ${BP}/pkg/fcode/vfcodes/sun4v.fth | |
71 | ||
72 | \ =========================================================================== | |
73 | \ Up to this point, we haven't loaded any machine-dependent code | |
74 | ||
75 | fload ${BP}/arch/sun4v/niagara/sysinfo.fth | |
76 | ||
77 | d# 256 1meg * constant 256meg | |
78 | d# 128 1meg * constant 128meg | |
79 | d# 64 1meg * constant 64meg | |
80 | d# 16 1meg * constant 16meg | |
81 | d# 8 1meg * constant 8meg | |
82 | d# 4 1meg * constant 4meg | |
83 | d# 2 1meg * constant 2meg | |
84 | ||
85 | h# 8.0000 constant ROMsize | |
86 | ||
87 | alias obmem 0 | |
88 | alias obio 0 | |
89 | ||
90 | fload ${BP}/cpu/sparc/ultra4v/loadultra.fth | |
91 | ||
92 | fload ${BP}/arch/sun4v/hyperconsole.fth | |
93 | ||
94 | fload ${BP}/arch/sun4v/niagara/virtaddrs.fth | |
95 | fload ${BP}/os/bootprom/loadlist.fth \ S Virtual, physical memory allocators | |
96 | fload ${BP}/os/bootprom/availmem.fth | |
97 | fload ${BP}/arch/sun4v/ramforth.fth \ S Ramforth | |
98 | fload ${BP}/os/bootprom/allocmor.fth | |
99 | fload ${BP}/os/bootprom/msgbuf.fth | |
100 | ||
101 | fload ${BP}/arch/sun4v/api-group-id.fth | |
102 | fload ${BP}/arch/sun4v/niagara/hv-apis.fth | |
103 | fload ${BP}/arch/sun4v/api-version.fth | |
104 | fload ${BP}/arch/sun4v/niagara/hv-api-init.fth | |
105 | ||
106 | fload ${BP}/arch/sun4v/mdload.fth | |
107 | fload ${BP}/arch/sun4v/devalias.fth \ S MD devalias import | |
108 | ||
109 | fload ${BP}/arch/sun4s/reentry-table.fth | |
110 | fload ${BP}/arch/sun4v/fastfill.fth | |
111 | fload ${BP}/arch/sun4v/cpustruct.fth \ S Allocate cpu structs | |
112 | fload ${BP}/arch/sun4v/sun4v-svcreport.fth | |
113 | fload ${BP}/cpu/sparc/ultra4v/savecpu.fth | |
114 | ||
115 | fload ${BP}/arch/sun4u/asmmacros.fth | |
116 | fload ${BP}/arch/sun4v/catchexc.fth \ S pssave and rssave | |
117 | fload ${BP}/arch/sun4v/mmumiss.fth | |
118 | ||
119 | fload ${BP}/arch/sun4v/mapdi.fth \ Mapping for drop-in drivers | |
120 | fload ${BP}/os/bootprom/dropin.fth \ Drop-in driver support | |
121 | fload ${BP}/pkg/decompressor/dropin.fth | |
122 | ||
123 | fload ${BP}/arch/sun4u/trans.fth | |
124 | fload ${BP}/arch/sun4u/traptable.fth | |
125 | fload ${BP}/arch/sun4u/fieldberr.fth \ Bus error handler for probing | |
126 | ||
127 | fload ${BP}/os/bootprom/pdump.fth \ physical dump | |
128 | ||
129 | fload ${BP}/os/stand/sysuart.fth | |
130 | ||
131 | fload ${BP}/cpu/sparc/ultra4v/tlbasm.fth | |
132 | fload ${BP}/arch/sun4v/niagara/tlbsetup.fth | |
133 | ||
134 | fload ${BP}/arch/sun4u/arcbpsup.fth \ S Arch-dependent breakpoint support | |
135 | fload ${BP}/arch/sun4u/reenter.fth \ S Getting back to Forth from Unix | |
136 | ||
137 | fload ${BP}/arch/sun/model.fth \ /openprom model and version props. | |
138 | ||
139 | fload ${BP}/arch/sun4s/msloop.fth \ Delays of n milliseconds | |
140 | fload ${BP}/arch/sun4v/machine-init.fth | |
141 | fload ${BP}/arch/sun4v/forthint.fth \ S alarm trap handler | |
142 | ||
143 | fload ${BP}/arch/sun4v/slavecpu.fth | |
144 | ||
145 | fload ${BP}/arch/sun4v/hslave.fth | |
146 | ||
147 | fload ${BP}/arch/sun4v/niagara/boot.fth \ SI startup code | |
148 | ||
149 | fload ${BP}/arch/sun4v/xcall.fth | |
150 | ||
151 | fload ${BP}/arch/sun4u/startcpu.fth | |
152 | fload ${BP}/arch/sun4v/switchcpu.fth | |
153 | ||
154 | fload ${BP}/arch/sun4u/quark/le-access.fth \ little endian access code. | |
155 | fload ${BP}/dev/builtin.fth | |
156 | ||
157 | fload ${BP}/arch/sun4v/mondo.fth | |
158 | ||
159 | stand-init: Loading Support Packages | |
160 | diagnostic-mode? if | |
161 | ." Loading Support Packages: " | |
162 | then | |
163 | " support-pkg" do-drop-in | |
164 | diagnostic-mode? if cr then | |
165 | ; | |
166 | ||
167 | stand-init: Loading Builtin Devices | |
168 | " onboard-devices" ['] builtin-drivers-package find-method if | |
169 | execute | |
170 | then | |
171 | ; | |
172 | ||
173 | fload ${BP}/arch/sun4v/niagara/loadconfig.fth | |
174 | ' diag-switch? is diagnostic-mode? | |
175 | ||
176 | vocabulary ldc | |
177 | also ldc definitions | |
178 | fload ${BP}/dev/sun4v-devices/ldc/methods.fth | |
179 | previous definitions | |
180 | ||
181 | fload ${BP}/arch/sun4v/domain-services.fth \ domain service backend | |
182 | fload ${BP}/arch/sun4v/ldom-variables.fth \ ldom variables domain service | |
183 | ||
184 | stand-init: Track firmware verbosity | |
185 | " verbosity" ['] options search-wordlist if | |
186 | get to fw-verbosity | |
187 | then | |
188 | ; | |
189 | ||
190 | fload ${BP}/arch/sun4v/memprobe.fth \ S memory sizer | |
191 | ||
192 | fload ${BP}/os/bootprom/scrubmem.fth | |
193 | ||
194 | fload ${BP}/arch/sun/idprom.fth \ IDPROM layout | |
195 | fload ${BP}/arch/sun/keystore.fth \ Security keystore | |
196 | fload ${BP}/arch/sun4v/keystore.fth \ keystore domain service | |
197 | ||
198 | headers | |
199 | ||
200 | : bzero-region ( va len -- ) 2drop ; | |
201 | : btouch-region ( va len -- ) 2drop ; | |
202 | ||
203 | fload ${BP}/pkg/keyboard/usb/support.fth | |
204 | ||
205 | \ Force a map of the drop-in ROM | |
206 | stand-init: direct-open-drop-in | |
207 | direct-open-drop-in drop | |
208 | ; | |
209 | ||
210 | stand-init: cpu-devices- | |
211 | " cpu-devices-" do-drop-in | |
212 | ; | |
213 | ||
214 | fload ${BP}/pkg/fcode/obsfcode.fth | |
215 | ||
216 | fload ${BP}/arch/sun4v/retained.fth \ retained memory is non-functional | |
217 | ||
218 | fload ${BP}/arch/sun4v/rootnexus.fth | |
219 | ||
220 | fload ${BP}/dev/pci/knownprops.fth | |
221 | ||
222 | stand-init: cpu-devices+ | |
223 | " cpu-devices+" do-drop-in | |
224 | ; | |
225 | ||
226 | 0 value xir-reset? \ XXXX | |
227 | ||
228 | fload ${BP}/cpu/sparc/init-c9.fth \ S Init. C Stack Pointer | |
229 | ||
230 | fload ${BP}/arch/sun4u/starthacks.fth \ XXXX | |
231 | ||
232 | fload ${BP}/arch/sun4u/unixmap.fth \ MMU initialization | |
233 | ||
234 | fload ${BP}/arch/sun4u/reboot.fth \ S Reboot Info | |
235 | fload ${BP}/arch/sun4u/consredir.fth | |
236 | ||
237 | \ Packages | |
238 | fload ${BP}/pkg/loadpkg.fth | |
239 | fload ${BP}/pkg/dropins/loadpkg.fth | |
240 | ||
241 | fload ${BP}/arch/sun4v/multipath-boot.fth | |
242 | fload ${BP}/arch/sun4v/reboot-info.fth | |
243 | ||
244 | fload ${BP}/pkg/asr-ds/asr.fth \ asr domain service | |
245 | ||
246 | fload ${BP}/pkg/selftest/selftest.fth | |
247 | ||
248 | \ modify banner to display available rather than installed memory | |
249 | : .memory-available ( -- ) ." memory available" ; | |
250 | ' .memory-available is .memory-install-msg | |
251 | ||
252 | fload ${BP}/arch/sun4v/niagara/probeall.fth | |
253 | ||
254 | fload ${BP}/dev/scsi/probescsi.fth \ probe-scsi | |
255 | fload ${BP}/pkg/inet/watchnet.fth \ watch-net | |
256 | fload ${BP}/dev/ide/probe.fth \ probe-ide | |
257 | ||
258 | fload builtin.fth | |
259 | ||
260 | true value system-test-ok? | |
261 | alias post-ok? true | |
262 | alias system-tests noop | |
263 | ||
264 | fload ${BP}/arch/sun4u/startup.fth \ S misc. startup stuff | |
265 | ||
266 | fload ${BP}/arch/sun4v/auto-boot-on-error.fth | |
267 | fload ${BP}/arch/sun4v/niagara/bootscript.fth | |
268 | ||
269 | headers | |
270 | ||
271 | fload ${BP}/arch/sun4v/console-tty.fth | |
272 | fload ${BP}/arch/sun4v/md-iodevice-props.fth | |
273 | ||
274 | headerless | |
275 | fload ${BP}/arch/sun4v/niagara/cleanup.fth |