All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai-core] User-space DMA transfer and I/O access from Xenomai API
@ 2006-06-20  9:21 Merilainen, Jussi (GE Healthcare)
  2006-06-20 11:11 ` Jan Kiszka
  0 siblings, 1 reply; 4+ messages in thread
From: Merilainen, Jussi (GE Healthcare) @ 2006-06-20  9:21 UTC (permalink / raw)
  To: xenomai

 

I'm porting a PCI driver for a custom board from VxWorks to Xenomai/Linux. My goal is to keep the driver as much as possible in user-space. Implementing the HW interrupt handler should be quite straight forward as presented in 'Writing user-space device drivers' in Native-API-Tour manual.
My concern is the PCI DMA transfer. Does the Xenomai API provide any support for this in user-space? Does anyone have experience on this subject?
Another thing is the Device I/O handling from user-space. Simple question: how do I perform read/write operations? In VxWorks, I have for example following function for reading an I/O register of the board:
 
#include <vxworks.h>
#include <sysLib.h>
#include <intLib.h>
#include <taskLib.h>

Uint8 CIo::readIoMaskUint8(Uint32 addr, Uint8 mask)
{
    Uint8 data = 0;
    int intKey;
    
    // Lock interrupts
    intKey = intLock();
    
    // Read data
    data = sysInByte((int)addr);
    data = (data & mask);
    
    // Unlock interrupt
    intUnlock(intKey);
    
    return data;
}
 
Thanks in advance for any support,

Jussi Meriläinen



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2006-06-20 11:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-20  9:21 [Xenomai-core] User-space DMA transfer and I/O access from Xenomai API Merilainen, Jussi (GE Healthcare)
2006-06-20 11:11 ` Jan Kiszka
2006-06-20 11:30   ` Gilles Chanteperdrix
2006-06-20 11:43     ` Jan Kiszka

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.