Patent ID: 7840773

Claim:
A computer-implemented method for managing a system management random-access memory (“SMRAM”) within a system management mode (“SMM”) of a microprocessor, the method comprising: creating a first memory reserved table in the SMRAM, the first memory reserved table comprising a predetermined number of descriptors and a number of used descriptors counter, wherein each of the predetermined number of descriptors is configured to represent an allocated region of SMRAM; initializing the predetermined number of descriptors in the first memory reserved table to default values indicating an unused state; receiving a request from a program executing within the SMM to allocate a requested region of SMRAM; locating a first descriptor having the unused state from the predetermined number of descriptors in the first memory reserved table; transforming the first descriptor to refer to the requested region of SMRAM indicating a used state and incrementing the number of used descriptors counter, wherein each of the predetermined number of descriptors having the used state are maintained in a singly linked list; determining whether all of the predetermined number of descriptors in the first memory reserved table indicate the used state; upon determining that all of the predetermined number of descriptors in the first memory reserved table indicate the used state, creating a second memory reserved table in the SMRAM; and initializing the predetermined number of descriptors in the second memory reserved table to default values indicating the unused state.