Optimization of SMI handling and initialization
First Claim
1. A method comprising:
- receiving a first system management interrupt (SMI);
handling the first SMI with a first processor;
generating a wake-up signal with the first processor;
awakening a second processor, based on the wake-up signal from the first processor; and
handling the first SMI with a second processor.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for efficient memory allocation and system management interrupt (SMI) handling is herein described. Upon waking a second processor in a multiple processor system, one may use a single SMI to initialize each processor, may use the location of a single default SMI handler as a wake-up vector to the second processor, and may patch an instruction pointer to a non-aligned address during the handling of the SMI with the second processor to forgo the traditional extra aligned memory allocation. In addition, one may use unified handler code to handle software generated SMIs on both the first and second processors and may use exit SMM directly after handling a hardware SMI to save execution time.
71 Citations
61 Claims
-
1. A method comprising:
-
receiving a first system management interrupt (SMI);
handling the first SMI with a first processor;
generating a wake-up signal with the first processor;
awakening a second processor, based on the wake-up signal from the first processor; and
handling the first SMI with a second processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
receiving a first system management interrupt (SMI);
executing code at a first memory address with a first processor in response to the first SMI;
generating a wake-up signal with the first processor;
awakening a second processor, based on a wake-up signal from the first processor; and
executing the code at the first memory address with the second processor. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A method comprising:
-
receiving an system management interrupt;
executing a SMI handler to handle a SMI for a first processor; and
executing the SMI handler to handle the SMI for a second processor. - View Dependent Claims (27, 28, 29, 30, 31)
-
-
32. A method comprising:
-
executing system management interrupt (SMI) code with a first processor to handle a SMI for the first processor;
checking if the SMI is a software generated SMI; and
executing the SMI code to handle the SMI for a second processor, if the SMI is software generated. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39)
-
-
40. An apparatus comprising:
-
a controller to generate a first system management interrupt (SMI);
a first logical processor, coupled to the controller, to generate a first SMI to handle the first SMI and generate a wake-up signal; and
a second logical processor, coupled to the controller, to handle the first SMI after the wake-up signal is received from the first logical processor. - View Dependent Claims (41, 42, 43, 44)
-
-
45. A system comprising:
-
a controller hub to generate a first system management interrupt (SMI);
a memory with a first memory address that contains code;
a first processor coupled to the controller hub to handle the first SMI, wherein the first processor executes the code at the first memory address and generates a wake-up signal; and
a second processor coupled to the controller hub to handle the first SMI after receiving the wake-up signal, wherein the second processor executes the code at the first memory address. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52, 53)
-
-
54. An system comprising:
-
a memory with a first memory address having system management interrupt (SMI) code;
a first processor to execute the SMI code when a SMI is received; and
a second processor to execute the SMI code, if the SMI is software generated. - View Dependent Claims (55, 56, 57, 58, 59, 60, 61)
-
Specification