On 04/08/16 20:43, BALATON Zoltan wrote:
On Thu, 4 Aug 2016, Mark Cave-Ayland wrote:
On 04/08/16 15:27, Natalia Portillo wrote:
0 > boot cd:%BOOT >> Not a bootable ELF image
switching to new context:
4+:interpret: exception -13 caught
interpret : update-key-map " get-key-map" " kbd" open-dev
$call-method drop gKeyMap 4 0 do swap dup @ >r 4+ swap dup dup @ r> or swap ! 4+ loop ; update-key-map gKeyMap 1+ c@ not h# 40 and if 0 stdout ! then failed with error ffffffed
Rhapsody Kernel Loader <16:33:44 980413> interpret: exception ffffffdf caught
interpret to DIH value &CL DIH to my-self 1 encode-int "
AAPL,boot-display" property &CL 0 100 " set-colors" DIH $CM " width" GMP ?dup 0= if 280 then " height" GMP ?dup 0= if 1E0 then 2dup to Dheight to Dwidth " linebytes" GMP ?dup 0= if Dwidth then " depth" GMP ?dup 0= if 8 then over value rowbytes active-package DIH ihandle>phandle to active-package : rect-setup >r >r rowbytes * + frame-buffer-adr + r> -rot r> ; : DRAW-RECTANGLE rect-setup 0 ?do 2dup 4 pick move 2 pick rowbytes d+ loop 3drop ; : FILL-RECTANGLE rect-setup 0 ?do dup 3 pick 3 pick fill rowbytes + loop 3drop ; : READ-RECTANGLE rect-setup >r swap r> 0 ?do 2dup 4 pick move rowbytes 3 pick d+ loop 3drop ; to active-package failed with error 00000100 call-method fill-rectangle: exception ffffffdf
call-method fill-rectangle failed with error ffffffdf
interpret: exception ffffffdf ??? caught
interpret drawImage failed with error 00000108
interpret: exception ffffffde caught
interpret dev /packages/obp-tftp failed with error 00000003
load isn't unique. ?no dev call-method fill-rectangle: exception ffffffdf
call-method fill-rectangle failed with error ffffffdf
call-method draw-rectangle: exception ffffffdf
call-method draw-rectangle failed with error ffffffdf
EXIT 0 >
Hmmm it seems like this and the other Rhapsody/OS X server boots are blowing up because the keyboard alias being looked for is "kbd" rather than "keyboard" which is what OpenBIOS uses. Fixing this should be fairly easy - I'll spin up a patch shortly.
That does not seem to match real hardware where it seems to be "keyboard" as well: http://nandra.segv.jp/NetBSD/G4.dump-device-tree.txt So it may be something else.
I'd say there are definitely multiple failures here :)
diff --git a/arch/ppc/qemu/qemu.fs b/arch/ppc/qemu/qemu.fs index 3d99a34..cc3784b 100644 --- a/arch/ppc/qemu/qemu.fs +++ b/arch/ppc/qemu/qemu.fs @@ -74,7 +74,7 @@ variable keyboard-phandle 0 keyboard-phandle ! active-package " /aliases" find-device keyboard-phandle @ get-package-path - encode-string " keyboard" property + encode-string " kbd" property active-package! then ; SYSTEM-initializer
According to the device trees I have, it's definitely "kbd" for the g3beige. And look at this:
" kbd" open-dev $call-method
Here $call-method has to throw if the named node doesn't exist. Perhaps the change is only required for g3beige or maybe non-USB keyboards?
There's also the 4+ which doesn't seem to be recognised. As a quick test boot QEMU with -prom-env 'auto-boot?=false' and then type the following:
: 4+ 4 + ; boot
ATB,
Mark.