| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | /* $NetBSD: vmparam.h,v 1.22 2019/03/29 12:51:15 christos Exp $ */ | | 1 | /* $NetBSD: vmparam.h,v 1.23 2020/06/27 02:51:23 rin Exp $ */ |
2 | | | 2 | |
3 | #ifndef _POWERPC_VMPARAM_H_ | | 3 | #ifndef _POWERPC_VMPARAM_H_ |
4 | #define _POWERPC_VMPARAM_H_ | | 4 | #define _POWERPC_VMPARAM_H_ |
5 | | | 5 | |
6 | #ifdef _KERNEL_OPT | | 6 | #ifdef _KERNEL_OPT |
7 | #include "opt_modular.h" | | 7 | #include "opt_modular.h" |
8 | #include "opt_ppcarch.h" | | 8 | #include "opt_ppcarch.h" |
9 | #include "opt_uvm.h" | | 9 | #include "opt_uvm.h" |
10 | #endif | | 10 | #endif |
11 | | | 11 | |
12 | /* | | 12 | /* |
13 | * These are common for BOOKE, IBM4XX, and OEA | | 13 | * These are common for BOOKE, IBM4XX, and OEA |
14 | */ | | 14 | */ |
| @@ -18,35 +18,38 @@ | | | @@ -18,35 +18,38 @@ |
18 | #define VM_NFREELIST 3 | | 18 | #define VM_NFREELIST 3 |
19 | | | 19 | |
20 | #define VM_PHYSSEG_MAX 16 | | 20 | #define VM_PHYSSEG_MAX 16 |
21 | | | 21 | |
22 | /* | | 22 | /* |
23 | * The address to which unspecified mapping requests default | | 23 | * The address to which unspecified mapping requests default |
24 | * Put the stack in its own segment and start mmaping at the | | 24 | * Put the stack in its own segment and start mmaping at the |
25 | * top of the next lower segment. | | 25 | * top of the next lower segment. |
26 | */ | | 26 | */ |
27 | #define __USE_TOPDOWN_VM | | 27 | #define __USE_TOPDOWN_VM |
28 | #define VM_DEFAULT_ADDRESS_BOTTOMUP(da, sz) \ | | 28 | #define VM_DEFAULT_ADDRESS_BOTTOMUP(da, sz) \ |
29 | round_page((vaddr_t)(da) + (vsize_t)maxdmap) | | 29 | round_page((vaddr_t)(da) + (vsize_t)maxdmap) |
30 | | | 30 | |
| | | 31 | #if defined(MODULAR) || defined(_MODULE) || !defined(_KERNEL) |
31 | /* | | 32 | /* |
32 | * If we are a module or a modular kernel, then we need to defined the range | | 33 | * If we are a module or a modular kernel, then we need to defined the range |
33 | * of our varible page sizes since BOOKE and OEA use 4KB pages while IBM4XX | | 34 | * of our varible page sizes since BOOKE and OEA use 4KB pages while IBM4XX |
34 | * use 16KB pages. | | 35 | * use 16KB pages. |
| | | 36 | * This is also required for userland by jemalloc. |
35 | */ | | 37 | */ |
36 | #define MIN_PAGE_SHIFT 12 /* BOOKE/OEA */ | | 38 | #define MIN_PAGE_SHIFT 12 /* BOOKE/OEA */ |
37 | #define MAX_PAGE_SHIFT 14 /* IBM4XX */ | | 39 | #define MAX_PAGE_SHIFT 14 /* IBM4XX */ |
38 | #define MIN_PAGE_SIZE (1 << MIN_PAGE_SHIFT) | | 40 | #define MIN_PAGE_SIZE (1 << MIN_PAGE_SHIFT) |
39 | #define MAX_PAGE_SIZE (1 << MAX_PAGE_SHIFT) | | 41 | #define MAX_PAGE_SIZE (1 << MAX_PAGE_SHIFT) |
| | | 42 | #endif /* MODULAR || _MODULE || !_KERNEL */ |
40 | | | 43 | |
41 | #if defined(_MODULE) | | 44 | #if defined(_MODULE) |
42 | #if defined(_RUMPKERNEL) | | 45 | #if defined(_RUMPKERNEL) |
43 | /* | | 46 | /* |
44 | * Safe definitions for RUMP kernels | | 47 | * Safe definitions for RUMP kernels |
45 | */ | | 48 | */ |
46 | #define VM_MAXUSER_ADDRESS 0x7fff8000 | | 49 | #define VM_MAXUSER_ADDRESS 0x7fff8000 |
47 | #define VM_MIN_ADDRESS 0x00000000 | | 50 | #define VM_MIN_ADDRESS 0x00000000 |
48 | #define VM_MAX_ADDRESS VM_MAXUSER_ADDRESS | | 51 | #define VM_MAX_ADDRESS VM_MAXUSER_ADDRESS |
49 | #define MAXDSIZ (1024*1024*1024) | | 52 | #define MAXDSIZ (1024*1024*1024) |
50 | #define MAXSSIZ (32*1024*1024) | | 53 | #define MAXSSIZ (32*1024*1024) |
51 | #define MAXTSIZ (256*1024*1024) | | 54 | #define MAXTSIZ (256*1024*1024) |
52 | #else /* !_RUMPKERNEL */ | | 55 | #else /* !_RUMPKERNEL */ |