Patent ID: 7454547

Claim:
A method for exchanging data between a runtime environment application program and a firmware program executing in a system management mode (SMM) on a computer system having two or more processors, the method comprising: storing an input parameter for the firmware program in a register of a first one of the processors; generating a software system management interrupt (SMI) by way of the first processor; in response to the generation of the software SMI, saving the contents of the registers of all of the processors; identifying the processor that generated the SMI from within a system management mode; installing a table in the SMM that includes data identifying the processor that generated the SMI, the saved contents of the registers of all of the processors, and a globally unique identifier (GUID); locating the table using the GUID; identifying the registers of the processor that generated the SMI from the saved contents of the registers of all of the processors included in the table; searching the registers of the processor that generated the SMI included in the table to locate and retrieve the input parameter; and retrieving the input parameter from the saved contents of the registers of the processor that generated the software SMI interrupt included in the table.