Markus Osterried (BA/EDD) wrote:
> I want to use rtdm_iomap_to_user() to map our device registers to user
> But this doesn't work, our application just crashes when I read from
> the mapped registers.
> When I insert the line
> vma->vm_page_prot = phys_mem_access_prot(filp,
> paddr>>PAGE_SHIFT, size, vma->vm_page_prot);
> in rtdm_mmap_buffer() just before calling xnarch_remap_io_page_range()
> it works fine.
> This is just like it is done in /drivers/char/mem.c and in
> But I think this is architecture and kernel version dependent and I
> don't know whether rtdm_mmap_buffer() is the right place.
> I use Xenomai 2.3.1 and Linux 2.6.18 with PowerPC CPU.
> What is the best solution? Everyone else seen this problem?
I had the same problem, but I solved this by using 2 drivers, one linux
driver that implemented mmap, and an RTDM driver for the realtime
functions. On startup I do the mmap, and then enter RT-mode and can use
this mapped area in my RT-application. But it would be better if the
mmap function would also be supported by Xenomai.
Xenomai-core mailing list