1. A computer implemented method for managing a context of a secure program loader, the method comprising: receiving an interrupt from a general purpose processor core at a special purpose processor core that is running in an isolation mode and executing a secured program, wherein: a heterogeneous processor includes the isolated special purpose processor core and the general purpose processor core that can each access a shared memory; and the isolated special purpose processor core includes a local memory that is inaccessible from the general purpose processor core; encrypting the secured program's context using a first randomly generated encryption key; storing the secured program's encrypted context to the shared memory using a secure loader; updating the secure loader's context with the first randomly generated encryption key; and saving the secure loader's context to the shared memory, the saving of the secure loader's context including: generating a random persistent security data, wherein the random persistent security data is a second randomly generated encryption key; encrypting the secure loader's context using the persistent security data, wherein the secure loader's context includes a program counter that corresponds to a location in the secured program where the secured program was interrupted; storing the secure loader's encrypted context in the shared memory; and storing the persistent security data in a persistent storage register.