Patent US6081890A successfully refreshed from Google Patents.
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
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)
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 |