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.