Commit Graph

121 Commits

Author SHA1 Message Date
matt
8a31a6e7a0 Pass down ${CPUFLAGS} 2016-07-09 05:52:22 +00:00
pooka
33a1fe2a2d describe => rumpdescribe 2015-11-15 13:50:10 +00:00
pooka
b2b6f2602e Add a COMMENT describing what each component roughly does.
"make describe" prints the comment.

Requested/inspired by Vincent Schwarzer on rumpkernel-users
2015-10-19 16:16:32 +00:00
pooka
6eb3ae7daa Remove individual opt_foo.h files, continue consolidating to opt_rumpkernel.h 2015-08-24 22:52:15 +00:00
pooka
143bba9536 remove librump/rumpnet/opt, consolidate in rump/include/opt 2015-08-24 22:31:33 +00:00
pooka
916d66f2ac Remove unnecessary DPSRCS+=
-imacros automatically results in a dependency.
2015-08-24 18:17:04 +00:00
pooka
8dc07d6aab Use BUILDRUMP_IMACROS if specified. 2015-08-24 09:45:44 +00:00
pooka
5837845c12 Move constant cpp macros from Makefile.rump into opt_rumpkernel.h
(makes cc invocation lines a bit shorter)
2015-08-21 12:39:07 +00:00
pooka
65a710860e Add a "default" alias for RUMP_NBCOMPAT, in case "default" and "all"
stop being the same thing in the future.
2015-06-03 14:40:11 +00:00
pooka
7a8f766478 Add "all" and "none" as acceptable RUMP_NBCOMPAT value aliases to
undefined and empty, respectively.
2015-06-03 10:49:14 +00:00
pooka
ff02be874a There are tests which rely on compat code continuing to be present,
so default RUMP_NBCOMPAT to all releases.

