README.compileopts revision 1.4 1 1.4 pooka $NetBSD: README.compileopts,v 1.4 2014/04/23 23:25:45 pooka Exp $
2 1.1 pooka
3 1.1 pooka This file describes compile-time options for rump kernels. Additionally,
4 1.1 pooka NetBSD build options will have an effect. See src/share/mk/bsd.README
5 1.1 pooka for a desciption of NetBSD build options.
6 1.1 pooka
7 1.2 pooka Note: after changing an option, do a clean build.
8 1.2 pooka
9 1.1 pooka
10 1.1 pooka RUMP_DIAGNOSTIC
11 1.1 pooka
12 1.1 pooka values: yes|no
13 1.1 pooka defval: yes
14 1.1 pooka effect: Iff "yes", build with -DDIAGNOSTIC.
15 1.1 pooka
16 1.1 pooka
17 1.1 pooka RUMP_DEBUG
18 1.1 pooka
19 1.1 pooka values: defined / not defined
20 1.1 pooka effect: Iff defined, build with -DDEBUG.
21 1.1 pooka
22 1.1 pooka
23 1.1 pooka RUMP_LOCKDEBUG
24 1.1 pooka
25 1.1 pooka values: defined / not defined
26 1.1 pooka effect: Iff defined, build with -DLOCKDEBUG.
27 1.1 pooka
28 1.1 pooka
29 1.1 pooka RUMP_KTRACE
30 1.1 pooka
31 1.1 pooka values: yes|no
32 1.1 pooka defval: yes
33 1.1 pooka effect: Iff "yes", build with -DKTRACE.
34 1.1 pooka
35 1.1 pooka
36 1.1 pooka RUMP_LOCKS_UP
37 1.1 pooka
38 1.1 pooka values: yes|no
39 1.1 pooka defval: no
40 1.1 pooka effect: If "yes", build rump kernel with uniprocess-optimized locking.
41 1.1 pooka An implication of this is that RUMP_NCPU==1 is required at
42 1.1 pooka runtime. If "no", build with multiprocessor-capable locking.
43 1.1 pooka
44 1.1 pooka
45 1.1 pooka RUMP_UNREAL_ALLOCATORS
46 1.1 pooka
47 1.1 pooka values: yes|no
48 1.1 pooka defval: no
49 1.1 pooka effect: If "yes", build version of kmem_alloc, pool and pool_cache
50 1.1 pooka that directly relegate allocation to a hypercall. If "no",
51 1.1 pooka build the regular NetBSD memory allocators which use
52 1.1 pooka page-sized memory allocation hypercalls.
53 1.1 pooka
54 1.1 pooka
55 1.1 pooka RUMP_VIRTIF
56 1.1 pooka
57 1.1 pooka values: yes|no
58 1.1 pooka defval: yes
59 1.1 pooka effect: Iff "yes", build the virt(4) network interface. Turning this
60 1.1 pooka off may be necessary on systems that lack the necessary headers,
61 1.1 pooka e.g. musl libc based Linux.
62 1.1 pooka
63 1.1 pooka
64 1.3 pooka RUMP_CURLWP
65 1.3 pooka
66 1.3 pooka values: hypercall/__thread/register or <undefined>
67 1.3 pooka defval: <undefined>
68 1.3 pooka effect: Control how curlwp is obtained in a rump kernel. This is
69 1.3 pooka a very frequently accessed thread-local variable, and optimizing
70 1.3 pooka access has a significant performance impact. Note that all
71 1.3 pooka options are not available on hosts/machine architectures.
72 1.3 pooka <undefined> - use default implementation (currently "hypercall")
73 1.3 pooka hypercall - use a hypercall to fetch the value
74 1.3 pooka __thread - use the __thread feature to fetch value via TLS
75 1.3 pooka register - use a dedicated register (implies -ffixed)
76 1.3 pooka
77 1.3 pooka
78 1.1 pooka ================================================================================
79 1.1 pooka
80 1.1 pooka
81 1.1 pooka The rest of the options described in this file are not intended to be
82 1.1 pooka set by users, but by the package building rump kernels.
83 1.1 pooka
84 1.1 pooka
85 1.1 pooka RUMP_KERNEL_IS_LIBC
86 1.1 pooka
87 1.1 pooka values: defined / not defined
88 1.1 pooka effect: Iff defined, export normal system call symbols from libc.
89 1.1 pooka For example, without this option rump_sys_open() is exported.
90 1.1 pooka With this option, both open() and rump_sys_open() are exported.
91 1.1 pooka This option is meant for building systems where a rump kernel
92 1.1 pooka is the only operating system like component.
93 1.1 pooka
94 1.1 pooka
95 1.1 pooka RUMP_LDSCRIPT
96 1.1 pooka
97 1.4 pooka values: no/GNU/sun/ctor
98 1.1 pooka defval: GNU
99 1.1 pooka effect: Select the linker script to be used for linking rump kernel shared
100 1.1 pooka library components.
101 1.4 pooka no - do not use a linker script
102 1.4 pooka GNU - use a linker script for GNU ld 2.18 and later
103 1.4 pooka sun - use a linker script for the Solaris linker
104 1.4 pooka ctor - do not use a linker script, make the code
105 1.4 pooka generate __attribute__((constructor))
106