diff --git a/arch/sparc32/romvec.c b/arch/sparc32/romvec.c index 3d307f1..10120d0 100644 --- a/arch/sparc32/romvec.c +++ b/arch/sparc32/romvec.c @@ -389,7 +389,7 @@ static int obp_inst2pkg(int dev_desc) int ret; PUSH(dev_desc); - fword("ihandle>phandle"); + fword("ihandle>non-interposed-phandle"); ret = POP(); DPRINTF("obp_inst2pkg(fd 0x%x) = 0x%x\n", dev_desc, ret); diff --git a/forth/device/package.fs b/forth/device/package.fs index 63a7586..e6f8865 100644 --- a/forth/device/package.fs +++ b/forth/device/package.fs @@ -25,10 +25,18 @@ ?my-self >in.my-parent @ ; +: ihandle>non-interposed-phandle ( ihandle -- phandle ) + begin dup >in.interposed @ while + >in.my-parent @ + repeat + >in.device-node @ +; + : ihandle>phandle ( ihandle -- phandle ) >in.device-node @ ; + \ next-property \ defined in property.c