Dear Collegues,
I need a help with a device driver.
Usually a driver which uses DMA calls physio() in order to
lock pages, flush caches and wait with biowait(). I found
that a signal to the process does not interrupt biowait().
Is it possible to interrupt a DMA transfer in Solaris? How?
A timeout handler can call biodone(), but I see no way to
get into a driver upon a signal(2) from an application.
Things are very simple with PIO: just wait on cv_wait_sig().
DMA hides cv_wait inside of biodone() and I want to overcome
this.
Thanks in advance,
Pete