Showing changes from revision #0 to #1:
Added | Removed | Changed
Entry | |
---|---|
R0 | 23 (reason code) |
R1 | Area number |
R2 | Resize amount (positive/negative page count) |
Exit | |
---|---|
R2 | Amount size of area has changed by (unsigned page count) |
This call is used to alter the maximum physical size of a Physical Memory Pool.
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.