# US 2020/0401443 A1 · Method for Regulating System Management Mode Function Calls and System Therefor

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2020/0401443 A1
- Document ID: US20200401443A1
- Status: Published application
- Kind: A1
- Application number: 16/445,966
- Filed: 2019-06-19
- Published: 2020-12-24
- Earliest claimed: 2019-06-19
- Assignees: Dell Products L.P.
- Applicants: Dell Products, LP
- Inventors: Nicholas D. Grobelny; Girish S. Dhoble; Ricardo L. Martinez; Abeye S. Teshome
- Web page: https://patentgrep.com/patent/US20200401443A1

## CPC

- G06F 9/4812: {by interrupt, e.g. masked}
- G06F 9/4837: {time dependent}
- G06F 9/3013: {according to data content, e.g. floating-point registers, address registers}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 1)

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

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 5)

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.

### Claim 7 (depends on 5)

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

### Claim 8 (depends on 1)

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

### Claim 9 (depends on 1)

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

### Claim 10 (depends on 1)

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.

### Claim 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.

### Claim 12 (depends on 11)

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.

### Claim 13 (depends on 11)

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

### Claim 14 (depends on 11)

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.

### Claim 15 (depends on 14)

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.

### Claim 16 (depends on 15)

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.

### Claim 17 (depends on 15)

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.

### Claim 18 (depends on 11)

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

### Claim 19 (depends on 11)

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.

### Claim 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.
