Privileged instructions with Fusion
gilles.chanteperdrix at laposte.net
Mon Oct 18 11:57:42 CEST 2004
Hans-J~rgen Ude wrote:
> I've just started to try RTAI/Fusion. I've got it installed and running. The
> testsuite samples work too. Then I've just put an outb() function into one
> thread to watch the timing with an oscilloscope on LPT. As expected this
In fact, you could have expected it to work, since the function
xnshadow_map functions adds the "RAWIO" capability to fusion
threads. This is probably not enough, though.
> doesn't work. Inline assebmly doesn't work either. It prompts "Killed" and
> terminates. So my question is how can I get this to work without using
> ioperm() or iopl(). Later on I'll need some direct memory access too.
> Otherwise i'd have to write a complete PCI driver for proprietary hardware,
> but i've never done that before.
What Fusion does is (or will be) equivalent to a call to iopl anyway. If
it is not what you want, the only other way is to insulate your hardware
accesses in a kernel module, and make it communicate with your
user-space application through RTAI pipes, documented here :
More information about the Rtai