# Kconfig - debug configuration options # # Copyright (c) 2015 Wind River Systems, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # menu "Safe memory access" config MEM_SAFE bool prompt "Enable safe memory access" default n help Add the routines available in mem_safe.h to the system. This is added as a kconfig option instead of simply linking against the library because some implementations might require initialization. choice prompt "Safe memory access implementation" default MEM_SAFE_CHECK_BOUNDARIES config MEM_SAFE_CHECK_BOUNDARIES bool prompt "Software validation of memory access within memory regions" help This implementation checks the application image's text/rodata boundaries for its read-only region and the data/bss/noinit boundaries for its read-write region, in software. Other regions can be added as needed by using the sys_mem_safe_region_add() API. The number of regions that can be added is controlled via the MEM_SAFE_NUM_REGIONS kconfig option. This implementation requires initialization and thus consumes some boot time. endchoice config MEM_SAFE_NUM_EXTRA_REGIONS int prompt "Number of safe memory access regions that can be added at runtime" depends on MEM_SAFE_CHECK_BOUNDARIES default 0 help The functions available in mem_safe.h check if memory is within read-only or read-write regions before accessing it instead of crashing. The kernel image is added as a valid region automatically, but other regions can be added if the application makes access to additional memory outside of the image's boundaries. endmenu