[LinuxBIOS] Winflashrom -- Current Status

Darmawan Salihun darmawan.salihun at gmail.com
Wed Aug 15 12:41:14 CEST 2007


Peter Stuge wrote:
> 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?
First off, I need to make at least a "safe" working code this weekend,
for GSoC compliance ;-). I have a "working" code at the moment with
direct I/O but without much of a "protection mechanism" in the kernel.
It's an obvious danger, so I would like to add the DPC mechanism for the
time being. Of course, venturing through the bus filter driver has been
planned for sometime now. So, don't worry ;-).

> 
>> 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
OK. I'll read that. I might have come across that ;-).

> 
>>> 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)
OK. This one is on the list.
I've been talking with Doron for a while in the OSR's mailing list for a
while ;-).

> 
> 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.
Have tested it for about a month now and seems to be just fine building
Win XP device driver ;-).

> 
> There's documentation to go with the DDK too:
> 
> http://www.microsoft.com/whdc/DevTools/WDK/WDKdocs.mspx
Have got it too.

> 
> 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
Thx for the links.

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

Yeah, of course. Thanks for that. I've got two books in Windows driver
development
as well (Walter Oney's book and the other one about Win2K WDM driver
development)

Regards,
--Darmawan




More information about the coreboot mailing list