A.8.38 CADI::CADIExecReset()

This call provides a simulation level reset.

On receipt of this call, the target:

  • Resets its execution-related internal state.
  • Resets its registers to their initial state.
  • Does not change breakpoints or callbacks.
virtual CADIReturn_t CADI::CADIExecReset(uint32_t resetLevel) = 0;

resetLevel must be one of the numbers provided in the resetLevels array received by CADIExecGetResetLevels().

On receiving this call, the target resets its execution-related internal state. It resets registers and memories to a predefined state, but does not change breakpoints or callbacks.

This call provides a generic reset interface that is independent of the actual model implementation. For example, a debugger can use this call to reset the simulation of a model, system, or subsystem that does not implement an explicit simulation-level reset mechanism.

The list of reset levels is target-specific:

  • Reset level 0 has fixed semantics and must be implemented by every target. This reset level brings the simulation platform back into the same state as immediately after instantiation. This state must be known, to enable deterministic behavior of the platform after each reset.
  • All reset levels other than 0 are model-specific. The reset levels supported depend on the model implementation.

CADIExecReset() is an asynchronous call. After the reset finishes, the target sends a modeChange(CADI_EXECMODE_ResetDone) callback to all connected debuggers. The reset might be finished at the time that CADIExecReset() returns.

Non-ConfidentialPDF file icon PDF version100963_0200_03_en
Copyright © 2014–2018 Arm Limited or its affiliates. All rights reserved.