[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