svn commit: r187400 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb kern

Alan Cox alc at FreeBSD.org
Sun Jan 18 10:26:53 PST 2009


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) {


More information about the svn-src-stable-7 mailing list