12.11. Upcalls

The ARMulator can be made to call back your model when some state values change. You do this by installing the relevant upcall. In the context of the ARMulator, the term upcall is synonymous with callback.

You must provide implementations of the upcalls if you want to use them in your own models. See the implementations in the ARM supplied models for examples.

You can use upcalls to avoid having to check state values on every access. For example, a memory model is expected to present the ARM core with data in the correct endianness for the value of the ARM processor bigend signal. A memory model can attach to the ConfigChangeUpcall() upcall to be informed when this signal changes.

Every upcall is called when the ARMulator resets and after ARMulator initialization is complete, regardless of whether the signals have changed, with the exception of UnkRDIInfoUpcall().

The upcalls are defined in armdefs.h. The following upcalls are described in the sections below:

Refer to Installing and removing upcalls for information on how to install and remove the upcalls.

Copyright © 1997, 1998 ARM Limited. All rights reserved.ARM DUI 0041C
Non-Confidential