Index: sys/arch/arm/arm32/arm32_kvminit.c =================================================================== RCS file: /cvsroot/src/sys/arch/arm/arm32/arm32_kvminit.c,v retrieving revision 1.34 diff -u -p -r1.34 arm32_kvminit.c --- sys/arch/arm/arm32/arm32_kvminit.c 30 May 2015 23:59:33 -0000 1.34 +++ sys/arch/arm/arm32/arm32_kvminit.c 1 Jun 2015 16:02:16 -0000 @@ -438,14 +438,11 @@ arm32_kernel_vm_init(vaddr_t kernel_vm_b roundup(physical_end - physical_start, L1_SS_SIZE); KASSERT(kernel_vm_base >= physical_size); /* - * If we don't have enough memory via TTBR1, we have use addresses - * from TTBR0 to map some of the physical memory. But try to use as - * much high memory space as possible. + * Try to direct map as much memory as possible. */ pmap_directlimit = kernel_vm_base; - if (kernel_vm_base - KERNEL_BASE < physical_size - && kernel_vm_base - physical_size >= physical_start) { - pmap_directbase -= KERNEL_BASE_VOFFSET; + if (kernel_vm_base - KERNEL_BASE < physical_size) { + pmap_directbase = kernel_vm_base - physical_size; printf("%s: changing pmap_directbase to %#lx\n", __func__, pmap_directbase); }