On 2009/11/17 at 08:12, Tarl Neustaedter Tarl.Neustaedter@Sun.COM wrote:
Yup. The seek failed indicates it wasn't able to read something it needed to read. So the next step is to do the above, only instead of calling mount-root, figure out what mount-root has in it, and execute those one-by-one at the ok prompt. Or use the debugger to single step through it.
Here's that output:
0 > mount-root : mount-root ( Empty ) 00000000ffe35d28: boot-dev$ ( ffe357a8 6 ) 00000000ffe35d30: fs-pkg$ ( ffe357a8 6 ffe317c0 10 ) 00000000ffe35d38: $open-package seek failed ( 0 ) 00000000ffe35d40: (lit) ( 0 ffe35728 ) 00000000ffe35d50: (to) ( Empty ) 00000000ffe35d58: fs-ih ( 0 ) 00000000ffe35d60: 0= ( ffffffffffffffff ) 00000000ffe35d68: do?branch ( Empty ) 00000000ffe35d78: (") ( ffe35d88 10 ) 00000000ffe35d98: die Can't mount root Aborted. 0 >
So, I added debug for "$open-package" which led to "open-package", which I also debugged - here's the output from mount-root after turning on all that debugging:
0 > mount-root : mount-root ( Empty ) 00000000ffe35d28: boot-dev$ ( ffe357a8 6 ) 00000000ffe35d30: fs-pkg$ ( ffe357a8 6 ffe317c0 10 ) 00000000ffe35d38: $open-package : $open-package ( ffe357a8 6 ffe317c0 10 ) 00000000ffe13690: find-package ( ffe357a8 6 ffe32558 ffffffffffffffff ) 00000000ffe13698: do?branch ( ffe357a8 6 ffe32558 ) 00000000ffe136a8: open-package : open-package ( ffe357a8 6 ffe32558 ) 00000000ffe13548: create-instance ( ffe357a8 6 ffe4ad30 ) 00000000ffe13550: dup ( ffe357a8 6 ffe4ad30 ffe4ad30 ) 00000000ffe13558: 0= ( ffe357a8 6 ffe4ad30 0 ) 00000000ffe13560: do?branch ( ffe357a8 6 ffe4ad30 ) 00000000ffe13588: >r ( ffe357a8 6 ) 00000000ffe13590: strdup ( ffe493a0 6 ) 00000000ffe13598: r@ ( ffe493a0 6 ffe4ad30 ) 00000000ffe135a0: >in.arguments ( ffe493a0 6 ffe4ad78 ) 00000000ffe135a8: 2! ( Empty ) 00000000ffe135b0: (lit) ( ffe135e0 ) 00000000ffe135c0: (lit) ( ffe135e0 4 ) 00000000ffe135d0: dobranch ( ffe135e0 4 ) 00000000ffe135e8: r@ ( ffe135e0 4 ffe4ad30 ) 00000000ffe135f0: (lit) ( ffe135e0 4 ffe4ad30 ffe13310 ) 00000000ffe13600: catch : open-package ( 1 ffe2fe38 ffe4b1d8 ffe4b548 0 0 ffe2b238 ) 00000000ffe13548: create-instance ( 1 ffe2fe38 ffe4b1d8 ffe4b548 0 0 ffe4b558 ) 00000000ffe13550: dup ( 1 ffe2fe38 ffe4b1d8 ffe4b548 0 0 ffe4b558 ffe4b558 ) 00000000ffe13558: 0= ( 1 ffe2fe38 ffe4b1d8 ffe4b548 0 0 ffe4b558 0 ) 00000000ffe13560: do?branch ( 1 ffe2fe38 ffe4b1d8 ffe4b548 0 0 ffe4b558 ) 00000000ffe13588: >r ( 1 ffe2fe38 ffe4b1d8 ffe4b548 0 0 ) 00000000ffe13590: strdup ( 1 ffe2fe38 ffe4b1d8 ffe4b548 0 0 ) 00000000ffe13598: r@ ( 1 ffe2fe38 ffe4b1d8 ffe4b548 0 0 ffe4b558 ) 00000000ffe135a0: >in.arguments ( 1 ffe2fe38 ffe4b1d8 ffe4b548 0 0 ffe4b5a0 ) 00000000ffe135a8: 2! ( 1 ffe2fe38 ffe4b1d8 ffe4b548 ) 00000000ffe135b0: (lit) ( 1 ffe2fe38 ffe4b1d8 ffe4b548 ffe135e0 ) 00000000ffe135c0: (lit) ( 1 ffe2fe38 ffe4b1d8 ffe4b548 ffe135e0 4 ) 00000000ffe135d0: dobranch ( 1 ffe2fe38 ffe4b1d8 ffe4b548 ffe135e0 4 ) 00000000ffe135e8: r@ ( 1 ffe2fe38 ffe4b1d8 ffe4b548 ffe135e0 4 ffe4b558 ) 00000000ffe135f0: (lit) ( 1 ffe2fe38 ffe4b1d8 ffe4b548 ffe135e0 4 ffe4b558 ffe13310 ) 00000000ffe13600: catch ( 1 ffe2fe38 ffe4b1d8 ffe4b548 ffffffffffffffff 0 ) 00000000ffe13608: do?branch ( 1 ffe2fe38 ffe4b1d8 ffe4b548 ffffffffffffffff ) 00000000ffe13628: do?branch ( 1 ffe2fe38 ffe4b1d8 ffe4b548 ) 00000000ffe13638: r> ( 1 ffe2fe38 ffe4b1d8 ffe4b548 ffe4b558 ) 00000000ffe13640: dobranch ( 1 ffe2fe38 ffe4b1d8 ffe4b548 ffe4b558 ) 00000000ffe13668: (semis) [ Finished open-package ] seek failed ( 8006000 800 4 ffffffffffffffff ) 00000000ffe13608: do?branch ( 8006000 800 4 ) 00000000ffe13618: 3drop ( Empty ) 00000000ffe13620: false ( 0 ) 00000000ffe13628: do?branch ( Empty ) 00000000ffe13650: r> ( ffe4ad30 ) 00000000ffe13658: destroy-instance ( Empty ) 00000000ffe13660: false ( 0 ) 00000000ffe13668: (semis) [ Finished open-package ] ( 0 ) 00000000ffe136b0: dobranch ( 0 ) 00000000ffe136d0: (semis) [ Finished $open-package ] ( 0 ) 00000000ffe35d40: (lit) ( 0 ffe35728 ) 00000000ffe35d50: (to) ( Empty ) 00000000ffe35d58: fs-ih ( 0 ) 00000000ffe35d60: 0= ( ffffffffffffffff ) 00000000ffe35d68: do?branch ( Empty ) 00000000ffe35d78: (") ( ffe35d88 10 ) 00000000ffe35d98: die Can't mount root Aborted.
Based on that output, it's hard for me to tell what about "open-package'" failed
Somewhere in there either you are coming up with some bad disk addresses, or the HBA driver is failing a read. The alternative would be to debug the HBA driver and see what disk reads you are being asked to do, and try to trace backwards.
I'm already headed down this path, so I'll stick there, now, unless you have some hints for going about debugging the HBA driver, which I would assume I would do from the Qemu source code side...
-Nick
-------- This e-mail may contain confidential and privileged material for the sole use of the intended recipient. If this email is not intended for you, or you are not responsible for the delivery of this message to the intended recipient, please note that this message may contain SEAKR Engineering (SEAKR) Privileged/Proprietary Information. In such a case, you are strictly prohibited from downloading, photocopying, distributing or otherwise using this message, its contents or attachments in any way. If you have received this message in error, please notify us immediately by replying to this e-mail and delete the message from your mailbox. Information contained in this message that does not relate to the business of SEAKR is neither endorsed by nor attributable to SEAKR.