Dear Terry,
 
(*((*sipp)->func))((*sipp)->udata);
 
 I saw the corresponding code based on your hints. I have some questions. 
 When the kernel process this code to check the SI_SUB_DRIVERS, it would find
the registed 'fxp' device(fxp_probe), right?
  If the 'fxp' device is exist, the kernel will try to attach it(fxp_attach), right?
   Another, If we do not compile the 'vr' device into the kernel and we do load the corresponding 'ko',
so the kernel will not check the device, that is to say, the 'vr' device does not registe to kernel, right?
  But, I have some problem :
1. When the kernel process the specified device, the 'func' means what?
   For example: the member 'if_ioctl' of the structure 'ifnet', when the kernel process the 'fxp' device, I
know it should call the function 'fxp_ioctl'. But I do not the 'func' means what when it check SI_SUB_DRIVERS.
2. In NetBSD, I can find main() function in init_main.c, but in FreeBSD, I could not find it, I am puzzled about
the place of the FreeBSD main process.
  Thank you so much!
Best Regards
  Ouyang Kai
 


Get more from the Web. FREE MSN Explorer download : http://explorer.msn.com

Reply via email to