IP Library Granted Patent US 7,987,438
Granted Patent B2
US 7,987,438 · App. 12/113,469 · Granted Jul 26, 2011

Structure for initializing expansion adapters installed in a computer system having similar expansion adapters

Assignee: International Business Machines Corporation
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,987,438
App. No.
12/113,469
Granted
Jul 26, 2011
Kind
B2
Abstract

A design structure embodied in a machine readable storage medium for at designing, manufacturing, and/or testing a design is disclosed for initializing expansion adapters installed in a computer system having similar expansion adapters that include detecting an expansion adapter installed in a computer system having a plurality of expansion adapters, the detected expansion adapter having an option ROM containing initialization code, identifying similar expansion adapters installed in the computer system that correspond to the detected expansion adapter, each of the identified similar expansion adapters having an option ROM containing initialization code, disabling the option ROM of each of the identified similar expansion adapters, and initializing the plurality of expansion adapters installed in the computer system without executing the initialization code of the identified similar expansion adapters.

Claims (85)

1. A method comprising:

generating, by a design tool, a design structure for use in at least one of designing, manufacturing, and testing a design; and

storing, by the design tool, the design structure in a machine readable storage medium, the design structure comprising:

an apparatus for initializing expansion adapters installed in a computer system having similar expansion adapters, 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:

detecting an expansion adapter installed in the computer system having a plurality of expansion adapters, the detected expansion adapter having an option ROM containing initialization code;

identifying similar expansion adapters installed in the computer system that correspond to the detected expansion adapter, each of the identified similar expansion adapters having an option ROM containing initialization code;

disabling the option ROM of each of the identified similar expansion adapters; and

initializing the plurality of expansion adapters installed in the computer system without executing the initialization code of the identified similar expansion adapters.

2. The method of claim 1 wherein:

each of the plurality of expansion adapters further comprises a vendor identifier and a device identifier; and

identifying similar expansion adapters installed in the computer system that correspond to the detected expansion adapter further comprises:

retrieving values for the vendor identifier and the device identifier of the detected expansion adapter, and

detecting another expansion adapter having the same values for the vendor identifier and the device identifier as the retrieved values.

3. The method of claim 1 wherein initializing the plurality of expansion adapters installed in the computer system further comprises:

executing the initialization code of the detected expansion adapter; and

associating interrupts for each identified similar expansion adapter with runtime code of the detected expansion adapter.

4. The method of claim 1 wherein initializing the plurality of expansion adapters installed in the computer system further comprises:

identifying option ROM characteristics for each of the plurality of expansion adapters installed in the computer system;

determining an adapter initialization order for each of the plurality of expansion adapters in dependence upon the option ROM characteristics; and

initializing the plurality of expansion adapters in dependence upon the adapter initialization order for each of the plurality of expansion adapters.

5. The method of claim 4 , wherein the design structure further comprises computer program instructions capable of:

storing, in non-volatile computer memory, the option ROM characteristics for each expansion adapter installed in the computer system.

6. The method of claim 4 wherein the option ROM characteristics further comprise an initialization code size and a runtime code size for an option ROM of an expansion adapter.

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

8. The method of claim 1 , wherein the design structure resides on the machine readable storage medium as a data format for use in exchanging layout data of integrated circuits.

9. A computer-implemented method of initializing expansion adapters installed in a computer system having similar expansion adapters, the method comprising:

detecting, by an expansion adapter initialization module comprising one or more modules of automated computing machinery, an expansion adapter installed in a computer system having a plurality of expansion adapters, the detected expansion adapter having an option ROM containing initialization code;

identifying, by the expansion adapter initialization module, similar expansion adapters installed in the computer system that correspond to the detected expansion adapter, each of the identified similar expansion adapters having an option ROM containing initialization code;

disabling, by the expansion adapter initialization module, the option ROM of each of the identified similar expansion adapters; and

initializing, by the expansion adapter initialization module, the plurality of expansion adapters installed in the computer system without executing the initialization code of the identified similar expansion adapters.

10. The method of claim 9 wherein:

each of the plurality of expansion adapters further comprises a vendor identifier and a device identifier; and

identifying similar expansion adapters installed in the computer system that correspond to the detected expansion adapter further comprises:

retrieving values for the vendor identifier and the device identifier of the detected expansion adapter, and

detecting another expansion adapter having the same values for the vendor identifier and the device identifier as the retrieved values.

11. The method of claim 9 wherein initializing the plurality of expansion adapters installed in the computer system further comprises:

executing the initialization code of the detected expansion adapter; and

associating interrupts for each identified similar expansion adapter with runtime code of the detected expansion adapter.

12. The method of claim 9 wherein initializing the plurality of expansion adapters installed in the computer system further comprises:

