[LinuxBIOS] Winflashrom -- Current Status

Roman Kononov kononov at dls.net
Mon Jul 30 16:30:28 CEST 2007

Darmawan Salihun wrote:
>  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.

A more "portable" way:

Make all CPUs spinning inside a DPC function:
KeQueryActiveProcessors() is used to get all processors.
KeSetTargetProcessorDpc() is used to tie the DPC function and particular 
SMP processors.
When all CPUs are spinning inside the function, one of them does IO 
(CF8/CFC) to the PCI configuration space.
After the IO completes, let all DPC functions finish.


More information about the coreboot mailing list