Method for flashing ESCD and variables into a ROM
First Claim
1. A method of flashing an extended system configuration data (ESCD) storage area of a non-volatile memory of a computer system comprising the steps of:
- copying a non-volatile memory image of an ESCD data storage area for storing ESCD and associated variables of a non-volatile memory to a first region of a power on self test (POST) buffer and a second region of the POST buffer;
copying contents of the second region of the POST buffer to an ESCD runtime buffer;
comparing the contents of the first region of the POST buffer or the ESCD data storage area of the non-volatile memory with the contents of the ESCD runtime buffer; and
flashing the non-volatile memory image in the ESCD runtime buffer into the ESCD data storage area during the system management mode of the computer system if the contents of the ESCD runtime buffer differ from the contents of the compared first region of the POST buffer or the ESCD data storage area.
4 Assignments
0 Petitions
Accused Products
Abstract
A computer system for flashing Extended System Configuration Data (ESCD) and associated variables to a flash read-only memory (ROM) is provided. During Power-On-Self-Test (POST) code, a ROM image is copied from an ESCD sector of a read-only memory to an ESCD original buffer and an ESCD write buffer. The ESCD write buffer may be updated by POST code. Following the POST operations, the contents of the ESCD write buffer are copied to an ESCD runtime buffer. The contents of the ESCD original buffer or the ESCD sector are compared to the contents of the ESCD runtime buffer. If the contents of the ESCD runtime buffer differ from the contents of the compared buffer or sector, SMI code flashes the ROM image in the ESCD runtime buffer to the flash ROM. If the ESCD runtime buffer is the same as the contents of the compared buffer or sector, a ROM flash it not performed. POST is then exited and the computer system is booted. During runtime, if a write is performed to ESCD data or an associate variable, the ESCD runtime buffer is updated with the ESCD data or variable provided for the write operation. The SMI code then flashes the ROM image in the ESCD runtime buffer into the ESCD sector to save the ESCD data or variable provided by the write operation.
234 Citations
24 Claims
-
1. A method of flashing an extended system configuration data (ESCD) storage area of a non-volatile memory of a computer system comprising the steps of:
-
copying a non-volatile memory image of an ESCD data storage area for storing ESCD and associated variables of a non-volatile memory to a first region of a power on self test (POST) buffer and a second region of the POST buffer; copying contents of the second region of the POST buffer to an ESCD runtime buffer; comparing the contents of the first region of the POST buffer or the ESCD data storage area of the non-volatile memory with the contents of the ESCD runtime buffer; and flashing the non-volatile memory image in the ESCD runtime buffer into the ESCD data storage area during the system management mode of the computer system if the contents of the ESCD runtime buffer differ from the contents of the compared first region of the POST buffer or the ESCD data storage area. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer system for flashing an extended system configuration data (ESCD) storage area of a non-volatile memory comprising:
a non-volatile memory, comprising storage locations for; an ESCD data storage area for storing ESCD data and associated variables; a non-volatile memory BIOS storage area for storing BIOS code for generating an system management interrupt (SMI) flash for the ESCD data storage area of the non-volatile memory; and an SMI storage area for storing SMI code for flashing the ESCD data storage area of the non-volatile memory responsive to generation of a system management interrupt by the BIOS code; during Power on self test (POST) or during runtime responsive to a write to the ESCD data and associated variables and a processor for executing the BIOS code. - View Dependent Claims (12, 13, 14, 15)
-
16. A computer system for flashing an extended system configuration data (ESCD) and associated variables into a non-volatile memory, comprising:
a non-volatile memory, comprising storage locations for; an ESCD data storage area for storing ESCD data and associated variables; power on self test (POST) code storage area for storing POST code for initializing the computer system; an system management interrupt (SMI) code storage area for storing SMI code for flashing a non-volatile memory image into the ESCD data storage area; and an ESCD flash code storage area for storing ESCD flash code for flashing said ESCD data and said associated variables during POST and runtime; a volatile memory, comprising; an ESCD original buffer for storing said ESCD data and said associated variables during POST; an ESCD runtime buffer for storing said ESCD data and said associated variables during runtime; an ESCD write buffer for providing said ESCD data and said associated variables to the ESCD runtime buffer during the POST; and a processor executing the ESCD flash code to perform the steps of; copying the non-volatile memory image of the ESCD data storage area to the ESCD original buffer and ESCD write buffer; copying the contents of the ESCD write buffer to the ESCD runtime buffer; comparing the contents of the ESCD original buffer or the ESCD data storage area with the contents of the ESCD runtime buffer; and flashing the non-volatile memory image in the ESCD runtime buffer into the ESCD data storage area if the contents of the ESCD runtime buffer differ from the contents of the compared ESCD original buffer or the ESCD data storage area. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
Specification