\ ========== Copyright Header Begin ==========================================
\ Hypervisor Software File: startup.fth
\ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
\ - Do no alter or remove copyright notices
\ - Redistribution and use of this software in source and binary forms, with
\ or without modification, are permitted provided that the following
\ - Redistribution of source code must retain the above copyright notice,
\ this list of conditions and the following disclaimer.
\ - Redistribution in binary form must reproduce the above copyright notice,
\ this list of conditions and the following disclaimer in the
\ documentation and/or other materials provided with the distribution.
\ Neither the name of Sun Microsystems, Inc. or the names of contributors
\ may be used to endorse or promote products derived from this software
\ without specific prior written permission.
\ This software is provided "AS IS," without a warranty of any kind.
\ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
\ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
\ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
\ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
\ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
\ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN
\ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR
\ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
\ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
\ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
\ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
\ You acknowledge that this software is not designed, licensed or
\ intended for use in the design, construction, operation or maintenance of
\ ========== Copyright Header End ============================================
id: @(#)startup.fth 1.25 06/02/16
copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved
copyright: Use is subject to license terms.
\ The latter part of the initialization sequence.
overload: probe-all ( -- )
" fb" 2dup get-property 0= if
" scrub-memory" memory-node @ ['] $call-method catch drop
\ If the selftest code was interrupted,
\ the interrupt registers could
\ (i.e. pil=9, interrupt-enable=21).
%o6@ c-stack <> if init-c-stack then
variable banner-done? banner-done? off
\ Service brk char only if diag-switch?=true or OBP banner is up
diagnostic-mode? banner-done? @ or if
' (startup-abort) is user-abort
stand-init: Executing NVRAMRC
probe-all install-console
output-device fallback-device $= 0= if
\ show tty msgs only if console <> ttya
\ Be carefull, this chain is supposed to return a flag!
\ by the time your first token runs someone else has already left the
\ current state on the stack for you to consider.
chain: don't-boot? ( flag -- flag' )
idprom-valid? system-test-ok? and
defer pre-boot-hook ' noop is pre-boot-hook
only forth also definitions
\ Perform OBDiag tests if this is a power-on
[ifdef] DakASR? \ Daktari-style ASR/Diag-status handling
restore-obd-fail-status \ Populate device tree with diag status
restore-asr-disable-status \ Populate device tree with ASR status
false to init-incomplete? \ OK to [try to] boot
." # " obp-release ". space sub-release ". space .compile-date cr
['] false to idprom-valid? ['] 2drop to do-drop-in