A digital
system is provided with a secure mode (3rd level of privilege) built in a non-invasive way on a processor
system that includes a processor core, instruction and data caches, a
write buffer and a
memory management unit. A secure execution mode is thus provided on a platform where the only trusted
software is the code stored in ROM. In particular the OS is not trusted, all native applications are not trusted. A secure execution mode is provided that allows virtual addressing when a
memory management unit (MMU) is enabled. The secure execution mode allows instruction and
data cache to be enabled. A secure execution mode is provided that allows all the
system interruptions to be unmasked. The secure mode is entered through a unique
entry point. The secure execution mode can be dynamically entered and exited with full hardware assessment of the entry / exit conditions. A specific set of entry conditions is monitored that account for caches,
write buffer and MMU being enabled. The structure of the activation sequence code accounts for caches,
write buffer and MMU being enabled. The structure of the exit sequences code accounts for caches, write buffer and MMU being enabled. A specific way is provided to manage a safe exit of secure mode under generic interruptions and allows return from interruption through
entry point and activation sequence and a proper resuming of the secure execution. A specific way is provided to manage the MMU in secure mode and provide
data exchange between secure and non-secure environment.