Lines Matching refs:regions

14    provided by the platform port as a list of memory regions;
19 #. Support for dynamic mapping and unmapping of regions, even while the MMU is
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.
59 `mmap` regions
73 The user usually provides a list of such mmap regions to map and lets the
148 * The maximum number of `mmap` regions to map.
150 Should account for both static and dynamic regions, if applicable.
176 - number of `mmap` regions: ``MAX_MMAP_REGIONS``;
184 Static and dynamic memory regions
190 When dynamic memory mapping is enabled, the library categorises mmap regions as
193 - *Static regions* are fixed for the lifetime of the system. They can only be
197 - *Dynamic regions* can be added or removed any time.
199 When the dynamic memory mapping feature is disabled, only static regions exist.
206 and trusted world. Note that it is up to the caller to ensure that these regions
207 are not accessed concurrently while the regions are being added or removed.
235 to define regions for the MPU library is strongly recommended.
238 disabled, there is no notion of dynamic regions. Conceptually, there are only
239 static regions. For this reason (and to retain backward compatibility with the
240 version 1 of the library), the APIs that map static regions do not embed the
242 contrast with the dynamic regions APIs (for example
245 Although the definition of static and dynamic regions is not based on the state
246 of the MMU, the two are still related in some way. Static regions can only be
248 called while the MMU is still off. As a result, static regions cannot be added
249 once the MMU has been enabled. Dynamic regions can be added with the MMU on or
254 #. Add some static regions, add some dynamic regions.
256 #. Initialize translation tables based on the list of mmap regions (using one of
259 #. At this point, it is no longer possible to add static regions. Dynamic
260 regions can still be added or removed.
264 #. Dynamic regions can continue to be added or removed.
266 Because static regions are added early on at boot time and are all in the
283 Dynamic regions are not allowed to overlap each other. Static regions are
300 translation tables contexts and mapping/unmapping memory regions. This module
331 From mmap regions to translation tables
335 information of all the regions that are mapped at any given time. Whenever there
339 The mmap regions list is a conceptual way to represent the memory layout. At
344 mmap regions list. Adding a static or dynamic region at this point through one
348 in memory based on the list of mmap regions registered so far. This is an
352 After the ``init_xlat_tables()`` API has been called, only dynamic regions can
353 be added. Changes to the translation tables (as well as the mmap regions list)
370 requires a finer granularity. Misaligned regions also require a finer
386 The mmap regions are sorted in a way that simplifies the code that maps
388 regions, it must also be applied for dynamic regions to maintain a consistent
389 order of all regions at all times. As each new region is mapped, existing
395 directly maps regions by "base" and "limit" (bottom and top) addresses.
418 TLB invalidation is not required when adding dynamic regions either. Dynamic
419 regions are not allowed to overlap existing memory region. Therefore, if the
429 .. [#granularity] That is, when mmap regions do not enforce their mapping