40 lines
1.2 KiB
Plaintext
40 lines
1.2 KiB
Plaintext
# 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 6
|
|
default 2
|
|
help
|
|
ARC MPU has several versions. For MPU v2, the minimum region is 2048 bytes;
|
|
For other versions, the minimum region is 32 bytes; v4 has secure features,
|
|
v6 supports up to 32 regions.
|
|
|
|
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 != 4
|
|
select MPU_REQUIRES_POWER_OF_TWO_ALIGNMENT if ARC_MPU_VER !=4
|
|
select MPU_REQUIRES_NON_OVERLAPPING_REGIONS if ARC_MPU_VER = 4
|
|
help
|
|
Target has ARC MPU (currently only works for EMSK 2.2/2.3 ARCEM7D)
|