| |||
| Home > RVISS Reference > Coprocessor model interface > MRRC | |||
This function is called when an MRRC instruction
is recognized for a coprocessor.
The function must return ARMul_CP_CANT if:
the requested coprocessor register does not exist
the requested coprocessor register cannot be read from
the coprocessor is ARMv4T or earlier.
unsigned MRRC(void *handle, inttype, ARMwordinstr, ARMword *data)
where:
handleis the handle from ARMulif_InstallCoprocessorV5.
typeis the type of the coprocessor access. This can be one of:
ARMul_CP_FIRSTindicates that this is the first time the coprocessor model has been called for this instruction.
ARMul_CP_BUSYindicates that this is a subsequent call, after the first call was busy-waited.
ARMul_CP_INTERRUPTwarns the coprocessor that the ARM processor is about
to service an interrupt, so the coprocessor must discard the current
instruction. Usually, the instruction is retried later, in which
case the is reset
to typeARMul_CP_FIRST.
ARMul_CP_DATAindicates valid data is included in .data
instris the current opcode.
datais a pointer to the data being transferred from the coprocessor.