]> git.pld-linux.org Git - packages/X11-driver-nvidia-legacy.git/blame - NVIDIA_kernel-1.0-7174-1321905.diff
- updated for 7182
[packages/X11-driver-nvidia-legacy.git] / NVIDIA_kernel-1.0-7174-1321905.diff
CommitLineData
b0c55c62 1diff -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.027804 seconds and 4 git commands to generate.