Showing changes from revision #1 to #2:
Added | Removed | Changed
Entry | |
---|---|
R0 | 1 (reason code) |
R1 | Area number |
Exit | |
---|---|
R0 | Preserved |
R1 | Preserved |
The purpose of this call is to remove a previously created dynamic area.
Before the area is removed, it attempts to shrink it to zero size by calling OS_ChangeDynamicArea internally.
If OS_ChangeDynamicArea returns an error, then the area will be grown back to its original size using OS_ChangeDynamicArea, and this call will return with an error.
If OS_ChangeDynamicArea successfully reduced the area to zero size, then it will be removed.
Once the area has been removed Service_DynamicAreaRemove is issued to inform the rest of the system about this change.
An error is returned if the area was not removed for any reason.
Sparse areas shall be released via OS_DynamicArea 10 before removal. If the attempt fails, the area is not removed, but no attempt is made to restore the mapping distribution as before the removal.