Patent ID: 8234506

Claim:
A method comprising: in response to a user initiating a suspend-to-memory signal, firmware blocking suspension to memory, where the memory comprises a secure memory area and an unsecure memory area divided by a secure memory boundary separating a first part of the memory from a second part of the memory, such that the first part of the memory to a first side of the secure memory boundary is considered the secure memory area and such that the second part of the memory to a second side of the secure memory boundary is considered the unsecured memory area; the firmware determining whether unsecure system software or secure system software is currently being run on one or more processors, where the unsecure system software is unsecure in that whether the unsecure system software has been tampered with cannot be determined, and where the secure system software is secure in that the secure system software is digitally signed such that whether the secure system software has not been tampered with can be detected, where the unsecure system software is currently being run, the firmware moving the secure memory boundary so that the secure system software is within the unsecure memory area of the memory, where before the secure system software was within the secure memory area of the memory, such that the secure system software itself is not moved within the memory; the firmware passing control to the secure system software so that the processors run the secure system software such that the secure system software cannot be tampered with by the unsecure system software due to the unsecure system software no longer being run on the processors; where the secure system software is currently being run, the firmware moving the secure memory boundary so that the secure system software is within the secure memory area of the memory, where before the secure system software was within the unsecure memory area of the memory, such that the secure system software itself is not moved within the memory; and, the firmware passing control to the unsecure system software so that the processors run the unsecure system software such that the secure system software cannot be tampered with by the unsecure system software due to the secure system software being stored within the secure memory area of the memory.