RISC OS Open
Safeguarding the past, present and future of RISC OS for everyone
ROOL
Home | News | Downloads | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

Dynamic Area ResizePMP

OS_DynamicArea
» Dynamic Area Handler Code
» Dynamic Area ResizePMP
Entry
R0 6 (handler reason)
R1 Requested change amount (signed page count)
R2 Dynamic area number
R12 Workspace pointer passed to OS_DynamicArea 0 or base of area
Exit
All registers preserved
V set to report an error: R0 must be a pointer to an error block, or 0 for a generic error

Use

When OS_ChangeDynamicArea is called on a Physical Memory Pool, the kernel will call this entry point in order to allow the PMP to perform the grow/shrink operation itself. The routine is expected to grow/shrink the physical size of the PMP (via OS_DynamicArea 21) by the requested number of pages; on exit from the routine the kernel will calculate the R1 return value for OS_ChangeDynamicArea by looking at how much the physical size of the PMP has changed (i.e. by looking at the R6 value of OS_DynamicArea 24).

If a PMP does not want to support resizing via OS_ChangeDynamicArea then it can simply return with an error. For this case it’s also recommended that the “Area may not be dragged by user” flag is set (bit 7).

See also

  • Dynamic Area Handler Code
  • Physical Memory Pool
  • OS_DynamicArea
Created on August 12, 2016 14:02:20 by Jeffrey Lee (213) (5.148.5.244)
Edit | Views: Print | Source | Linked from: Dynamic Area Handler Code

Search the Wiki

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
Site design © RISC OS Open Limited 2018 except where indicated
The RISC OS Open Instiki theme is based on Insitki's default layout

Valid XHTML 1.0  |  Valid CSS

Instiki 0.19.1(MML+)
This site runs on Rails

Hosted by Arachsys