IP Library Granted Patent US 7,873,754
Granted Patent B2
US 7,873,754 · App. 12/136,619 · Granted Jan 18, 2011

Structure for option ROM characterization

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,873,754
App. No.
12/136,619
Granted
Jan 18, 2011
Kind
B2
Abstract

A design structure embodied in a machine readable storage medium for designing, manufacturing, and/or testing a design is disclosed for option ROM characterization by establishing an isolating execution environment for an expansion adapter of a computer, the adapter having an option ROM containing initialization code for the adapter, executing the initialization code for the expansion adapter in the isolating execution environment, identifying operating characteristics of the option ROM, including characteristics of the option ROM unavailable prior to execution of the initialization code in the isolating execution environment, and allocating virtual memory address space in a normal execution environment of the computer to the option ROM of the expansion adapter in dependence upon the identified operating characteristics of the option ROM.

Claims (36)

1. A design structure embodied in a machine readable storage medium for at least one of designing, manufacturing, and testing a design, the design structure comprising:

an apparatus for option ROM characterization, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions capable of:

establishing an isolating execution environment for an expansion adapter of a computer, the adapter having an option ROM containing initialization code for the adapter;

executing the initialization code for the expansion adapter in the isolating execution environment;

identifying operating characteristics of the option ROM, including characteristics of the option ROM unavailable prior to execution of the initialization code in the isolating execution environment, wherein identifying operating characteristics further comprises identifying a runtime size of the option ROM and the availability of support for ROM sharing by the option ROM; and

allocating virtual memory address space in a normal execution environment of the computer to the option ROM of the expansion adapter in dependence upon the identified operating characteristics of the option ROM.

2. The design structure of claim 1 further comprising computer program instructions capable of:

storing a system state of the computer prior to establishing the isolating execution environment; and

restoring the system state after identifying the operating characteristics of the option ROM.

3. The design structure of claim 2 wherein storing the system state of the computer further comprises storing contents of an interrupt vector table, a BIOS data area, option ROM memory address space, and expansion adapter registers.

4. The design structure of claim 1 further comprising computer program instructions capable of allocating virtual address space required by a processor of the computer for input/output functions to the expansion adapter, except for allocation of virtual memory address space to the option ROM of the expansion adapter.

5. The design structure of claim 1 wherein establishing the isolating execution environment for the expansion adapter further comprises isolating from initialization all other expansion adapters in the computer except a video adapter.

6. The design structure of claim 1 , wherein the design structure comprises a netlist, which describes the apparatus.

7. The design structure of claim 1 , wherein the design structure resides on the machine readable storage medium as a data format used for the exchange of layout data of integrated circuits.

8. A method of option ROM characterization, the method comprising:

establishing an isolating execution environment for an expansion adapter of a computer, the adapter having an option ROM containing initialization code for the adapter;

executing the initialization code for the expansion adapter in the isolating execution environment;

identifying operating characteristics of the option ROM, including characteristics of the option ROM unavailable prior to execution of the initialization code in the isolating execution environment, wherein identifying operating characteristics further comprises identifying a runtime size of the option ROM and the availability of support for ROM sharing by the option ROM; and

allocating virtual memory address space in a normal execution environment of the computer to the option ROM of the expansion adapter in dependence upon the identified operating characteristics of the option ROM.

9. The method of claim 8 further comprising:

storing a system state of the computer prior to establishing the isolating execution environment; and

restoring the system state after identifying the operating characteristics of the option ROM.

10. The method of claim 9 wherein storing the system state of the computer further comprises storing contents of an interrupt vector table, a BIOS data area, option ROM memory address space, and expansion adapter registers.

11. The method of claim 8 further comprising allocating virtual address space required by a processor of the computer for input/output functions to the expansion adapter, except for allocation of virtual memory address space to the option ROM of the expansion adapter.

12. The method of claim 8 wherein establishing the isolating execution environment for the expansion adapter further comprises isolating from initialization all other expansion adapters in the computer except a video adapter.

13. A computer program product for option ROM characterization, the computer program product disposed upon a recordable media for machine-readable information, the computer program product comprising computer program instructions capable of:

establishing an isolating execution environment for an expansion adapter of a computer, the adapter having an option ROM containing initialization code for the adapter;

executing the initialization code for the expansion adapter in the isolating execution environment;

identifying operating characteristics of the option ROM, including characteristics of the option ROM unavailable prior to execution of the initialization code in the isolating execution environment, wherein identifying operating characteristics further comprises identifying a runtime size of the option ROM and the availability of support for ROM sharing by the option ROM; and

allocating virtual memory address space in a normal execution environment of the computer to the option ROM of the expansion adapter in dependence upon the identified operating characteristics of the option ROM.

14. The computer program product of claim 13 further comprising computer program instructions capable of:

storing a system state of the computer prior to establishing the isolating execution environment; and

restoring the system state after identifying the operating characteristics of the option ROM.

15. The computer program product of claim 14 wherein storing the system state of the computer further comprises storing contents of an interrupt vector table, a BIOS data area, option ROM memory address space, and expansion adapter registers.

16. The computer program product of claim 13 further comprising computer program instructions capable of allocating virtual address space required by a processor of the computer for input/output functions to the expansion adapter, except for allocation of virtual memory address space to the option ROM of the expansion adapter.

17. The computer program product of claim 13 wherein establishing the isolating execution environment for the expansion adapter further comprises isolating from initialization all other expansion adapters in the computer except a video adapter.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 034194/0291 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2008
From: BIRCHER, WILLIAM L.; DASARI, SHIVA R.; TAM, WINGCHEUNG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 021074/0905 →