>-----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.
Luis _______________________________________________ Xenomai-core mailing list [email protected] https://mail.gna.org/listinfo/xenomai-core
