Boot Linux faster!

Check our new training course

Boot Linux faster!

Check our new training course
and Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# 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_MPU_VER !=2
	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.
	  For ARC_MPU_VER == 2, it requires 2048 extra bytes and a strong start address
	  alignment, this will bring big waste of memory, so no support for it.

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