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 AbortTrap (changes)

Showing changes from revision #0 to #1: Added | Removed | Changed

OS_DynamicArea
» Dynamic Area Handler Code
» Dynamic Area AbortTrap
Entry
R0 5 (Dynamic Area handler reason)
R1 AbortTrap reason code + flags
R2 Pointer to buffer to use as data source (AbortTrap reason 0) or destination (AbortTrap reason 1). Invalid for memmap requests (AbortTrap reason 2).
R3 Base address of memory being accessed
R4 Length of memory being accessed (bytes)
R5 Current end address of allocated portion of dynamic area (invalid for sparse or PMP areas)
R12 Workspace pointer passed to OS_DynamicArea 0 or base of area
Exit
R4 Amount of data processed (= entry R4 if all processed)
- All other registers preserved

Use

The purpose of this call is to allow dynamic areas to respond to AbortTrap requests. R1-R4 are equivalent to the AbortTrap handler R0-R3, and the Dynamic Area handler is expected to fulfil the request in the same way as an AbortTrap handler would.

If the handler returns an error, it will be passed back to the OS as the result of the AbortTrap handler call. This means that handlers can raise serious errors in the same way as normal AbortTrap handlers.

If the handler returns the “default error” (V set and R0=0), behaviour will be as if a non-serious error had been returned.

If the handler doesn’t return an error, but R4 indicates that the request wasn’t fully handled, then a non-serious error will be returned to the AbortTrap system.

See also

  • Abortable Dynamic Areas
  • OS_AbortTrap
Created on July 30, 2021 21:03:23 by Jeffrey Lee (213) (81.141.71.12)
Edit | Views: Print | Source | Linked from: Abortable Dynamic Areas, 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