On 7/30/07, Roman Kononov <[EMAIL PROTECTED]> wrote: > > 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. > > Roman >
Nice idea ;-). I'll try tocombine that with Windows HAL function for the PCI direct IO because doing it through CF8/CFC is very risky. I'll let the OS do it ;-). -- Regards, Darmawan Salihun -------------------------------------------------------------------- -= Human knowledge belongs to the world =-
-- linuxbios mailing list [email protected] http://www.linuxbios.org/mailman/listinfo/linuxbios
