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

config HAS_CMSIS_CORE
	bool
	select HAS_CMSIS_CORE_M if CPU_CORTEX_M
	select HAS_CMSIS_CORE_R if CPU_CORTEX_R

if HAS_CMSIS_CORE

config HAS_CMSIS_CORE_M
	bool

config HAS_CMSIS_CORE_R
	bool

endif
