IP Library Granted Patent US 11,068,302
Granted Patent B2
US 11,068,302 · App. 16/445,966 · Granted Jul 20, 2021

Method for regulating system management mode function calls and system therefor

Inventors: Nicholas D. Grobelny (Austin, TX); Girish S. Dhoble (Austin, TX); Ricardo L. Martinez (Leander, TX); Abeye S. Teshome (Austin, TX)
Assignee: Dell Products L.P.
G06F9/4837G06F9/3013
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 11,068,302
App. No.
16/445,966
Granted
Jul 20, 2021
Kind
B2
Abstract

A method includes saving state information in response to receiving a system management interrupt (SMI), the state information including a first value retrieved from a first register and a second value retrieved from a second register. The method further includes determining a function associated with the SMI based on the first value and determining a calling address associated with the SMI based on the second value. A counter corresponding to the function and calling address pair is incremented in response to receiving the SMI. The method concludes by selectively invoking the function based on the value of the counter and based on a predetermined threshold.

Claims (57)

1. A method comprising:

receiving a system management interrupt (SMI);

invoking a system management mode (SMM) master function in response to receiving the SMI, the SMM master function to:

save state information, the state information including a first value retrieved from a first register and a second value retrieved from a second register;

determine a first function associated with the SMI based on the first value;

determine a first calling address associated with the SMI based on the second value;

increment a first counter corresponding to a unique combination of the first function and the first calling address; and

selectively invoking the first function based on the value of the first counter and based on a first predetermined threshold.

2. The method of claim 1 , wherein selectively invoking the first function comprises:

invoking the first function if a value of the first counter is less than a first predetermined threshold; and

blocking invocation of the first function if the value of the first counter is greater than or equal to the first predetermined threshold.

3. The method of claim 1 , further comprising a cool-down timer to periodically decrement the first counter.

4. The method of claim 1 , further comprising:

incrementing a second counter corresponding to the first function; and

selectively invoking the first function further based on a value of the second counter and based on a second predetermined threshold.

5. The method of claim 1 , further comprising:

incrementing a third counter corresponding to the first calling address; and

selectively invoking the first function further based on a value of the third counter and based on a third predetermined threshold.

6. The method of claim 5 , further comprising:

retrieving an invocation policy associated with the first counter, the invocation policy specifying whether to invoke or to block the first function based exclusively on the first counter and the first predetermined threshold.

7. The method of claim 5 , further comprising a cool-down timer to periodically decrement the first counter, the second counter and the third counter.

8. The method of claim 1 , wherein the saving, determining, incrementing, and selectively invoking are performed by an SMM master function.

9. The method of claim 1 , wherein the first predetermined threshold is generated during build time of a basic input/output system image.

10. The method of claim 1 , wherein:

the saving, determining, incrementing, and selectively invoking are performed by an SMM master function; and

the first predetermined threshold is updated by the SMM master function.

11. An information handling system comprising:

a memory including a first partition to store system management mode (SMM) instructions and SMM data; and

a processor to invoke an SMM master function in response to determining that a system management interrupt (SMI) has been initiated, the SMM master function to:

save state information, the state information including a first value retrieved from a first register and a second value retrieved from a second register;

determine a first function associated with the SMI based on the first value;

determine a first calling address associated with the SMI based on the second value;

increment a first counter corresponding to a unique combination of the first function and the first calling address; and

selectively invoke the first function based on the value of the first counter and based on a first predetermined threshold.

12. The information handling system of claim 11 , wherein the processor is further to:

invoke the first function if a value of the first counter is less than a first predetermined threshold; and

block invocation of the first function if the value of the first counter is greater than or equal to the first predetermined threshold.

13. The information handling system of claim 11 , further comprising a cool-down timer to periodically decrement the first counter.

14. The information handling system of claim 11 , wherein the processor is further to:

increment a second counter corresponding to the first function; and

selectively invoke the first function further based on a value of the second counter and based on a second predetermined threshold.

15. The information handling system of claim 14 , wherein the processor is further to:

incrementing a third counter corresponding to the first calling address; and

selectively invoking the first function further based on a value of the third counter and based on a third predetermined threshold.

16. The information handling system of claim 15 , wherein the processor is further to:

retrieve an invocation policy associated with the first counter, the invocation policy specifying whether to invoke or to block the first function based exclusively on the first counter and the first predetermined threshold.

17. The information handling system of claim 15 , further comprising a cool-down timer to periodically decrement the first counter, the second counter and the third counter.

18. The information handling system of claim 11 , wherein the saving, determining, incrementing, and selectively invoking are performed by an SMM master function.

19. The information handling system of claim 11 , wherein:

the saving, determining, incrementing, and selectively invoking are performed by an SMM master function; and

the first predetermined threshold is updated by the SMM master function.

20. A method performed by a system management mode master function, the method comprising:

saving state information in response to receiving a system management interrupt (SMI), the state information including a first value retrieved from a first register and a second value retrieved from a second register;

determining a first function associated with the SMI based on the first value;

determining a first calling address associated with the SMI based on the second value;

incrementing a first counter corresponding to a unique combination of the first function and the first calling address; and

selectively invoking the first function based on the value of the first counter and based on a first predetermined threshold.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2019
From: GROBELNY, NICHOLAS D.; DHOBLE, GIRISH S.; MARTINEZ, RICARDO L.; TESHOME, ABEYE S.
To: DELL PRODUCTS, LP
Reel/Frame 050175/0856 →