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.
53 `mmap` regions
67 The user usually provides a list of such mmap regions to map and lets the
132 * The maximum number of `mmap` regions to map.
134 Should account for both static and dynamic regions, if applicable.
160 - number of `mmap` regions: ``MAX_MMAP_REGIONS``;
168 Static and dynamic memory regions
174 When dynamic memory mapping is enabled, the library categorises mmap regions as
177 - *Static regions* are fixed for the lifetime of the system. They can only be
181 - *Dynamic regions* can be added or removed any time.
183 When the dynamic memory mapping feature is disabled, only static regions exist.
190 and trusted world. Note that it is up to the caller to ensure that these regions
191 are not accessed concurrently while the regions are being added or removed.
221 disabled, there is no notion of dynamic regions. Conceptually, there are only
222 static regions. For this reason (and to retain backward compatibility with the
223 version 1 of the library), the APIs that map static regions do not embed the
225 contrast with the dynamic regions APIs (for example
228 Although the definition of static and dynamic regions is not based on the state
229 of the MMU, the two are still related in some way. Static regions can only be
231 called while the MMU is still off. As a result, static regions cannot be added
232 once the MMU has been enabled. Dynamic regions can be added with the MMU on or
237 #. Add some static regions, add some dynamic regions.
239 #. Initialize translation tables based on the list of mmap regions (using one of
242 #. At this point, it is no longer possible to add static regions. Dynamic
243 regions can still be added or removed.
247 #. Dynamic regions can continue to be added or removed.
249 Because static regions are added early on at boot time and are all in the
266 Dynamic regions are not allowed to overlap each other. Static regions are
283 translation tables contexts and mapping/unmapping memory regions. This module
314 From mmap regions to translation tables
318 information of all the regions that are mapped at any given time. Whenever there
322 The mmap regions list is a conceptual way to represent the memory layout. At
327 mmap regions list. Adding a static or dynamic region at this point through one
331 in memory based on the list of mmap regions registered so far. This is an
335 After the ``init_xlat_tables()`` API has been called, only dynamic regions can
336 be added. Changes to the translation tables (as well as the mmap regions list)
353 requires a finer granularity. Misaligned regions also require a finer
369 The mmap regions are sorted in a way that simplifies the code that maps
371 regions, it must also be applied for dynamic regions to maintain a consistent
372 order of all regions at all times. As each new region is mapped, existing
393 TLB invalidation is not required when adding dynamic regions either. Dynamic
394 regions are not allowed to overlap existing memory region. Therefore, if the
404 .. [#granularity] That is, when mmap regions do not enforce their mapping