h6. [[OS_DynamicArea]] h6(. » OS_DynamicArea 23 h2. OS_DynamicArea 23 h5. (SWI &66) |_<^{width:3em}. Entry | | |<^. R0 |<^. 23 (reason code) | |<^. R1 |<^. Area number | |<^. R2 |<^. Resize amount (positive/negative page count) | |_<^{width:3em}. Exit | | |<^. R2 |<^. Amount size of area has changed by (unsigned page count) | h4. Use This call is used to alter the maximum physical size of a [[Physical Memory Pool]]. h4. Notes This allows you to change the value of R9 that was passed to [[OS_DynamicArea 0]] when the PMP was created. Compared to regular dynamic areas, PMPs have extra memory overheads that are directly related to the maximum physical size of the area. So for large PMPs which may spend most of their time empty (e.g. RAMFS) it’s recommended to dynamically adjust the physical size of the PMP to avoid wasting memory. Note that when shrinking a PMP, the shrink will only succeed if the last N entries of the page list are unclaimed pages. If there are pages allocated then they must be released first (via [[OS_DynamicArea 21]]. If the SWI returns an error, R2 will still have been updated to indicate the amount of the change that succeeded. h4. See also * [[OS_DynamicArea]] * [[OS_DynamicArea 21]] * [[Physical Memory Pool]]