A method for secure execution of software prior to a computer system entering a reduced energy consumption state, the computer system having a processor incorporating system management capabilities, the computer system also having an application registrar maintained in protected system management memory and a stored table containing a modification detection value for programs contained in the application registrar, the computer system further including a power supply source, the method comprising the steps of:
- registering a program with the application registrar;
- generating a system management interrupt in response to a request to place the computer system in a reduced energy consumption state;
- placing the computer system in system management mode as a result of said step of generating a system management mode interrupt;
- and
- executing a system management interrupt handler upon entry into system management mode, wherein said execution of the system management interrupt handler comprises the steps of:
- generating a current modification detection value for the program registered with the application register;
- determining if the stored table contains a secure modification detection value for the registered program or file;
- retrieving the secure modification detection value if it exists in the stored table;
- comparing the current modification detection value to the secure modification detection value if it exists in the stored table;
- and
- permitting execution of the registered program if the secure modification detection value exists in the stored table and the current modification detection value matches the secure modification detection value.