# Kconfig - Memory Protection Unit (MPU) configuration options

#
# Copyright (c) 2017 Synopsys
#
# SPDX-License-Identifier: Apache-2.0
#
config ARC_MPU_VER
	int "ARC MPU version"
	range 2 4
	default 2
	help
	  ARC MPU has several versions. For MPU v2, the minimum region is 2048 bytes;
	  For MPU v3, the minimum region is 32 bytes

config ARC_CORE_MPU
	bool "ARC Core MPU functionalities"
	help
	  ARC core MPU functionalities

config MPU_STACK_GUARD
	bool "Thread Stack Guards"
	depends on ARC_CORE_MPU && !ARC_STACK_CHECKING
	help
	  Enable thread stack guards via MPU. ARC supports built-in stack protection.
	  If your core supports that, it is preferred over MPU stack guard

config ARC_MPU
	bool "ARC MPU Support"
	select ARC_CORE_MPU
	select THREAD_STACK_INFO
	select MEMORY_PROTECTION
	select MPU_REQUIRES_POWER_OF_TWO_ALIGNMENT if ARC_MPU_VER = 2
	help
	  Target has ARC MPU (currently only works for EMSK 2.2/2.3 ARCEM7D)
