> /devices/[EMAIL PROTECTED],0/pci8086,[EMAIL PROTECTED]/pci1179,[EMAIL 
> PROTECTED],3/[EMAIL PROTECTED]/[EMAIL PROTECTED],0:u,raw
> 
> Now, what I'm finding is that if I try to open one of these nodes right 
> after attach, open(2) returns ENOENT.

I would suggest dtrace. Something like:

   syscall::open:entry /execname == "your-program-that-opens-node"/
   { self->picked = 1; }

   syscall::ioctl:return /self->picked/
   { self->picked = 0; }

   fbt::: /self->picked/ { ... print args and return values ... }

The callstack for attach-on-open should look something like:

open
   vn_openat
     lookupnameat
       VOP_LOOKUP/devfs_lookup
         dv_find
           ndi_devi_config_one
             your nexus's bus_config
             devi_config_one
               devi_attach_node
                 i_ddi_attachchild
                   i_ndi_config_node
                     state machine goes from DS_PROTO to DS_READY,
                     triggering attach(9e) along the way

The trace will show you where it bails out.

-Artem
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to