Module: xenomai-2.6 Branch: master Commit: e3d385142e1f5ad35945ffa8e4b3e03966f6883b URL: http://git.xenomai.org/?p=xenomai-2.6.git;a=commit;h=e3d385142e1f5ad35945ffa8e4b3e03966f6883b
Author: Gilles Chanteperdrix <gilles.chanteperd...@xenomai.org> Date: Sun Jan 22 19:32:47 2012 +0100 arm: fix heaps pre-faulting with kernel newer than 2.6.22 --- ksrc/arch/arm/hal.c | 14 +++++++++++--- 1 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ksrc/arch/arm/hal.c b/ksrc/arch/arm/hal.c index 1ba9457..30eeca7 100644 --- a/ksrc/arch/arm/hal.c +++ b/ksrc/arch/arm/hal.c @@ -431,11 +431,19 @@ void __rthal_arm_fault_range(struct vm_area_struct *vma) { unsigned long addr; - if ((vma->vm_flags & VM_MAYREAD)) + if ((vma->vm_flags & VM_MAYREAD)) { + unsigned flags; + +#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 22) + flags = (vma->vm_flags & VM_MAYWRITE) ? FAULT_FLAG_WRITE : 0; +#else /* linux <= 2.6.22 */ + flags = vma->vm_flags & VM_MAYWRITE +#endif /* linux <= 2.6.22 */ + for (addr = vma->vm_start; addr != vma->vm_end; addr += PAGE_SIZE) - handle_mm_fault(vma->vm_mm, vma, addr, - vma->vm_flags & VM_MAYWRITE); + handle_mm_fault(vma->vm_mm, vma, addr, flags); + } } static inline _______________________________________________ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git