#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#

menuconfig BENCHMARK_COREMARK
	tristate "CoreMark Benchmark"
	select LIBC_FLOATINGPOINT
	default n
	---help---
		Enable support for the EEMBC's CoreMark benchmark application.

if BENCHMARK_COREMARK

config COREMARK_PROGNAME
	string "CoreMark program name"
	default "coremark"
	---help---
		This is the name of the program that will be used when the NSH ELF
		program is installed.

config COREMARK_PRIORITY
	int "CoreMark task priority"
	default 100

config COREMARK_STACKSIZE
	int "CoreMark task stack size"
	default 4096

config COREMARK_SEED_METHOD
	int "Coremark Seed Method"
	default 2
	---help---
		Set Coremark Seed Method:
		0: SEED_ARG
		1: SEED_FUNC
		2: SEED_VOLATILE

config COREMARK_MEM_METHOD
	int "Coremark Memory Method"
	default 1
	---help---
		Set Coremark Memory Method:
		0: MEM_STATIC
		1: MEM_MALLOC
		2: MEM_STACK

config COREMARK_DEBUG
	int "Coremark Core Debug"
	default 0
	---help---
		Enable the Core Debug:
		0: Disable
		1: Enable

config COREMARK_PRINT_ARGS
	bool "Print CoreMark arguments when executing"
	default n
	---help---
		Print the command line arguments passed on to coremark.

config COREMARK_MULTITHREAD_OVERRIDE
	bool "Override number of threads"
	default n
	---help---
		Override the default number of threads to be executed.
		The default value is the same as the number of CPU cores.

config COREMARK_MULTITHREAD_COUNT
	depends on COREMARK_MULTITHREAD_OVERRIDE
	int "Number of threads to be executed"
	default 1

config COREMARK_ITERATIONS_OVERRIDE
	bool "Override number of iterations"
	default n
	---help---
		Override the default number of iterations for the benchmark.
		The default value is defined by the application based on the system.

config COREMARK_ITERATIONS_COUNT
	depends on COREMARK_ITERATIONS_OVERRIDE
	int "Number of iterations"
	default 100

endif # BENCHMARK_COREMARK
