Index: sys/powerpc/booke/pmap.c =================================================================== --- sys/powerpc/booke/pmap.c +++ sys/powerpc/booke/pmap.c @@ -1574,7 +1574,6 @@ * Note that kernel end does not necessarily relate to kernsize. * kernsize is the size of the kernel that is actually mapped. */ - kernstart = trunc_page(start); data_start = round_page(kernelend); data_end = data_start; @@ -4025,7 +4024,8 @@ void tlb1_init() { - uint32_t mas0, mas1, mas2, mas3, mas7; + vm_offset_t mas2; + uint32_t mas0, mas1, mas3, mas7; uint32_t tsz; tlb1_get_tlbconf(); @@ -4044,6 +4044,7 @@ tsz = (mas1 & MAS1_TSIZE_MASK) >> MAS1_TSIZE_SHIFT; kernsize += (tsz > 0) ? tsize2size(tsz) : 0; + kernstart = trunc_page(mas2); /* Setup TLB miss defaults */ set_mas4_defaults(); Index: sys/powerpc/include/param.h =================================================================== --- sys/powerpc/include/param.h +++ sys/powerpc/include/param.h @@ -103,7 +103,7 @@ #define CACHE_LINE_SIZE (1 << CACHE_LINE_SHIFT) #define PAGE_SHIFT 12 -#define PAGE_SIZE (1L << PAGE_SHIFT) /* Page size */ +#define PAGE_SIZE (1 << PAGE_SHIFT) /* Page size */ #define PAGE_MASK (PAGE_SIZE - 1) #define NPTEPG (PAGE_SIZE/(sizeof (pt_entry_t))) Index: sys/powerpc/include/vmparam.h =================================================================== --- sys/powerpc/include/vmparam.h +++ sys/powerpc/include/vmparam.h @@ -72,53 +72,35 @@ #endif #ifdef AIM -#define VM_MAXUSER_ADDRESS32 ((vm_offset_t)0xfffff000) +#define VM_MAXUSER_ADDRESS32 0xfffff000 #else -#define VM_MAXUSER_ADDRESS32 ((vm_offset_t)0x7ffff000) +#define VM_MAXUSER_ADDRESS32 0x7ffff000 #endif /* * Would like to have MAX addresses = 0, but this doesn't (currently) work */ -#if !defined(LOCORE) #ifdef __powerpc64__ -#define VM_MIN_ADDRESS (0x0000000000000000UL) -#define VM_MAXUSER_ADDRESS (0x3ffffffffffff000UL) -#define VM_MAX_ADDRESS (0xffffffffffffffffUL) +#define VM_MIN_ADDRESS 0x0000000000000000 +#define VM_MAXUSER_ADDRESS 0x3ffffffffffff000 +#define VM_MAX_ADDRESS 0xffffffffffffffff +#define VM_MIN_KERNEL_ADDRESS 0xe000000000000000 +#define VM_MAX_KERNEL_ADDRESS 0xe0000007ffffffff +#define VM_MAX_SAFE_KERNEL_ADDRESS VM_MAX_KERNEL_ADDRESS #else -#define VM_MIN_ADDRESS ((vm_offset_t)0) +#define VM_MIN_ADDRESS 0 #define VM_MAXUSER_ADDRESS VM_MAXUSER_ADDRESS32 -#define VM_MAX_ADDRESS ((vm_offset_t)0xffffffff) +#define VM_MAX_ADDRESS 0xffffffff #endif + #define SHAREDPAGE (VM_MAXUSER_ADDRESS - PAGE_SIZE) -#else /* LOCORE */ -#ifdef BOOKE -#define VM_MIN_ADDRESS 0 -#ifdef __powerpc64__ -#define VM_MAXUSER_ADDRESS 0x3ffffffffffff000 -#else -#define VM_MAXUSER_ADDRESS 0x7ffff000 -#endif -#endif -#endif /* LOCORE */ #define FREEBSD32_SHAREDPAGE (VM_MAXUSER_ADDRESS32 - PAGE_SIZE) #define FREEBSD32_USRSTACK FREEBSD32_SHAREDPAGE -#ifdef __powerpc64__ -#ifndef LOCORE -#define VM_MIN_KERNEL_ADDRESS 0xe000000000000000UL -#define VM_MAX_KERNEL_ADDRESS 0xe0000007ffffffffUL -#else -#define VM_MIN_KERNEL_ADDRESS 0xe000000000000000 -#define VM_MAX_KERNEL_ADDRESS 0xe0000007ffffffff -#endif -#define VM_MAX_SAFE_KERNEL_ADDRESS VM_MAX_KERNEL_ADDRESS -#endif - -#ifdef AIM #define KERNBASE 0x00100100 /* start of kernel virtual */ +#ifdef AIM #ifndef __powerpc64__ #define VM_MIN_KERNEL_ADDRESS ((vm_offset_t)KERNEL_SR << ADDR_SR_SHFT) #define VM_MAX_SAFE_KERNEL_ADDRESS (VM_MIN_KERNEL_ADDRESS + 2*SEGMENT_LENGTH -1) @@ -136,12 +118,9 @@ /* Use the direct map for UMA small allocs on powerpc64. */ #ifdef __powerpc64__ #define UMA_MD_SMALL_ALLOC -#endif - -#define KERNBASE 0x04000100 /* start of kernel physical */ -#ifndef __powerpc64__ -#define VM_MIN_KERNEL_ADDRESS 0xc0000000 -#define VM_MAX_KERNEL_ADDRESS 0xffffefff +#else +#define VM_MIN_KERNEL_ADDRESS 0xc0000000 +#define VM_MAX_KERNEL_ADDRESS 0xffffefff #define VM_MAX_SAFE_KERNEL_ADDRESS VM_MAX_KERNEL_ADDRESS #endif