identifying option ROM characteristics for each of the plurality of expansion adapters installed in the computer system;

determining an adapter initialization order for each of the plurality of expansion adapters in dependence upon the option ROM characteristics; and

initializing the plurality of expansion adapters in dependence upon the adapter initialization order for each of the plurality of expansion adapters.

13. The method of claim 12 further comprising:

storing, in non-volatile computer memory, the option ROM characteristics for each expansion adapter installed in the computer system.

14. The method of claim 12 wherein the option ROM characteristics further comprise an initialization code size and a runtime code size for an option ROM of an expansion adapter.

15. An apparatus for initializing expansion adapters installed in a computer system having similar expansion adapters, 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:

detecting an expansion adapter installed in a computer system having a plurality of expansion adapters, the detected expansion adapter having an option ROM containing initialization code;

identifying similar expansion adapters installed in the computer system that correspond to the detected expansion adapter, each of the identified similar expansion adapters having an option ROM containing initialization code;

disabling the option ROM of each of the identified similar expansion adapters; and

initializing the plurality of expansion adapters installed in the computer system without executing the initialization code of the identified similar expansion adapters.

16. The apparatus of claim 15 wherein:

each of the plurality of expansion adapters further comprises a vendor identifier and a device identifier; and

identifying similar expansion adapters installed in the computer system that correspond to the detected expansion adapter further comprises:

retrieving values for the vendor identifier and the device identifier of the detected expansion adapter, and

detecting another expansion adapter having the same values for the vendor identifier and the device identifier as the retrieved values.

17. The apparatus of claim 15 wherein initializing the plurality of expansion adapters installed in the computer system further comprises:

executing the initialization code of the detected expansion adapter; and

associating interrupts for each identified similar expansion adapter with runtime code of the detected expansion adapter.

18. The apparatus of claim 15 wherein initializing the plurality of expansion adapters installed in the computer system further comprises:

identifying option ROM characteristics for each of the plurality of expansion adapters installed in the computer system;

determining an adapter initialization order for each of the plurality of expansion adapters in dependence upon the option ROM characteristics; and

initializing the plurality of expansion adapters in dependence upon the adapter initialization order for each of the plurality of expansion adapters.

19. The apparatus of claim 18 further comprising computer program instructions capable of:

storing, in non-volatile computer memory, the option ROM characteristics for each expansion adapter installed in the computer system.

20. The apparatus of claim 18 wherein the option ROM characteristics further comprise an initialization code size and a runtime code size for an option ROM of an expansion adapter.

21. A computer program product for initializing expansion adapters installed in a computer system having similar expansion adapters, the computer program product disposed upon a computer readable recordable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

detecting an expansion adapter installed in a computer system having a plurality of expansion adapters, the detected expansion adapter having an option ROM containing initialization code;

identifying similar expansion adapters installed in the computer system that correspond to the detected expansion adapter, each of the identified similar expansion adapters having an option ROM containing initialization code;

disabling the option ROM of each of the identified similar expansion adapters; and

initializing the plurality of expansion adapters installed in the computer system without executing the initialization code of the identified similar expansion adapters.

22. The computer program product of claim 21 wherein:

each of the plurality of expansion adapters further comprises a vendor identifier and a device identifier; and

identifying similar expansion adapters installed in the computer system that correspond to the detected expansion adapter further comprises:

retrieving values for the vendor identifier and the device identifier of the detected expansion adapter, and

detecting another expansion adapter having the same values for the vendor identifier and the device identifier as the retrieved values.

23. The computer program product of claim 21 wherein initializing the plurality of expansion adapters installed in the computer system further comprises:

executing the initialization code of the detected expansion adapter; and

associating interrupts for each identified similar expansion adapter with runtime code of the detected expansion adapter.

24. The computer program product of claim 21 wherein initializing the plurality of expansion adapters installed in the computer system further comprises:

identifying option ROM characteristics for each of the plurality of expansion adapters installed in the computer system;

determining an adapter initialization order for each of the plurality of expansion adapters in dependence upon the option ROM characteristics; and

initializing the plurality of expansion adapters in dependence upon the adapter initialization order for each of the plurality of expansion adapters.

25. The computer program product of claim 24 further comprising computer program instructions capable of:

storing, in non-volatile computer memory, the option ROM characteristics for each expansion adapter installed in the computer system.

26. The computer program product of claim 24 wherein the option ROM characteristics further comprise an initialization code size and a runtime code size for an option ROM of an expansion adapter.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2008
From: LIN, ROBERT C.; ROY, PRASENJIT; SCHWARTZ, WILLIAM B.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020887/0135 →
Continuity (2)
Continuation In Part 11463758 · Aug 10, 2006
Related Publication 20080209096A1 · Aug 28, 2008