Gilles Chanteperdrix wrote:
> Asier Tamayo wrote:
>> Hello,
>>
>> Thanks for your help.
>>
>> I know my Xenomai version is quite out of date. However, as I'm using
>> the ELinOS distribution (which already has its own patches), I find
>> it really difficult to upgrade to Xenomai 2.4.10. Anyway, I can apply
>> changes to some files.
> 
> Sorry, I do not mean that you should upgrade to 2.4.10, I mean you
> should run a self-contained test case on an unpatched 2.4.10, in order
> to see whether you observe the same behaviour.
> 
>> The rtdm_iomap_to_user function is referenced in drvlib.c and
>> rtdm_driver.h: I compare the 2.4.7 and 2.4.10 versions and they are
>> almost identical, so I think there will be no use in patching the
>> kernel for these 2 files. Do you know of any other file that could
>> make any difference in my problem?
>>
>> If I compare versions 2.4.7 and 2.5.6 (the last one) of Xenomai, I
>> can see the last version uses "/dev/rtheap" instead of "/dev/zero"
>> and that there are some changes if CONFIG_MMU is not defined. My
>> system (Intel Atom N270 CPU) is configured with MMU and therefore the
>> only actual changes between the versions are regarding "dev/rtheap".
>> Does it make any difference? Xenomai 2.4.7 has "/dev/rtpheap" but no
>> "/dev/rtheap"; should I use it instead of "/dev/zero"?
> 
> The implementation is different, in order to know why, and which problem
>  it solves, you can look into git history. The advantage of using
> /dev/rtheap is that the implementation is shared with other skins.
> 
>>
>>>> virt_to_phys(new_iomap) --> 0xf5f6f000
>>> virt_to_phys is not supposed to work in that case. Since you
>>> ioremap'ed the address, you already know the physical address
>>> anyway.
>>>
>> Is there any function that will tell me the real physical address in
>> order to make sure the mapping is correct?
> 
> I would say vmalloc_to_page. But do not take my word for it, check the
> "linux device drivers" book.
> 
vmalloc_to_page would work for an address returned by vmalloc/ioremap,
not for one returned by the mapping functions.

To check what happens, you should trace drvlib.c to see what parameters
are finally passed to remap_page_range.

But there were several changes between 2.4 and 2.5, so, I would suggest
trying 2.5.6, just with the simple test case, no need to upgrade the
linux kernel.

-- 
                                                                Gilles.

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to