interesting.  so i'm guessing that you're running in an HVM domU.  if
that's correct, the sd "driver" is actually a thin wrapper that
redirects all accesses to the xdfs driver (the true PV disk driver).  i
wrote that wrapper and it's only been written to support sd cdrom
devices, it doesn't actually support sd disk devices.  (since by default
HVM domUs only have ide disk devices, which use cmdk, which is also a
shell wrapper driver in HVM environments.)  that said, i wrote the sd
wrapper so that if it detects a disk it should fall back to using the
emulated HVM access.  that auto-detection would happen in xdfs_probe().
apparently that logic doesn't quite work...

ed



On Sat, Mar 13, 2010 at 03:34:18PM -0700, Rick McNeal wrote:
> I've got a driver which runs on a domU that communicates with another OS on a 
> different domU. Right now I can get the driver attached and see 30+ SCSI 
> INQUIRY commands sent to the driver and receive responses. Unfortunately the 
> kernel then panic's in ddi_get_soft_state() which is called by 
> sd:xdfs_probe(). ddi_get_soft_state() will panic if either the state pointer 
> is NULL or the instance number is less than 0. From the stack information the 
> instance number is -1. xdfs_probe() calls ddi_get_instance() which is 
> returning the -1, so I looked at the dip value.
>
> > ffffff00ee825540::devinfo
> ffffff00ee825540 sd (driver not attached)
>         System properties at ffffff00ee826c80:
>             name='lun' type=int items=1
>                 value=00000000
>             name='target' type=int items=1
>                 value=00000000
>             name='class' type=string items=1
>                 value='scsi'
> >
>
> The sd driver isn't attached which seems to be a big problem.
>
> So, I figure that the problem is related to something that I'm doing or not 
> doing. Does anyone have a guess?
>
> In case someone is curious here's the stack trace at the time of the panic.
>
> assertion failed: (ss != NULL) && (item >= 0), file: 
> ../../common/os/sunddi.c, line: 6445
>
>
> ffffff00028d07f0 genunix:assfail+7e ()
> ffffff00028d0820 genunix:ddi_get_soft_state+5d ()
> ffffff00028d0870 sd:xdfs_probe+31 ()
> ffffff00028d08c0 genunix:devi_probe+42 ()
> ffffff00028d0900 genunix:probe_node+66 ()
> ffffff00028d0950 genunix:i_ndi_config_node+118 ()
> ffffff00028d0980 genunix:i_ddi_attachchild+6e ()
> ffffff00028d09c0 genunix:devi_attach_node+fe ()
> ffffff00028d0a20 genunix:config_immediate_children+f5 ()
> ffffff00028d0aa0 genunix:ndi_busop_bus_config+c7 ()
> ffffff00028d0b10 scsi:scsi_hba_bus_config_spi+142 ()
> ffffff00028d0b70 scsi:scsi_hba_bus_config+d5 ()
> ffffff00028d0bc0 genunix:devi_config_common+94 ()
> ffffff00028d0c40 genunix:mt_config_thread+5d ()
> ffffff00028d0c50 unix:thread_start+8 ()
>
>
> ----
> Rick McNeal
> [email protected]
>
> "It is not the critic who counts, not the man who points out how the strong 
> man stumbled, or where the doer of deeds could have done them better. The 
> credit belongs to the man who is actually in the arena; whose face is marred 
> by dust and seat and blood; who strives valiantly, who errs and comes short 
> again and again; who knows the great enthusiasms, the great devotions, and 
> spends himself in a worthy cause; who, at the best, knows in the end the 
> triumph of high achievement; and who, at the worst, if he fails, at least 
> fails while daring greatly, so that his place shall never be with those cold 
> and timid souls who know neither victory nor defeat." -- Theodore Roosevelt
>
>
>
> _______________________________________________
> driver-discuss mailing list
> [email protected]
> http://mail.opensolaris.org/mailman/listinfo/driver-discuss
_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to