--- 12.9/common/lib/modules/fglrx/build_mod/firegl_public.c 2012-09-26 15:04:28.000000000 +0200 +++ 12.9/common/lib/modules/fglrx/build_mod/firegl_public.c 2012-10-16 20:30:42.146523753 +0200 @@ -3892,7 +3892,11 @@ KCL_DEBUG_ERROR(REMAP_PAGE_RANGE_STR " failed\n"); return -EAGAIN; } +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */ +#else + vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */ +#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */ vma->vm_ops = &vm_ops; break; @@ -3922,14 +3926,22 @@ KCL_DEBUG_ERROR(REMAP_PAGE_RANGE_STR " failed\n"); return -EAGAIN; } +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */ +#else + vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */ +#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */ vma->vm_ops = &vm_ops; } break; #endif case __KE_SHM: +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */ +#else + vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */ +#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */ vma->vm_ops = &vm_shm_ops; break; @@ -3937,7 +3949,11 @@ pages = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_RESERVED; +#else + vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP; +#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */ //vma->vm_flags |= VM_SHM | VM_LOCKED; /* DDDDDDDDDDon't swap */ //vma->vm_mm->locked_vm += pages; /* Kernel tracks aqmount of locked pages */ @@ -3946,14 +3962,22 @@ case __KE_CTX: pages = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_LOCKED | VM_SHM | VM_RESERVED; /* Don't swap */ +#else + vma->vm_flags |= VM_LOCKED | VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */ +#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */ vma->vm_mm->locked_vm += pages; /* Kernel tracks aqmount of locked pages */ vma->vm_ops = &vm_ctx_ops; break; case __KE_PCI_BQS: pages = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_LOCKED | VM_SHM | VM_RESERVED; /* Don't swap */ +#else + vma->vm_flags |= VM_LOCKED | VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */ +#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */ vma->vm_mm->locked_vm += pages; /* Kernel tracks aqmount of locked pages */ vma->vm_ops = &vm_pci_bq_ops; break; @@ -3984,9 +4008,17 @@ return -EAGAIN; } #ifdef __x86_64__ +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_RESERVED; #else + vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP; +#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */ +#else +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */ +#else + vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */ +#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */ #endif vma->vm_ops = &vm_ops; } @@ -4015,9 +4047,17 @@ return -EAGAIN; } #ifdef __x86_64__ +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_RESERVED; #else + vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP; +#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */ +#else +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */ +#else + vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */ +#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */ #endif vma->vm_ops = &vm_agp_bq_ops; } @@ -4025,7 +4065,11 @@ #endif /* __AGP__BUILTIN__ */ case __KE_KMAP: +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_SHM | VM_RESERVED; +#else + vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; +#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */ vma->vm_ops = &vm_kmap_ops; if (readonly && (vma->vm_flags & VM_WRITE)) { @@ -4046,7 +4090,11 @@ #endif // fall through case __KE_GART_CACHEABLE: +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_RESERVED; +#else + vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP; +#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) */ vma->vm_ops = &vm_gart_ops; break; default: