Log-based hardware recovery. A checkpointed state of a system includes
both architectural register values and memory. The checkpoint consists of
a copy of the architectural register file values at the time the
checkpoint is generated. An ordered log of non-deterministic events is
maintained so that the responses can be repeated to simulate a complete
checkpoint for error recovery purposes. When a processor detects an
error, the processor reloads the state from the last checkpoint and
repeats the non-deterministic events from the log.