]> git.pld-linux.org Git - packages/X11-driver-nvidia-legacy.git/blob - NVIDIA_kernel-1.0-7174-1321905.diff
- updated for 7182
[packages/X11-driver-nvidia-legacy.git] / NVIDIA_kernel-1.0-7174-1321905.diff
1 diff -ru usr/src/nv/nv-vm.c usr/src/nv.1321905/nv-vm.c
2 --- usr/src/nv/nv-vm.c  2005-03-22 16:19:09.000000000 +0100
3 +++ usr/src/nv.1321905/nv-vm.c  2005-10-23 15:43:12.860170440 +0200
4 @@ -248,6 +248,20 @@
5          /* lock the page for dma purposes */
6          SetPageReserved(NV_GET_PAGE_STRUCT(phys_addr));
7  
8 +#if defined(_PAGE_NX)
9 +        if ((_PAGE_NX & pgprot_val(PAGE_KERNEL)) != 0 && phys_addr < 0x400000) {
10 +            // Until a bug in change_page_attr() is fixed
11 +            // we avoid pages with physaddr < 0x400000,
12 +            // since splitting "jumbo" mappings results
13 +            // in kernel pages being mapped as PAGE_KERNEL, which
14 +            // may include _PAGE_NX, effectively making much of the
15 +            // kernel code non-executable.
16 +            nv_printf(NV_DBG_MEMINFO, "NVRM: nv_vm_malloc discarding page @%08x\n", phys_addr);
17 +            --i;
18 +            continue;
19 +        }
20 +#endif
21 +
22          page_ptr = at->page_table[i];
23          page_ptr->phys_addr = phys_addr;
24          page_ptr->virt_addr = virt_addr;
This page took 0.024393 seconds and 3 git commands to generate.