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-a3e026f... Google HTML: http://209.85.135.104/search?q=cache:wRLrFGamtKYJ:download.microsoft.com/dow...
http://download.microsoft.com/download/1/8/f/18f8cee2-0b64-41f2-893d-a6f2295... Google HTML: http://209.85.135.104/search?q=cache:H-hy11oPjsIJ:download.microsoft.com/dow...
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=d...
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