>-----Original Message-----
>From: Jan Kiszka [mailto:jan.kis...@siemens.com] 
>Sent: Tuesday, November 10, 2009 1:13 PM
>To: Herrera-Bendezu, Luis
>Cc: xenomai-core@gna.org
>Subject: Re: rtdm_iomap_to_user with phys addr > 4GB
>
>
>Herrera-Bendezu, Luis wrote:
>>  
>> 
>>> -----Original Message-----
>>> From: Jan Kiszka [mailto:jan.kis...@siemens.com] 
>>> Sent: Tuesday, November 10, 2009 12:03 PM
>>> To: Herrera-Bendezu, Luis
>>> Cc: xenomai-core@gna.org
>>> Subject: Re: rtdm_iomap_to_user with phys addr > 4GB
>>>
>>>
>>> Herrera-Bendezu, Luis wrote:
>>>> Hello,
>>>>
>>>> I am writing an RTDM driver to replace one that uses UIO. 
>The device
>>>> resides in a physical address > 4 GB on a PPC440EPx. The UIO could
>>>> not handle this address so I made a proposal to address it, 
>>> details at:
>>>> 
>http://lists.ozlabs.org/pipermail/linuxppc-dev/2009-April/070097.html
>>>>
>>>> Function rtdm_iomap_to_user() has same issue with the physical I/O
>>>> address
>>>>    unsigned long src_addr
>>>>
>>>> I am new to Xenomai and would like to get some ideas on 
>how to solve
>>>> this
>>>> issue.
>>> I think UIO as well as RTDM suffers from the same problem here: The
>>> kernel service used to remap the physical memory (remap_pfn_range)
>>> accepts unsigned long, not phys_addr_t. How is this 
>supposed to work?
>>>
>>> Jan
>>>
>>> -- 
>>> Siemens AG, Corporate Technology, CT SE 2
>>> Corporate Competence Center Embedded Linux
>>>
>> 
>> Actually, remap_pfn_range() gets passed the physical address left
>> shifted by PAGE_SIZE in both UIO and RTDM 
>(xnarch_remap_io_page_range,
>> wrap_remap_io_page_range).
>
>No, the target address is expressed in pages, the source in bytes.
>
That is true for rtdm_mmap_to_user but not for rtdm_iomap_to_user. See
how
mmap_data struct is set in both functions.

Luis

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to