IP Library Granted Patent US 8,151,027
Granted Patent B2
US 8,151,027 · App. 12/384,725 · Granted Apr 3, 2012

System management mode inter-processor interrupt redirection

Assignee: Intel Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,151,027
App. No.
12/384,725
Granted
Apr 3, 2012
Kind
B2
Abstract

A method, processor, and system are disclosed. In one embodiment method includes a first processor core among several processor cores entering into a system management mode. At least one of the other additional processor cores apart from the first processor core remain operational and do not enter the system management mode. Then, once in the system management mode, the first processor core responds to an inter-processor interrupt.

Claims (52)

1. A method, comprising:

a plurality of processor cores, residing within a single processor, receiving a first broadcast system management interrupt instructing all cores to enter a system management mode;

the plurality of processor cores entering into the system management mode in response to receiving the first broadcast system management interrupt;

the plurality of processor cores receiving a second broadcast system management interrupt instructing all cores that are not busy performing one or more tasks within the system management mode to exit the system management mode; and

at least a first processor core, comprising one of the plurality of processor cores, exiting the system management mode in response to determining that it is not busy performing one or more tasks within the system management mode.

2. The method of claim 1 , further comprising:

after the first processor core has entered the system management mode,

saving an interrupt descriptor table to allow processing of interrupts by the first processor core; and

enabling inter-processor interrupts to the first processor core.

3. The method of claim 2 , further comprising:

after the first processor core has received an inter-processor interrupt,

saving a current system context for the first processor core into a memory;

setting up a new super-jump system context for the first processor core to be used upon a super-jump;

performing a super-jump to an operating system inter-processor interrupt handler location; and

executing the operating system inter-processor interrupt handler.

4. The method of claim 3 , further comprising:

after the execution of the operating system inter-processor interrupt handler,

returning to the pre-super-jump location;

restoring the current system context for the first processor core from the memory; and

exiting the first processor core from the system management mode.

5. The method of claim 3 , further comprising:

securely measuring an operating system that controls the operating system inter-processor interrupt handler with a system management interrupt transfer monitor prior to allowing the operating system to gain control and execute the handler; and

upon the measurement, the system management interrupt transfer monitor transferring control to the operating system.

6. The method of claim 3 , further comprising:

setting a bit in a machine specific register of the first processor core in response to the inter-processor interrupt to include one or more first processor core control registers and a first processor core global descriptor table register in a context switch associated with the super-jump.

7. A first core in a processor, to:

receive a first broadcast system management interrupt instructing all cores within the processor to enter a system management mode;

enter into the system management mode in response to receiving the first broadcast system management interrupt;

receive a second broadcast system management interrupt instructing all cores within the processor that are not busy performing one or more tasks within the system management mode to exit the system management mode;

determine that the first core is not busy performing the one or more tasks;

exit system management mode in response to determining that the first core is not busy performing the one or more tasks; and

wherein at least one other core in the processor is busy performing the one or more tasks and remains in the system management mode after receiving the second broadcast system management interrupt.

8. The first core of claim 7 , further operable to:

after having entered the system management mode,

save an interrupt descriptor table to allow processing of interrupts; and

enable inter-processor interrupts.

9. The first core of claim 8 , further operable to:

after having received an inter-processor interrupt,

save a current system context into a memory;

set up a new super-jump system context to be used upon a super-jump;

perform a super-jump to an operating system inter-processor interrupt handler location; and

execute the operating system inter-processor interrupt handler.

10. The first core of claim 9 , further operable to:

after having executed the operating system inter-processor interrupt handler,

return to the pre-super-jump location;

restore the current system context from the memory; and

exit from the system management mode.

11. The first processor core of claim 9 , further operable to:

securely measure an operating system that controls the operating system inter-processor interrupt handler with a system management interrupt transfer monitor prior to allowing the operating system to gain control and execute the handler; and

upon the measurement, the system management interrupt transfer monitor to transfer control to the operating system.

12. The first core of claim 9 , further operable to:

set a bit in a machine specific register of the first processor core in response to the inter-processor interrupt to include one or more first processor core control registers and a first processor core global descriptor table register in a context switch associated with the super-jump.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2011
From: ZIMMER, VINCENT J.; YAO, JIEWEN
To: INTEL CORPORATION
Reel/Frame 026863/0289 →
Continuity (1)
Related Publication 20100262743A1 · Oct 14, 2010