On Wed, Aug 15, 2007 at 03:37:28PM +0700, Darmawan Salihun wrote: > > What is required to get into the southbridge driver stack? > > I'm not too sure. I think a "PCI bus filter driver", but that > would be an overkill at the moment.
Why? > The other problem is it's not well documented (maybe not documented > at all :-/). I hardly found information about such a thing. Even, > experts in Windows driver development says so. I found some: MSDN > Win32 and COM Development > Windows Driver Kit > Kernel-Mode Driver Architecture > Design Guide (check out Reference too) http://msdn2.microsoft.com/en-us/library/ms796245.aspx > > really not feasible? It would definately be the cleanest way. > > Yes, this is the cleanest way. However, we have to "attach" our > driver entry point functions, including "AddDevice" function upon > the first time the southbridge driver is installed. Well we don't have to be the _only_ driver. I don't expect that to work well. > More like we make a driver for Intel, NVidia, AMD or Via chipset > driver. I think separate drivers is OK but only one is of course ideal. > The PnP manager will try to find the driver for the corresponding > device the first time it's found after Windows installation and it > seems once it has the driver we wouldn't be able to add our own > "hook" into the driver stack. Unless we make the thing called "PCI > bus filter driver" or other "Bus filter driver" as needed. Right, this is what I thought seemed right. > But, the problem goes back to the beginning, it's not even > documented. There is talk about it. Google has a few bits of info too, as usual. One link is Doron Holan's blog: (Technical lead for WDF) http://blogs.msdn.com/doronh/archive/2006/09/18/761325.aspx (here talk about class filter drivers) And there is an example, look for "toaster", in the WDK/DDK. It was introduced in this old newsletter it seems: http://www.microsoft.com/whdc/resources/news/newsletters/MHN_090803.htm The WDK doesn't seem to be readily available without registration and possibly payment but there is a DDK for 2k<=SP4 XP<=SP1 and 2003<=SP1 immediately downloadable from: http://www.microsoft.com/whdc/DevTools/ddk/default.mspx ..which probably works just fine also for later versions. There's documentation to go with the DDK too: http://www.microsoft.com/whdc/DevTools/WDK/WDKdocs.mspx There are also some interesting docs on the toaster: http://www.microsoft.com/whdc/driver/foundation/toastersamp.mspx http://download.microsoft.com/download/3/5/a/35a609bf-872a-4eb8-a0d6-a3e026f8485a/ToasterSamp.doc Google HTML: http://209.85.135.104/search?q=cache:wRLrFGamtKYJ:download.microsoft.com/download/3/5/a/35a609bf-872a-4eb8-a0d6-a3e026f8485a/ToasterSamp.doc+msdn+filter+driver+sample&hl=en&ct=clnk&cd=13 http://download.microsoft.com/download/1/8/f/18f8cee2-0b64-41f2-893d-a6f2295b40c8/DW04006_WINHEC2004.ppt Google HTML: http://209.85.135.104/search?q=cache:H-hy11oPjsIJ:download.microsoft.com/download/1/8/f/18f8cee2-0b64-41f2-893d-a6f2295b40c8/DW04006_WINHEC2004.ppt+msdn+filter+driver+sample&hl=en&ct=clnk&cd=14 The latter one is slides about driver distribution and installation. They have tools for that too: http://www.microsoft.com/whdc/driver/install/difxtools.mspx http://www.microsoft.com/whdc/driver/install/DIFxtls.mspx http://search.microsoft.com/results.aspx?mkt=en-US&setlang=en-US&q=difxtools Another good resource is: http://www.codeproject.com/system/driverdev4asp.asp here part 4 in a driver writing tutorial series that goes into healthy depth about technicalities, and provides code. Have a look. //Peter -- linuxbios mailing list linuxbios@linuxbios.org http://www.linuxbios.org/mailman/listinfo/linuxbios