mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-12-26 17:18:24 +00:00
* [MM] Fixup MM 1. Fixup some LOG_D args. 2. Stop installing page when `rt_aspace_map_phy` fail. * [MM] Support page MPR dynamic size For RISC-V or dynamic address space arch in the future. Signed-off-by: GuEe-GUI <2991707448@qq.com>
60 lines
1.9 KiB
Plaintext
60 lines
1.9 KiB
Plaintext
menu "Memory management"
|
|
|
|
config RT_PAGE_MPR_SIZE_DYNAMIC
|
|
bool "Page MPR size is dynamic"
|
|
default n
|
|
help
|
|
Some platforms' virtual address width is not a compile-time constant
|
|
and must be determined dynamically at runtime.
|
|
|
|
config RT_PAGE_AFFINITY_BLOCK_SIZE
|
|
hex "Affinity block size in bytes for page management"
|
|
default 0x1000
|
|
help
|
|
Page affinity block can be used to resolve the VIPT aliasing problem.
|
|
It should be set to `1ul << ((index + block) - page_offset)` in this case.
|
|
You could also exploit this as a tunning for cache coloring.
|
|
|
|
config RT_PAGE_MAX_ORDER
|
|
int "Max order of pages allocatable by page allocator"
|
|
default 11
|
|
depends on ARCH_MM_MMU
|
|
help
|
|
For example, A value of 11 means the maximum chunk of contiguous memory
|
|
allocatable by page system is 2^(11 + ARCH_PAGE_BITS - 1) Bytes.
|
|
Large memory requirement can consume all system resource, and should
|
|
consider reserved memory instead to enhance system endurance.
|
|
Max order should at least satisfied usage by huge page.
|
|
|
|
config RT_USING_MEMBLOCK
|
|
bool "Using memblock"
|
|
default n
|
|
help
|
|
Using memblock to record memory infomation in init time
|
|
|
|
config RT_INIT_MEMORY_REGIONS
|
|
int "The max number of memory block regions in init time"
|
|
depends on RT_USING_MEMBLOCK
|
|
range 1 1024
|
|
default 128
|
|
help
|
|
During the system initialization phase, the kernel divides
|
|
memory into different types of regions. This variable specifies
|
|
the maximum number of regions supported by the system.
|
|
|
|
menu "Debugging"
|
|
config RT_DEBUGGING_ALIASING
|
|
bool "Using aliasing paging debugger"
|
|
default n
|
|
|
|
config RT_DEBUGING_PAGE_LEAK
|
|
bool "Using page leaking tracer"
|
|
default n
|
|
|
|
config RT_DEBUGGING_PAGE_POISON
|
|
bool "Using page poisoner to detect illegal usage"
|
|
default n
|
|
endmenu
|
|
|
|
endmenu
|