[LinuxBIOS] Winflashrom -- Current Status
Peter Stuge
peter at stuge.se
Wed Aug 15 12:25:51 CEST 2007
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
More information about the coreboot
mailing list