1. A computer implemented method for restoring a secured program, the method comprising: setting a special purpose processor core in an isolation mode, wherein the special purpose processor core is included in a heterogeneous processor that includes the isolated special purpose processor core and one or more general purpose processor cores that can each access a shared memory, and wherein the isolated special purpose processor core includes a local memory that is inaccessible from the other heterogeneous processing cores while the special purpose processor core is running in the isolation mode; storing in the shared memory, by one of the general purpose processor cores, an identifier corresponding to the secured program; retrieving from the shared memory, by the isolated special purpose processor core, the identifier corresponding to the secured program; retrieving from the shared memory, by the isolated special purpose processor core, an encrypted context corresponding to the identifier; decrypting the encrypted context using an encryption key; storing the decrypted context in the isolated special purpose processor core's local memory, the decrypted context including the restored secured program; verifying context integrity using a persistent security data that is retrieved from a secure location; and executing instructions included in the restored secured program in response to the verification.