Christos Zoulas wrote:
This would be the IOMD_READ/IOMD_WRITE routines in delay()? Is it possible to use these before the device is attached? Many of the calls to delay happen before clockattach where the bus space tags become available.iomd_clock.patch: Use the IOMD timer to provide a more accurate delay() implementation. Previous implementation was becoming increasingly optimised away by newer GCC versions to the point that the keyboard driver no longer worked correctly. I'm not sure whether the SPL based locking is better than the disable interrupt approach or if I should be doing something else entirely here.If the bus space functions don't work properly, then they should be fixed as opposed to open-coding them.
Is there a way to ensure clockattach is called before the first kernel call to delay occurs? I modelled this delay routine on the sys\arch\x86\isa\clock.c which seems to use inb directly rather than bus space for much the same reason.
Mike