summaryrefslogblamecommitdiff
path: root/nuttx/mm/Kconfig
blob: 2e5bc95db8fe8438ac6bba41f892f02e0a91c20c (plain) (tree)
1
2
3
4
5

                                                             
                                      
 
 











                                                                                      


























                                                                                    





























                                                                                     
#
# For a description of the syntax of this configuration file,
# see misc/tools/kconfig-language.txt.
#

config MM_SMALL
	bool "Small memory model"
	default n
	---help---
		Each memory allocation has a small allocation overhead.  The size
		of that overhead is normally determined by the "width" of the
		address support by the MCU.  MCUs that support 16-bit addressability
		have smaller overhead than devices that support 32-bit addressability.
		However, there are many MCUs that support 32-bit addressability *but*
		have internal SRAM of size less than or equal to 64Kb.  In this case,
		CONFIG_MM_SMALL can be defined so that those MCUs will also benefit
		from the smaller, 16-bit-based allocation overhead.

config MM_REGIONS
	int "Number of memory regions"
	default 1
	---help---
		If the architecture includes multiple, non-contiguous regions of
		memory to allocate from, this specifies the number of memory regions
		that the memory manager must handle and enables the API
		mm_addregion(start, end);

config ARCH_HAVE_HEAP2
	bool

config HEAP2_BASE
	hex "Start address of second heap region"
	default 0x00000000
	depends on ARCH_HAVE_HEAP2
	---help---
		The base address of the second heap region.

config HEAP2_SIZE
	int "Size of the second heap region"
	default 0
	depends on ARCH_HAVE_HEAP2
	---help---
		The size of the second heap region.

config GRAN
	bool "Enable Granule Allocator"
	default n
	---help---
		Enable granual allocator support.  Allocations will be aligned to the
		granule size; allocations will be in units of the granule size.
		Larger granules will give better performance and less overhead but
		more losses of memory due to alignment and quantization waste.

		NOTE: The current implementation also restricts the maximum
		allocation size to 32 granaules.  That restriction could be
		eliminated with some additional coding effort.

config GRAN_SINGLE
	bool "Single Granule Allocator"
	default n
	depends on GRAN
	---help---
		Select if there is only one instance of the granule allocator (i.e.,
		gran_initialize will be called only once. In this case, (1) there
		are a few optimizations that can can be done and (2) the GRAN_HANDLE
		is not needed.

config DEBUG_GRAN
	bool "Granule Allocator Debug"
	default n
	depends on GRAN && DEBUG
	---help---
		Just like CONFIG_DEBUG_MM, but only generates ouput from the gran
		allocation logic.