Patent US6081890A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6081890A Expired / Lapsed US ⏱️ 0.0 years remaining

Method of communication between firmware written for different instruction set architectures

Assignee: Intel Corp
•
Filing: 1998-11-30
•
Granted: 2000-06-27
•
Expires: 2018-11-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A firmware system comprises a legacy firmware module and a native firmware module written for native and legacy instruction set architectures (ISAs), respectively. A data structure is associated with the legacy firmware module to provide access to one or more legacy routines through a first dispatcher. The native firmware nodule includes a prologue routine. The prolog routine locates the data structure associated with the legacy firmware module and initializes it to provide a link between the first and second firmware modules.

Inventors

  • 👤 Sham Datta

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 15:39
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/455; G06F9/45504; G06F9/4401

Claims Analysis

Total Claims: 28
Claim 1
Independent Claim 84 words
A system comprising: a first firmware module including one or more routines written for a first instruction set architecture (ISA), the routines being accessible through a first dispatcher; a data structure associated with the first firmware module, the data structure including a first entry to store a pointer to the first dispatcher; and a second firmware module including a prolog routine written for a second ISA to locate the data structure and access the routines in the first firmware module using the first dispatcher.
Claim 2
Independent Claim 84 words
A system comprising: a first firmware module including one or more routines written for a first instruction set architecture (ISA), the routines being accessible through a first dispatcher; a data structure associated with the first firmware module, the data structure including a first entry to store a pointer to the first dispatcher; and a second firmware module including a prolog routine written for a second ISA to locate the data structure and access the routines in the first firmware module using the first dispatcher.
Claim 3
Dependent Claim 22 words
The system of claim 1, wherein the data structure includes signature code to identify the data structure to the second firmware module.
Claim 4
Dependent Claim 26 words
The system of claim 1, wherein the data structure includes a second entry to store a pointer to a dispatcher associated with the second firmware module.
Claim 5
Dependent Claim 30 words
The system of claim 3, wherein the second firmware module includes one or more routines in the second ISA, the one or more routines being accessible through the associated dispatcher.
Claim 6
Dependent Claim 47 words
The system of claim 1, wherein the second firmware module includes one or more routines in the second ISA and a shared memory region is defined in the second firmware module to accommodate data from the one or, more routines in the first and second instruction sets.
Claim 7
Dependent Claim 55 words
The system of claim 1, wherein the prolog code of the second firmware module copies portions of the first firmware Module to a location in at random access memory, stores a location associated with the data structure, and updates the second entry of the data structure with a dispatcher address for the second firmware module.
Claim 8
Dependent Claim 76 words
A processor system comprising: a processor; a system memory; and a non-volatile memory in which is stored: a first firmware module including a data structure and routines in a first instruction set architecture (ISA) accessible through the data structure, the routines to provide access to legacy resources in the system; and a second firmware module including a prolog routine to identify the data structure in the first firmware module and access the first set of routines.
Claim 9
Dependent Claim 76 words
A processor system comprising: a processor; a system memory; and a non-volatile memory in which is stored: a first firmware module including a data structure and routines in a first instruction set architecture (ISA) accessible through the data structure, the routines to provide access to legacy resources in the system; and a second firmware module including a prolog routine to identify the data structure in the first firmware module and access the first set of routines.
Claim 10
Dependent Claim 24 words
The system of claim 7, wherein the second firmware module further includes routines in a second ISA to access native resources in the system.
Claim 11
Dependent Claim 40 words
The system of claim 8, wherein the prolog routine copies portions of the first firmware module into the system memory and updates the data structure to provide the first firmware imodule with access to the routines in the second ISA.
Claim 12
Dependent Claim 29 words
The system of claim 7, wherein the second firmware module includes a boot routine that generates an operating environment for the first firmware module when the system is booted.
Claim 13
Dependent Claim 37 words
The system of claim 10, wherein the first ISA includes first and second operating modes and wherein an operating environment generated by the second firmware module virtualizes the first and second operating modes of the first ISA.
Claim 14
Independent Claim 85 words
A method for communicating between first and second firmware routines written in first and second instruction sets, respectively, the method comprising: associating a data structure with the first firmware routine, the data structure including an entry through which routines in the first firmware module may be accessed; assigning a signature code to identify the data structure; and providing the second firmware routine with a prolog function to locate the data structure and to update the data structure with pointer information for the second firmware module.
Claim 15
Independent Claim 85 words
A method for communicating between first and second firmware routines written in first and second instruction sets, respectively, the method comprising: associating a data structure with the first firmware routine, the data structure including an entry through which routines in the first firmware module may be accessed; assigning a signature code to identify the data structure; and providing the second firmware routine with a prolog function to locate the data structure and to update the data structure with pointer information for the second firmware module.
Claim 16
Dependent Claim 24 words
The method of claim 12, wherein the pointer information provides the first firmware module with access to the routines in the second firmware module.
Claim 17
Dependent Claim 27 words
The method of claim 12, further comprising using the prolog function to copy portions of the first and second firmware modules to a dynamic memory structure .
Claim 18
Independent Claim 63 words
A method for implementing legacy routines, written for a first instruction set architecture (ISA), on a platform implementing a second ISA, the method comprising: locating a data structure associated with the legacy routines; storing a return address to a routine written for the second ISA in the data structure; and calling a selected legacy routine through a dispatcher identified by the data structure.
Claim 19
Independent Claim 63 words
A method for implementing legacy routines, written for a first instruction set architecture (ISA), on a platform implementing a second ISA, the method comprising: locating a data structure associated with the legacy routines; storing a return address to a routine written for the second ISA in the data structure; and calling a selected legacy routine through a dispatcher identified by the data structure.
Claim 20
Dependent Claim 48 words
The method of claim 15, wherein locating a data structure comprises: initializing a boot routine written for the second ISA; scanning a boot routine written for the first ISA for the data structure, the boot routine including the legacy routines; and recording a location for the data structure.
Claim 21
Dependent Claim 34 words
The method of claim 15, wherein calling a selected legacy routine comprises generating an indexed call to the identified dispatcher, the indexed call including an index for identifying a pointer to the selected routine.
Claim 22
Dependent Claim 28 words
The method of claim 15, further comprising returning control to the routine written for the second ISA, using the stored return address, when the selected legacy routine completes.
Claim 23
Dependent Claim 12 words
The method of claim 15, further comprising executing the selected legacy routine.
Claim 24
Dependent Claim 61 words
The method of claim 19, wherein executing the selected legacy routine includes: storing a return address associated with the selected legacy routine in the data structure; accessing a native routine through a second dispatcher specified in the data structure by the native boot routine; and returning to the selected legacy routine, via the stored return address, when the native routine completes.
Claim 25
Dependent Claim 96 words
A machine readable medium on which are stored instructions in a native ISA, executable by a processor to implement a method comprising: scanning a code block written in a legacy ISA to locate a data structure; determining a dispatcher location specified in the data structure, the dispatcher location to provide access to a plurality of legacy routines; and writing a return address to the data structure, the return address pointing to a location in the block of instructions in the native ISA; and accessing a selected one of the plurality of legacy routines through the dispatcher.
Claim 26
Dependent Claim 96 words
A machine readable medium on which are stored instructions in a native ISA, executable by a processor to implement a method comprising: scanning a code block written in a legacy ISA to locate a data structure; determining a dispatcher location specified in the data structure, the dispatcher location to provide access to a plurality of legacy routines; and writing a return address to the data structure, the return address pointing to a location in the block of instructions in the native ISA; and accessing a selected one of the plurality of legacy routines through the dispatcher.
Claim 27
Dependent Claim 37 words
The machine readable medium of claim 21, wherein scanning a code block comprises: locating the code block using a firmware identification table; and scanning the located code block for a locator block associated with the data structure.
Claim 28
Dependent Claim 36 words
The machine readable medium of claim 22, wherein scanning the located code block comprises: A copying a portion of the located code block to a system memory; and scanning the copied portion for the locator block.

References Cited (Backward Citations)

US4077058A Cited
US3891974A Cited
US5388215A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-06-27 2003-12-27 2004-06-27 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-06-27 2007-12-27 2008-06-27 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-06-27 2011-12-27 2012-06-27 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag