# HG changeset patch # Parent e935aa7be785e718f89b02da5c4dd19cfff81b3d diff -r e935aa7be785 -r bd7329d84fc4 sys/conf/kern.pre.mk --- a/sys/conf/kern.pre.mk +++ b/sys/conf/kern.pre.mk @@ -79,18 +79,19 @@ INCLUDES+= -I$S/dev/cxgb -I$S/dev/cxgbe .endif CFLAGS= ${COPTFLAGS} ${C_DIALECT} ${DEBUG} ${CWARNFLAGS} CFLAGS+= ${INCLUDES} -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h +CFLAGS_PARAM_INLINE_UNIT_GROWTH?=100 +CFLAGS_PARAM_LARGE_FUNCTION_GROWTH?=1000 +.if ${MACHINE_CPUARCH} == "mips" +CFLAGS_ARCH_PARAMS?=--param max-inline-insns-single=1000 +.endif .if ${COMPILER_TYPE} != "clang" CFLAGS+= -fno-common -finline-limit=${INLINE_LIMIT} -.if ${MACHINE_CPUARCH} != "mips" -CFLAGS+= --param inline-unit-growth=100 -CFLAGS+= --param large-function-growth=1000 -.else -# XXX Actually a gross hack just for Octeon because of the Simple Executive. -CFLAGS+= --param inline-unit-growth=10000 -CFLAGS+= --param large-function-growth=100000 -CFLAGS+= --param max-inline-insns-single=10000 +CFLAGS+= --param inline-unit-growth=${CFLAGS_PARAM_INLINE_UNIT_GROWTH} +CFLAGS+= --param large-function-growth=${CFLAGS_PARAM_LARGE_FUNCTION_GROWTH} +.if defined(CFLAGS_ARCH_PARAMS) +CFLAGS+=${CFLAGS_ARCH_PARAMS} .endif .endif WERROR?= -Werror @@ -192,8 +193,8 @@ MKMODULESENV+= WITHOUT_MODULES="${WITHOU .if defined(DEBUG) MKMODULESENV+= DEBUG_FLAGS="${DEBUG}" .endif -# Are various things configured? +# Detect knerel config options that force stack frames to be turned on. DDB_ENABLED!= grep DDB opt_ddb.h || true ; echo DTR_ENABLED!= grep KDTRACE_FRAME opt_kdtrace.h || true ; echo HWPMC_ENABLED!= grep HWPMC opt_hwpmc_hooks.h || true ; echo diff -r e935aa7be785 -r bd7329d84fc4 sys/mips/cavium/std.octeon1 --- a/sys/mips/cavium/std.octeon1 +++ b/sys/mips/cavium/std.octeon1 @@ -2,4 +2,8 @@ # files "../cavium/files.octeon1" machine mips mips64 cpu CPU_CNMIPS + +makeoptions CFLAGS_PARAM_INLINE_UNIT_GROWTH=10000 +makeoptions CFLAGS_PARAM_LARGE_FUNCTION_GROWTH=100000 +makeoptions CFLAGS_ARCH_PARAMS="--param max-inline-insns-single=10000"