--- qemu/roms/SLOF/board-qemu/slof/vio-vscsi-device.fs 2018/04/24 18:59:08 1.1.1.1 +++ qemu/roms/SLOF/board-qemu/slof/vio-vscsi-device.fs 2018/04/24 19:44:51 1.1.1.3 @@ -28,7 +28,7 @@ VALUE is_cdrom 2dup find-alias 0= IF get-node node>path set-alias -ELSE 2drop THEN +ELSE 3drop THEN s" block" device-type @@ -50,12 +50,17 @@ INSTANCE VARIABLE deblocker : open ( -- true | false ) my-unit " set-address" $call-parent is_cdrom IF " dev-prep-cdrom" ELSE " dev-prep-disk" THEN $call-parent - " dev-get-capacity" $call-parent to max-block-num to block-size " dev-max-transfer" $call-parent to max-transfer + " dev-get-capacity" $call-parent to max-block-num to block-size + max-block-num 0= block-size 0= OR IF + ." Failed to get disk capacity!" cr + FALSE EXIT + THEN + 0 0 " deblocker" $open-package dup deblocker ! dup IF " disk-label" find-package IF - my-args rot interpose + my-args rot interpose THEN THEN 0<> ;