Herrera-Bendezu, Luis wrote:
>  
> 
>> -----Original Message-----
>> From: Jan Kiszka [mailto:[email protected]] 
>> Sent: Tuesday, November 10, 2009 1:13 PM
>> To: Herrera-Bendezu, Luis
>> Cc: [email protected]
>> Subject: Re: rtdm_iomap_to_user with phys addr > 4GB
>>
>>
>> Herrera-Bendezu, Luis wrote:
>>>  
>>>
>>>> -----Original Message-----
>>>> From: Jan Kiszka [mailto:[email protected]] 
>>>> Sent: Tuesday, November 10, 2009 12:03 PM
>>>> To: Herrera-Bendezu, Luis
>>>> Cc: [email protected]
>>>> 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.

        struct rtdm_mmap_data mmap_data =
                { NULL, src_addr, vm_ops, vm_private_data };

with src_addr = "physical I/O address to be mapped", setting
mmap_data.src_paddr -- are you looking at different code?

Besides this, the key is how remap_pfn_page interprets the source
address argument.

Jan

-- 
Siemens AG, Corporate Technology, CT SE 2
Corporate Competence Center Embedded Linux

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

Reply via email to