Lines Matching refs:memory
6 tables based on a description of the memory layout, as well as setting up system
13 upon a description of the memory layout. The memory layout is typically
14 provided by the platform port as a list of memory regions;
20 on. This can be used to temporarily map some memory regions and unmap them
26 #. Support for changing memory attributes of memory regions at run-time.
62 An ``mmap_region`` is an abstract, concise way to represent a memory region to
77 The region attributes specify the type of memory (for example device or cached
78 normal memory) as well as the memory access permissions (read-only or
87 granule size, the library might map a 2MB memory region using either of the two
95 potentially less memory. However, if part of this 2MB region is later remapped
96 with different memory attributes, the library might need to split the existing
109 details can be found in `The memory mapping algorithm`_ section below).
114 the system will panic. Being register-based for deterministic memory-reference
115 timing, the MPU hardware does not involve memory-resident translation tables.
184 Static and dynamic memory regions
187 The library optionally supports dynamic memory mapping. This feature may be
190 When dynamic memory mapping is enabled, the library categorises mmap regions as
199 When the dynamic memory mapping feature is disabled, only static regions exist.
201 The dynamic memory mapping feature may be used to map and unmap transient memory
202 areas. This is useful when the user needs to access some memory for a fixed
203 period of time, after which the memory may be discarded and reclaimed. For
204 example, a memory region that is only required at boot time while the system is
205 initializing, or to temporarily share a memory buffer between the normal world
209 Although this feature provides some level of dynamic memory allocation, this
210 does not allow dynamically allocating an arbitrary amount of memory at an
211 arbitrary memory location. The user is still required to declare at compile-time
213 does not fit within this pre-allocated pool of memory.
272 library detects that there is insufficient memory to meet the request, or that
277 without adding the offending memory region.
300 translation tables contexts and mapping/unmapping memory regions. This module
318 translation tables and helpers to query memory attributes and to modify them.
336 is a request to map (resp. unmap) a memory region, it is added to (resp. removed
339 The mmap regions list is a conceptual way to represent the memory layout. At
348 in memory based on the list of mmap regions registered so far. This is an
356 The memory mapping algorithm
366 sub-table if it is strictly necessary. This is to reduce the memory footprint of
372 memory than expected. The reason is that all levels of translation are
413 Regarding enabling and disabling memory management, for the MPU library, to
419 regions are not allowed to overlap existing memory region. Therefore, if the
420 dynamic mapping request is deemed legitimate, it automatically concerns memory