# Copyright (c) 2018 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

config CMSIS_RTOS_V1
	bool "CMSIS RTOS v1 API"
	depends on THREAD_CUSTOM_DATA
	depends on POLL
	depends on THREAD_STACK_INFO
	select THREAD_ABORT_HOOK
	help
	  This enables CMSIS RTOS v1 API support. This is an OS-integration
	  layer which allows applications using CMSIS RTOS APIs to build on
	  Zephyr.

if CMSIS_RTOS_V1

config CMSIS_THREAD_MAX_STACK_SIZE
	int "Max stack size threads can be allocated in CMSIS RTOS application"
	default 4096 if COVERAGE_GCOV
	default 512
	help
	  Mention max stack size threads can be allocated in CMSIS RTOS application.

config CMSIS_TIMER_MAX_COUNT
	int "Maximum timer count in CMSIS application"
	default 5
	range 0 255
	help
	  Mention maximum number of timers in CMSIS compliant application.

config CMSIS_MUTEX_MAX_COUNT
	int "Maximum mutex count in CMSIS application"
	default 5
	range 0 255
	help
	  Mention maximum number of mutexes in CMSIS compliant application.

config CMSIS_SEMAPHORE_MAX_COUNT
	int "Maximum semaphore count in CMSIS application"
	default 5
	range 0 255
	help
	  Mention maximum number of semaphores in CMSIS compliant application.

endif
