[EMAIL PROTECTED] wrote: >> -----Ursprüngliche Nachricht----- >> Von: Philippe Gerum [mailto:[EMAIL PROTECTED] >> Gesendet: Dienstag, 21. Oktober 2008 13:12 >> An: Debes, Thomas RAEK3 MRA >> Cc: [email protected] >> Betreff: Re: [Xenomai-help] rtdm_iomap_to_user on PPC >> >> [EMAIL PROTECTED] wrote: >>> Hello Alexis, hello Philippe, >>> >>> thanks for your suggestions - the protection bits did the trick! >>> Adding them to xnarch_remap_io_page_range(...) in >> rtdm_mmap_buffer() >>> solved the problem. We already tried this few months ago using >>> >>> pgprot_val(vma->vm_page_prot) |= _PAGE_NO_CACHE | _PAGE_GUARDED | >>> PAGE_SHARED; >>> >>> but missed the fact that xnarch_remap_io_page_range only >> takes PAGE_SHARED instead of use vma->vm_page_prot as its 5th >> parameter. I am not sure wether this extension will have side >> effects on other architectures. Maybe there is a better place >> for this fix. What do you think? >> Not all archs will have the same requirements, unfortunately. >> Could you try the attached patch? It also makes sure that >> prefetchable PCI memory won't be accessed as page guarded in 2.6. TIA, > > > Ok, got it working. Everything works as expected (at least for kernel 2.4). > Will that patch be included in the next release (2.4.6)? >
Yes. > Regards > Thomas > > >>> Thanks again! >>> >>> Thomas >>> >>> >>> >>> >>>> -----Ursprüngliche Nachricht----- >>>> Von: [EMAIL PROTECTED] >>>> [mailto:[EMAIL PROTECTED] Im Auftrag von Philippe Gerum >>>> Gesendet: Sonntag, 19. Oktober 2008 20:11 >>>> An: Gilles Chanteperdrix >>>> Cc: [email protected] >>>> Betreff: Re: [Xenomai-help] rtdm_iomap_to_user on PPC >>>> >>>> Gilles Chanteperdrix wrote: >>>>> Philippe Gerum wrote: >>>>>> Gilles Chanteperdrix wrote: >>>>>>> Alexis Berlemont wrote: >>>>>>>> Hi, >>>>>>>> >>>>>>>> On Friday 17 October 2008 06:46, >>>> [EMAIL PROTECTED] wrote: >>>>>>>>> No comments or ideas? Providing this feature is >>>> essential for our >>>>>>>>> CPCI drivers. We have to port some Linux applications >>>> to Xenomai >>>>>>>>> which use that mmap stuff intensely. >>>>>>>>> >>>>>>>>> Thanks again! >>>>>>>>> >>>>>>>>> Thomas >>>>>>>>> >>>>>>>>>> -----Ursprüngliche Nachricht----- >>>>>>>>>> Von: [EMAIL PROTECTED] >>>>>>>>>> [mailto:[EMAIL PROTECTED] Im Auftrag von >>>>>>>>>> [EMAIL PROTECTED] >>>>>>>>>> Gesendet: Mittwoch, 8. Oktober 2008 11:49 >>>>>>>>>> An: [email protected] >>>>>>>>>> Betreff: [Xenomai-help] rtdm_iomap_to_user on PPC >>>>>>>>>> >>>>>>>>>> Hello, >>>>>>>>>> >>>>>>>>>> in the following thread I was asking for a solution to use >>>>>>>>>> rtdm_iomap_to_user() on PPC (MPC5200, Denx 2.4.25) >>>>>>>> In 2.4 kernel, rtdm_iomap_to_user() is based on the function >>>>>>>> remap_page_range (with vma->vm_flags |= VM_RESERVED). >>>>>>>> >>>>>>>> Once, I had to develop a classical Linux driver (for >> PPC) which >>>>>>>> provided mmap functionalites so as to let a user >>>> application mmap a >>>>>>>> buffer allocated thanks to __get_free_pages(). >>>>>>>> >>>>>>>> On a 2.6 kernel, I used remap_pfn_range() and it works >>>> great but on >>>>>>>> 2.4 kernel the function remap_page_range() did not work as I >>>>>>>> expected. I had a quick look on its implementation and I >>>> found that >>>>>>>> instead of mapping my buffer it mapped newly allocated >>>> zeroed pages (if my memories are correct). >>>>>>>> If I remember well, these pages were allocated in lazy >>>> mode. That >>>>>>>> could explain the freeze of your whole system: in case a RT >>>>>>>> application in primary mode tries to access the mmapped buffer. >>>>>>> Well, normally, the fault should cause the RT application >>>> to switch >>>>>>> to secondary mode and be handled gracefully from there, >>>> unless there >>>>>>> is a bug hidden in Xenomai or I-pipe. Besides, RT applications >>>>>>> usually use "mlockall", so the kernel should make all the pages >>>>>>> present and not rely on further faults (at least, is it >>>> how it works on 2.6). >>>>>> powerpc may still trigger minor faults upon TLB misses >>>> though. That >>>>>> arch has a software-assisted MMU. >>>>> Ok, and can these faults cause lockups when they happen in >>>> primary mode? >>>> Unless I messed up things in the I-pipe patch, no. >> Depending on the >>>> MMU management code, some of them will reach the Linux >> fault handler >>>> and trigger the mode switch via the Xenomai fault handler, others >>>> will be processed directly from the low-level exception >> code when it >>>> is possible to fix up the mapping from there. >>>> >>>> As I mentioned a long time ago, the issue is more likely >> related to >>>> the protection bits used with PCI memory resources, which >> do require >>>> additional fixup on powerpc (_PAGE_GUARDED and >> _PAGE_NO_CACHE come to >>>> mind here). >>>> >>>> -- >>>> Philippe. >>>> >>>> _______________________________________________ >>>> Xenomai-help mailing list >>>> [email protected] >>>> https://mail.gna.org/listinfo/xenomai-help >>>> >>> Achtung: Neue E-Mail-Adresse! Attention: New e-mail-address! >>> [EMAIL PROTECTED] >>> -------------------------------------------------------- >>> manroland AG >>> Vorsitzender des Aufsichtsrates: Hanno C. Fiedler >>> Vorstand: Gerd Finkbeiner (Vorsitzender), Dr. Ingo Koch, >> Dr. Markus Rall, Paul Steidle >>> Sitz der Gesellschaft: Offenbach am Main, Registergericht: >> Amtsgericht >>> Offenbach HRB-Nr. 42592 USt-Ident-Nr. DE 250200933 >>> >>> _______________________________________________ >>> Xenomai-help mailing list >>> [email protected] >>> https://mail.gna.org/listinfo/xenomai-help >>> >> >> -- >> Philippe. >> > > Achtung: Neue E-Mail-Adresse! Attention: New e-mail-address! [EMAIL PROTECTED] > -------------------------------------------------------- > manroland AG > Vorsitzender des Aufsichtsrates: Hanno C. Fiedler > Vorstand: Gerd Finkbeiner (Vorsitzender), Dr. Ingo Koch, Dr. Markus Rall, > Paul Steidle > Sitz der Gesellschaft: Offenbach am Main, Registergericht: Amtsgericht > Offenbach HRB-Nr. 42592 > USt-Ident-Nr. DE 250200933 > -- Philippe. _______________________________________________ Xenomai-help mailing list [email protected] https://mail.gna.org/listinfo/xenomai-help
