[LinuxBIOS] Winflashrom -- Current Status

Roman Kononov kononov at dls.net
Tue Aug 14 19:14:22 CEST 2007


On 08/14/2007 07:56 AM, Peter Stuge wrote:
> Roman did make a good point about IRQL but that does not eliminate
> the problem, we will still be changing hardware state underneath the
> OS and that is ALWAYS a bad idea.

The CF8/CFC sequence can preserve CF8 port value. What other hardware state 
  would be changed?

> http://www.hollistech.com/Resources/Misc%20articles/getbusdata.htm
> http://www.freelists.org/archives/wdmaudiodev/03-2004/msg00010.html

BTW, here is the "official" example:
http://support.microsoft.com/kb/253232

Unfortunately, AFAIK, this approach does not work for cases like yours. It 
requires the "DeviceObject", which MUST be associated with a PARTICULAR PCI 
function.

Q: In the above links, among HtsReadWriteConfig() and WritePCIConfigSpace() 
argument lists, which arguments are bus number and device number?
A: They are inside PDEVICE_OBJECT, which structure is "opaque".

Regarding how long DPC method takes. A scheduled DPC is launched as soon as 
the CPU's IRQL drops below DISPATCH_LEVEL. The CPU can be at DISPATCH_LEVEL 
(and higher) only running kernel code. This can last many time slices. This 
means that the DPC method might be quite expensive.

Regards,

Roman




More information about the coreboot mailing list