A computer system provides for flashing a non-volatile memory image to a
non-volatile memory and reading data from a non-volatile memory
independently of an operating system. An image buffer is allocated in a
volatile memory of the computer system. If flashing a non-volatile memory
image to the non-volatile memory is desired, the image buffer is loaded
with a portion of the non-volatile memory image. BIOS interface code is
then called to place an SMI event code into a memory and to generate a
system management interrupt causing the computer system to enter a system
management mode. SMI handler code examines the SMI event code and calls
SMI service code. Next, the image buffer is located and the portion of the
non-volatile memory in the image buffer is flashed to the non-volatile
memory by the SMI service code. Locating the image buffer may include
locating an image header defined within the volatile memory. The image
header may include a password for providing access to the non-volatile
memory. The steps of loading the image buffer, calling BIOS interface
code, and flashing a portion of the non-volatile memory image to the
non-volatile memory may be repeated until the entire non-volatile memory
image is flashed to the non-volatile memory. Alternatively, if reading
data from a non-volatile memory independently of an operating system is
desired, a system management interrupt is generated to place the computer
system in a system management mode, an SMI event code is placed in a
memory, the SMI handler code processes the SMI event code and calls SMI
service code, the image buffer is located by the SMI service code, and the
SMI service code copies data from the non-volatile memory to the image
buffer.
Een computersysteem voorziet het opvlammen van een niet-vluchtig geheugenbeeld aan een niet-vluchtig geheugen en onafhankelijk het lezen van gegevens van een niet-vluchtig geheugen van een werkend systeem. Een beeldbuffer wordt toegewezen in een vluchtig geheugen van het computersysteem. Als het opvlammen van een niet-vluchtig geheugenbeeld aan het niet-vluchtige geheugen wordt gewenst, wordt de beeldbuffer geladen met een gedeelte van het niet-vluchtig geheugenbeeld. BIOS de interfacecode wordt dan geroepen om een de gebeurteniscode van KMIO in een geheugen te plaatsen en om een systeembeheersing te produceren onderbreek het veroorzaken van het computersysteem om een systeembeheersingswijze in te gaan. De de managercode van KMIO onderzoekt de de gebeurteniscode van KMIO en roept de dienstcode van KMIO. Daarna, wordt de beeldbuffer gevestigd en het gedeelte van het niet-vluchtige geheugen in de beeldbuffer is opgevlamd aan het niet-vluchtige geheugen door de de dienstcode van KMIO. De plaatsbepaling van de beeldbuffer kan de plaatsbepaling van beeldheader omvatten die binnen het vluchtige geheugen wordt bepaald. Beeldheader kan een wachtwoord omvatten voor het verlenen van toegang tot het niet-vluchtige geheugen. De stappen van het laden van de beeldbuffer, het roepen van BIOS interfacecode, en het opvlammen van een gedeelte van het niet-vluchtig geheugenbeeld aan het niet-vluchtige geheugen kunnen worden herhaald tot het volledige niet-vluchtig geheugenbeeld aan het niet-vluchtige geheugen is opgevlamd. Alternatief, als het lezingsgegeven van een niet-vluchtig geheugen onafhankelijk van een werkend systeem wordt gewenst, een systeembeheersing wordt geproduceerd onderbreekt om het computersysteem in een systeembeheersingswijze te plaatsen, wordt een de gebeurteniscode van KMIO geplaatst in een geheugen, de processen van de de managercode van KMIO de de gebeurteniscode van KMIO en de de dienstcode van vraagcKmio, wordt de beeldbuffer gevestigd door de de dienstcode van KMIO, en de van de de dienstcode van KMIO de exemplarengegevens van het niet-vluchtige geheugen aan de beeldbuffer.