[OpenBIOS] Sparc64 OpenBIOS
Mark Cave-Ayland
mark.cave-ayland at siriusit.co.uk
Wed Nov 18 21:53:24 CET 2009
Tarl Neustaedter wrote:
> So we're doing the first cif-seek, which is the client-interface seek.
> See section 6.3.2.3 in IEEE 1275. That causes the disk to be read so you
> can cache disk accesses. The question is whether the arguments we are
> sending are reasonable. What we saw:
>
> 00000000ffe318e0: dev-ih ( 8008000 800 8000 ffe4d358 )
> 00000000ffe318e8: read-disk
>
> Those arguments we see on the stack are adr, len, off, ihandle. ffe4d358
> is a reasonable address for an ihandle. 0x8000 is a reasonable byte
> offset into the disk to read - and that's all that seek takes (the adr,
> len get used later by the cif-read, which we don't reach). So somehow,
> trying to byte offset 0x8000 on the disk is failing - don't know why.
Here's what I get on my Milax CD image here:
: read-disk ( 8002000 800 8000 ffe4adc8 )
00000000ffe31340: dup ( 8002000 800 8000 ffe4adc8 ffe4adc8 )
00000000ffe31348: >r ( 8002000 800 8000 ffe4adc8 )
00000000ffe31350: 0 ( 8002000 800 8000 ffe4adc8 0 )
00000000ffe31358: swap ( 8002000 800 8000 0 ffe4adc8 )
00000000ffe31360: cif-seek
: seek ( 8002000 800 8000 0 ffe4adc8 )
00000000ffe280d0: swap ( 8002000 800 8000 ffe4adc8 0 )
00000000ffe280d8: rot ( 8002000 800 ffe4adc8 0 8000 )
00000000ffe280e0: dup ( 8002000 800 ffe4adc8 0 8000 8000 )
00000000ffe280e8: ihandle>phandle ( 8002000 800 ffe4adc8 0 8000 0 )
00000000ffe280f0: (") ( 8002000 800 ffe4adc8 0 8000 0 ffe28100 4 )
00000000ffe28108: rot ( 8002000 800 ffe4adc8 0 8000 ffe28100 4 0 )
00000000ffe28110: find-method ( 8002000 800 ffe4adc8 0 8000 0 )
00000000ffe28118: do?branch ( 8002000 800 ffe4adc8 0 8000 )
00000000ffe28148: 3drop ( 8002000 800 )
00000000ffe28150: -1 ( 8002000 800 ffffffffffffffff )
00000000ffe28158: (semis)
[ Finished seek ] ( 8002000 800 ffffffffffffffff )
00000000ffe31368: do?branch ( 8002000 800 )
00000000ffe31378: (") ( 8002000 800 ffe31388 b )
00000000ffe31398: die
seek failed
Can't mount root
Aborted.
Hmmm it looks to me as if the client interface seek word is expecting
the arguments in a different order - I would expect ihandle>phandle to
be executed on ffe4adc8, not on 0.
HTH,
Mark.
--
Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
http://www.siriusit.co.uk
t: +44 870 608 0063
Sirius Labs: http://www.siriusit.co.uk/labs
More information about the OpenBIOS
mailing list