Patent ID: 8732806

Claim:
A method performed by an integrated circuit, comprising: booting up securely, based on boot code stored in secure boot read-only memory, wherein the booting up securely comprises: configuring modules in the integrated circuit into known secure states, and authenticating secondary boot instructions stored in open boot read-only memory; subsequent to the integrated circuit booting up securely, executing the secondary boot instructions; due to the executing the secondary boot instructions, operating in a secure mode; while operating in the secure mode, transitioning to an open mode of operation after a period of time, based on instructions that ensure that the integrated circuit is in a known secure state prior to enabling access to secure information, wherein the instructions that ensure that the integrated circuit is in a known secure state ensure that buffers and caches are emptied and that pending reads and writes to and from memory have been completed or canceled; subsequent to the transitioning to the open mode, determining whether the transitioning to the open mode was completed before a timeout; rebooting the integrated circuit due to determining that a timeout occurred during the transition to the open mode, otherwise operating in the open mode; while operating in the open mode, transitioning back to the secure mode of operation after a period of time; subsequent to the transitioning back to the secure mode, determining whether the transitioning back to the secure mode was completed before a timeout; and rebooting the integrated circuit due to determining that a timeout occurred during the transition back to the secure mode, otherwise operating in the secure mode.