[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.


> 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
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)
(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:

Google HTML:

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 mailing list