[LinuxBIOS] Winflashrom -- Current Status

Darmawan Salihun darmawan.salihun at gmail.com
Mon Jul 30 15:16:48 CEST 2007

Stefan Reinauer wrote:
> * Stefan Reinauer <stepan at coresystems.de> [070725 11:12]:
>> Since the places where mmap happens are only a few I'd say it is not
>> really "needed". It's a good idea though as it is a safety measure
>> against application bugs.
> Just stumbled upon "WinIO" which seems to do something similar
> http://www.internals.com/utilities_main.htm

As I couldn't find any better replacement to the PCI direct I/O function
at the moment (which is needed in chipset_enable and board_enable), I
will try to implement them using a quite old kernel mode API, i.e.
HalGetBusData and HalSetBusData. I hope the kernel "emulates" these
functions so that it works like in NT4 and Windows 2000. These functions
may be non-portable to Windows Vista. However, this is more stable than
directly probing the bus with assembler routines. I'm still looking for
a better solution because Windows is very strict about accessing the
PCI/PCIe/Hypertransport bus, only driver for a corresponding PCI device
can "interrogate" the bus. I don't know yet if we can "fool" this
mechanism with a "fake PCI bus filter driver" which is right now __not
documented__ at best.
As for the other ports, it will be direct I/O in the driver because
there are no specific support in Windows for them.

More information about the coreboot mailing list