Roman Kononov 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. >
Anyway, in your experience. Is this approach takes quite a lot "time slice" in the kernel space? Regards, Darmawan -- linuxbios mailing list linuxbios@linuxbios.org http://www.linuxbios.org/mailman/listinfo/linuxbios