mirror of
https://gitlab.com/qemu-project/openbios.git
synced 2024-02-13 08:34:06 +08:00
git-svn-id: svn://coreboot.org/openbios/openbios-devel@452 f158a5a8-5612-0410-a976-696ce0be7e32
59 lines
1.3 KiB
Forth
59 lines
1.3 KiB
Forth
\ qemu specific initialization code
|
|
\
|
|
\ Copyright (C) 2005 Stefan Reinauer
|
|
\
|
|
\ This program is free software; you can redistribute it and/or
|
|
\ modify it under the terms of the GNU General Public License
|
|
\ as published by the Free Software Foundation
|
|
\
|
|
|
|
|
|
\ -------------------------------------------------------------------------
|
|
\ initialization
|
|
\ -------------------------------------------------------------------------
|
|
|
|
: make-openable ( path )
|
|
find-dev if
|
|
begin ?dup while
|
|
\ install trivial open and close methods
|
|
dup active-package! is-open
|
|
parent
|
|
repeat
|
|
then
|
|
;
|
|
|
|
: preopen ( chosen-str node-path )
|
|
2dup make-openable
|
|
|
|
" /chosen" find-device
|
|
open-dev ?dup if
|
|
encode-int 2swap property
|
|
else
|
|
2drop
|
|
then
|
|
;
|
|
|
|
\ preopen device nodes (and store the ihandles under /chosen)
|
|
:noname
|
|
" rtc" " rtc" preopen
|
|
" memory" " /memory" preopen
|
|
; SYSTEM-initializer
|
|
|
|
|
|
\ use the tty interface if available
|
|
: activate-tty-interface
|
|
" /packages/terminal-emulator" find-dev if drop
|
|
then
|
|
;
|
|
|
|
\ -------------------------------------------------------------------------
|
|
\ pre-booting
|
|
\ -------------------------------------------------------------------------
|
|
|
|
: update-chosen
|
|
" /chosen" find-device
|
|
stdin @ encode-int " stdin" property
|
|
stdout @ encode-int " stdout" property
|
|
device-end
|
|
;
|