<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML dir=ltr xmlns:o = "urn:schemas-microsoft-com:office:office"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.3243" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Thanks a lot for clearing up the 
doubt.</FONT></DIV>
<DIV><FONT face=Arial size=2>I looked at co-installer's code.</FONT></DIV>
<DIV><FONT face=Arial size=2>It's the same way you told.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>One more question</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Which component calls the 
<STRONG>IbCoInstaller </STRONG>function of 
<STRONG>IbInstaller.dll</STRONG>?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Regards</FONT></DIV>
<DIV><FONT face=Arial size=2>Deepak</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<BLOCKQUOTE 
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
  <A title=jbottorff@xsigo.com href="mailto:jbottorff@xsigo.com">Jan 
  Bottorff</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A title=deepak@gslab.com 
  href="mailto:deepak@gslab.com">Deepak Gupta</A> ; <A 
  title=ofw@lists.openfabrics.org 
  href="mailto:ofw@lists.openfabrics.org">ofw@lists.openfabrics.org</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Monday, January 07, 2008 2:21 
  PM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> RE: [ofw] Doubts regarding 
  loading of driver components</DIV>
  <DIV><BR></DIV>
  <DIV id=idOWAReplyText22204 dir=ltr>
  <DIV id=idOWAReplyText54400 dir=ltr>
  <DIV dir=ltr><FONT face=Arial size=2>>When are 
  <STRONG>ibbus.sys</STRONG> and <STRONG>ibiou.sys</STRONG> comes into the 
  picture.</FONT></DIV>
  <DIV dir=ltr><FONT face=Arial size=2></FONT> </DIV>
  <DIV dir=ltr><FONT face=Arial size=2>
  <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">The driver iibus.sys is a root 
  enumerated driver. This means the OS just creates a device pdo on the root bus 
  at system boot time. The driver then is called at DriverEntry based on the 
  "start" entry in the service registry key. It's currently set to be loaded as 
  needed by the PnP manager, although to boot over the fabric it needs to 
  become a boot start driver. The AddDevice routine is called by the PnP managed 
  when it matches up the instance id reported by the root bus enumerated 
  pdo with the installed driver instance. This happens 
  early.</SPAN><o:p></o:p></P>
  <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT 
  face="Times New Roman"> <o:p></o:p></FONT></FONT></P>
  <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">There isn't a PnP parent child 
  relationship between the ibbus and mthca drivers. It's actually a very strange 
  relationship, which there has been some discussion of changing. The mthca and 
  ibbus find out about each other via the PnP interface notifications, and then 
  the mthca driver uses the ibbus driver to implement some of the common 
  functionality (via a function call interface). The OS thinks (as 
  displayed by devicetree) the mthca driver is a bus driver, because it 
  responds to query relationship PnP irps, although the actual work is done by 
  ibbus.</SPAN><o:p></o:p></P>
  <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT 
  face="Times New Roman"> <o:p></o:p></FONT></FONT></P>
  <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">The registry entry that 
  causes the root bus enumerator to create the pdo for ibbus is created by the 
  mthca device coinstaller using driver setup apis. The mthca driver is found on 
  the PCI bus by the PCI bus enumerator.</SPAN><o:p></o:p></P>
  <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT 
  face="Times New Roman"> <o:p></o:p></FONT></FONT></P>
  <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Jan</SPAN><o:p></o:p></P></FONT><FONT 
  face=Arial size=2></FONT></DIV></DIV></DIV><BR>-- <BR>This message has been 
  scanned for viruses and <BR>dangerous content by <A 
  href="http://www.mailscanner.info/"><B>MailScanner</B></A>, and is 
  <BR>believed to be clean. </BLOCKQUOTE></BODY></HTML>