Author: alc
Date: Sun Jan 18 18:26:52 2009
New Revision: 187400
URL: http://svn.freebsd.org/changeset/base/187400

Log:
  MFC rev 179887
    Enforce the mapping of kernel loadable modules in the uppermost 2GB of the
    kernel virtual address space on amd64.

Modified:
  stable/7/sys/   (props changed)
  stable/7/sys/contrib/pf/   (props changed)
  stable/7/sys/dev/ath/ath_hal/   (props changed)
  stable/7/sys/dev/cxgb/   (props changed)
  stable/7/sys/kern/link_elf_obj.c

Modified: stable/7/sys/kern/link_elf_obj.c
==============================================================================
--- stable/7/sys/kern/link_elf_obj.c    Sun Jan 18 17:54:03 2009        
(r187399)
+++ stable/7/sys/kern/link_elf_obj.c    Sun Jan 18 18:26:52 2009        
(r187400)
@@ -667,6 +667,13 @@ link_elf_load_file(linker_class_t cls, c
                goto out;
        }
        ef->address = (caddr_t) vm_map_min(kernel_map);
+
+       /*
+        * In order to satisfy amd64's architectural requirements on the
+        * location of code and data in the kernel's address space, request a
+        * mapping that is above the kernel.  
+        */
+       mapbase = KERNBASE;
        error = vm_map_find(kernel_map, ef->object, 0, &mapbase,
            round_page(mapsize), TRUE, VM_PROT_ALL, VM_PROT_ALL, FALSE);
        if (error) {
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to