[LinuxBIOS] Winflashrom -- Current Status
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.
> 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)
> > 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
> More like we make a driver for Intel, NVidia, AMD or Via chipset
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
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)
(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:
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:
..which probably works just fine also for later versions.
There's documentation to go with the DDK too:
There are also some interesting docs on the toaster:
Google HTML: http://126.96.36.199/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
Google HTML: http://188.8.131.52/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:
Another good resource is:
here part 4 in a driver writing tutorial series that goes into
healthy depth about technicalities, and provides code.
Have a look.
More information about the coreboot