diff options
author | Yang Zhang <yang.z.zhang@intel.com> | 2015-08-28 09:58:54 +0800 |
---|---|---|
committer | Yang Zhang <yang.z.zhang@intel.com> | 2015-09-01 12:44:00 +0800 |
commit | e44e3482bdb4d0ebde2d8b41830ac2cdb07948fb (patch) | |
tree | 66b09f592c55df2878107a468a91d21506104d3f /qemu/roms/openbios/arch/unix/tree.fs | |
parent | 9ca8dbcc65cfc63d6f5ef3312a33184e1d726e00 (diff) |
Add qemu 2.4.0
Change-Id: Ic99cbad4b61f8b127b7dc74d04576c0bcbaaf4f5
Signed-off-by: Yang Zhang <yang.z.zhang@intel.com>
Diffstat (limited to 'qemu/roms/openbios/arch/unix/tree.fs')
-rw-r--r-- | qemu/roms/openbios/arch/unix/tree.fs | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/qemu/roms/openbios/arch/unix/tree.fs b/qemu/roms/openbios/arch/unix/tree.fs new file mode 100644 index 000000000..a7529b006 --- /dev/null +++ b/qemu/roms/openbios/arch/unix/tree.fs @@ -0,0 +1,116 @@ +:noname + ." Type 'help' for detailed information" cr + ; DIAG-initializer + +" /" find-device + +new-device + " memory" device-name + \ 12230 encode-int " reg" property + external + : open true ; + : close ; + \ claim ( phys size align -- base ) + \ release ( phys size -- ) +finish-device + +new-device + " cpus" device-name + 1 " #address-cells" int-property + 0 " #size-cells" int-property + + external + : open true ; + : close ; + : decode-unit parse-hex ; + +finish-device + +: 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 +; + +:noname + set-defaults +; SYSTEM-initializer + + +\ preopen device nodes (and store the ihandles under /chosen) +:noname + " memory" " /memory" preopen + " mmu" " /cpus/@0" preopen + " stdout" " /builtin/console" preopen + " stdin" " /builtin/console" preopen + device-end +; SYSTEM-initializer + +\ use the tty interface if available +:noname + " /builtin/console" find-dev if drop + " /builtin/console" " input-device" $setenv + " /builtin/console" " output-device" $setenv + then +; SYSTEM-initializer + +:noname + " keyboard" input +; CONSOLE-IN-initializer + +dev / + +\ node suitable for non-PCI devices +new-device + " unix" device-name + 0 encode-int " #address-cells" property + 0 encode-int " #size-cells" property + + external + : open true ; + : close ; + +\ block device node +new-device + " block" device-name + " unix-block" device-type + 1 " #address-cells" int-property + 0 " #size-cells" int-property + + external + : open true ; + : close ; + : decode-unit parse-hex ; + +\ testnode +\ new-device +\ " kappa" device-name +\ +\ 1 encode-int " reg" property +\ external +\ : open true ; +\ : close ; +\ finish-device + +finish-device +finish-device + +dev /aliases +" /unix/block/disk" encode-string " hd" property + +device-end |