Home | History | Annotate | Line # | Download | only in rump
README.compileopts revision 1.3
      1  1.3  pooka 	$NetBSD: README.compileopts,v 1.3 2014/03/16 15:31:03 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.1  pooka values: no/GNU/sun
     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.1  pooka 	no  - do not use a linker script
    102  1.1  pooka 	GNU - use a linker script for GNU ld 2.18 and later
    103  1.1  pooka 	sun - use a linker script for the Solaris linker
    104