reported by gson
2015-04-24 06:29:56 +00:00
pooka
ac0dac8111 Rename RUMP_COMPAT to RUMP_NBCOMBAT to better signify what the
variable does.
2015-04-23 14:49:26 +00:00
pooka
97e480bbad For RUMP_COMPAT, accept "all" as an alias.
Also accept a comma-separated list, since that's easier to pass through
shells than a whitespace-separated list.
2015-04-23 14:39:03 +00:00
pooka
87a65e5d69 Default compat to 60 70, now that it hopefully generates no fallout. 2015-04-23 10:52:18 +00:00
pooka
165d419fa9 Put 50 back to compat list for a while (some fallout) 2015-04-22 18:14:55 +00:00
pooka
04469a37d8 Define rump_nativeabi_p() under arch, where one would logically expect
it to be defined.
2015-04-22 18:12:39 +00:00
pooka
b6f51922f7 default compat to 60 & 70 2015-04-22 17:58:19 +00:00
pooka
28f2b5b757 Generate -DCOMPAT_nn from a list of nn provided in RUMP_COMPAT 2015-04-22 16:59:45 +00:00
pooka
eaa241e501 Remove shlib_version files and just use Makefile SHLIB_MAJOR/MINOR,
with the default provided by Makefile.rump (they're all 0.0 anyway)
2014-12-02 01:59:10 +00:00
pooka
1b3fbb4b1b need -Wno-unused-parameter with -Wextra 2014-12-01 23:08:15 +00:00
pooka
0201ddbb4c define the warnings used for hypercall components once 2014-12-01 22:58:41 +00:00
pooka
03d8c7895a RUMPCOMP_USER has been deprecated for long enough, remove it. 2014-12-01 22:54:32 +00:00
alnsn
c5e535c214 Implement rumpcomp_sync_icache() hyprecall for mips and add
a barebone implementation if mips cache ops to librumpkern_sljit.
2014-07-22 20:25:13 +00:00
pooka
795967533e Some rump kernel components for interfacing with the environment need
to access both NetBSD kernel facilities and facilities provided by the
environment.

Where the environment's headers can be #included without namespace
conflict (which can be done - with care - for some Xen mini-os
headers), it is convenient to simply allow the rump kernel code to
call directly into the environment.

This also requires not mangling the symbol names.

So provide a variable RUMP_SYM_NORENAME which can be set by a component
namefile to a series of symbols or symbol prefixes (in makefile-quoted
awk regexp syntax).  For example, in the rumpuser-xen xenbus driver:
 RUMP_SYM_NORENAME=xenbus_|HYPERVISOR_|wake$$|block$$|schedule$$|force_evtchn

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
(proposed on rumpkernel-users; very minor modification by myself)
2014-06-20 11:57:56 +00:00
pooka
d0e2f6013a Remove old HAVE_SUN_LD compat handling, it was there long enough. 2014-04-25 11:49:16 +00:00
pooka
d6454414fd Add a RUMP_USE_CTOR compile-time switch. If defined, use
__attribute__((constructor)) to determine which rump kernel components
and kernel modules are linked into the rump kernel.  If not defined
(default), use the regular approach with link sets.

This option is aimed to fix problems with toolchains where using link
sets is not possible because the linker does not generate the requisite
__start/__stop symbols for the link set sections (e.g. GNU gold, OS X, ...).
2014-04-23 23:25:45 +00:00
pooka
e9c74271a7 add multi-inclusion protection 2014-04-15 13:41:46 +00:00
pooka
85a5ecc11a Introduce RUMP_CURLWP compile option to select curlwp scheme.
Default is still "hypercall".
2014-03-16 15:31:03 +00:00
pooka
8a0d17b921 Allow RUMP_LDSCRIPT itself to be used to specify which ldscript to use.
HAVE_SUN_LD will be deprecated in the future.
2014-03-16 14:02:06 +00:00
pooka
35bcd6f8af Allow compile-time optimizations to curlwp. This can have a pretty
staggering impact on performance.  When running sendto() in a loop,
the improvement is 200k more calls per second with an inlined __thread
curlwp as opposed to the default.  In other words, it shaves off hundreds
of CPU cycles per call (~20%).  Even just eliminating the x86_curlwp()
call in favor of an inline gives an improvement of 60k calls per second.
2014-03-15 15:15:26 +00:00
pooka
9cb7eaee42 Allow multiple "rumpcomp_user" source modules to be specified by
introducing RUMPCOMP_USER_SRCS.  Make RUMPCOMP_USER issue a deprecation
warning, but for compat make it set RUMPCOMP_USER_SRCS=rumpcomp_user.c
for now.
2014-03-13 01:34:06 +00:00
pooka
495782ee0e Move the "is arch capable of loading native kernel modules into
rump kernel" clauses from bsd.own.mk to Makefile.rump.  Also,
add a rump_nativeabi_p() call to determine if rump kernel is
compiled with native ABI support.
2014-03-10 22:38:53 +00:00
pooka
0ba40768c8 Make ktrace a compile-time option 2013-12-09 17:57:11 +00:00
pooka
5624f8eb6b Support ktrace for rump kernels.
Requested by Justin Cormack on rumpkernel-users.
2013-12-09 16:54:20 +00:00
pooka
fb19198452 RUMPCOMP_USEROBJ -> RUMPOBJ_NORENAME
Widens the implied usage scope of the variable.
2013-09-03 19:57:02 +00:00
pooka
74f1a93841 Rename RUMPTEST_BUILDSH to RUMPKERN_ONLY. Turns out not building any
POSIX implementations of hypercalls is useful beyond the build.sh test,
such as when building rump kernels for non-POSIX hosts.
2013-08-30 10:29:06 +00:00
joerg
3dcc4e8c7d The linker script is the argument of -T, so keep them together. 2013-08-05 16:00:57 +00:00
pooka
c5876c964f COMPAT_60 for rump kernels.
Requested via github (buildrump.sh)
2013-07-16 19:07:54 +00:00
pooka
5fcb2ebcb0 Fix pasto: BUILDRUMP_CPPFLAGS was used twice. 2013-07-09 17:49:37 +00:00
pooka
aa90974447 Apparently warning flags are not kept in CWARNFLAGS. Compensate. 2013-07-04 10:14:04 +00:00
pooka
e0ab611267 fix "build.sh rumptest" wrt private hypercalls 2013-04-28 12:54:39 +00:00
pooka
aa83835eae Build only rumpcomp_user.c as part of the rumpcomp_user rules
(otherwise ioconf.c wants to be part of .ALLSRC for whatever reason
I'm not really interested in, but which the make gurus will surely
explain to me)
2013-04-28 10:25:04 +00:00
pooka
3ca96abf17 Allow to completely skip the ldscript, useful for linkers that don't need one. 2013-04-27 12:51:45 +00:00
christos
86f7664c95 fix typo 2013-03-17 01:13:00 +00:00
christos
9a96afddbd order too 2013-03-16 23:51:39 +00:00
christos
8ef63ebd7d uniquefy, really should fix this so there are no dup rules. 2013-03-16 23:37:43 +00:00
christos
d9f1763a86 Fix the build w/o DESTDIR 2013-03-16 21:38:21 +00:00
pooka
11005b1248 one more typofix 2013-03-15 12:42:18 +00:00
pooka
7c87fb3f1e On second thought, let's use make syntax in makefiles ... 2013-03-15 12:18:41 +00:00
pooka
062b5be071 Use correct ldscript etc. for Sun ld. 2013-03-15 12:15:52 +00:00