IP Library Granted Patent US 8,601,250
Granted Patent B2
US 8,601,250 · App. 13/108,638 · Granted Dec 3, 2013

Control over loading of device drivers for an individual instance of a PCI device

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 8,601,250
App. No.
13/108,638
Granted
Dec 3, 2013
Kind
B2
Abstract

A method identifies a plurality of PCI devices in a computer system by an associated PCI device handle, wherein each of the PCI devices is also associated with a default EFI device driver. The method further identifies a target PCI device to be disabled from within the plurality of PCI devices, provides a dummy driver that enables fewer functions for the target PCI device than would the default EFI device driver, and binds the dummy driver to the target PCI device instead of binding the default EFI device driver associated with the target PCI device. The dummy driver may be used to effectively disable the target PCI device so that the POST does not hang up or completes faster without loading the default EFI device driver.

Claims (43)

1. A computer-implemented method, comprising:

identifying a plurality of PCI devices in a computer system by an associated PCI device handle, wherein each of the PCI devices is associated with a default EFI device driver;

identifying a target PCI device to be disabled from within the plurality of PCI devices;

providing a dummy driver that enables fewer functions for the target PCI device than the default EFI device driver; and

binding the dummy driver to the target PCI device, wherein the dummy driver opens a PCI IO Protocol exclusively on the PCI device handle of the target PCI device in order to prevent the default EFI device driver from binding to the target PCI device.

2. The method of claim 1 , wherein the dummy driver provides Supported, Start and Stop EFI functions with no-op code.

3. The method of claim 1 , further comprising:

creating the dummy driver for the at least one PCI device in response to identifying the target PCI device.

4. The method of claim 1 , wherein identifying a target PCI device to be disabled, includes searching EFI ROM to identify the target PCI device.

5. The method of claim 4 , wherein searching UEFI ROM to identify the target PCI device, includes:

comparing device path information embedded in PCI device handles associated with each of the PCI devices to device path information in a UEFI ROM disable request.

6. The method of claim 1 , wherein the dummy driver is bound to the target PCI device during power on self test (POST).

7. The method of claim 1 , wherein the dummy driver is bound to the target PCI device prior to booting an operating system.

8. The method of claim 1 , further comprising:

providing the dummy driver with a version number that is greater than the version number of the default EFI device driver.

9. The method of claim 1 , wherein the dummy driver is a platform driver.

10. The method of claim 1 , wherein binding the dummy driver to the target PCI device instead of the default EFI device driver is performed in accordance with EFI driver binding protocols.

11. The method of claim 1 , further comprising:

storing user input in the EFI ROM, wherein the user input identifies the target PCI device.

12. The method of claim 11 , further comprising:

allowing the user to identify any one or more instance of the plurality of PCI devices as a target device to be disabled.

13. The method of claim 1 , further comprising:

automatically identifying one of the PCI devices as a target PCI device to be disabled in response to the target PCI device having no usage during a predefined time period.

14. The method of claim 1 , further comprising:

identifying a PCI device handle for each of the PCI devices;

using the device path information embedded in the identified PCI device handle to identify matching device path information in a user EFI ROM disable request.

15. The method of claim 14 , wherein the PCI device handle includes a Device Path Protocol instance and a PCI I/O Protocol instance.

16. The method of claim 15 , wherein the PCI I/O Protocol is used by the PCI device driver to access memory and I/O on a PCI device.

17. A computer program product including computer usable program code embodied on a non-transitory computer readable storage medium, the computer program product comprising:

computer usable program code for identifying a plurality of PCI devices in a computer system by an associated PCI device handle, wherein each of the PCI devices is associated with a default EFI device driver;

computer usable program code for identifying a target PCI device to be disabled from within the plurality of PCI devices;

computer usable program code for providing a dummy driver that enables fewer functions for the target PCI device than the default EFI device driver; and

computer usable program code for binding the dummy driver to the target PCI device, wherein the dummy driver opens a PCI I 0 Protocol exclusively on the PCI device handle of the target PCI device in order to prevent the default EFI device driver from binding to the target PCI device.

18. The computer program product of claim 17 , wherein the dummy driver provides Supported, Start and Stop EFI functions with no-op code.

19. The computer program product of claim 17 , further comprising:

computer usable program code for creating the dummy driver for the at least one PCI device in response to identifying the target PCI device.

20. The computer program product of claim 17 , wherein the dummy driver is bound to the PCI device during power on self test (POST).

21. The computer program product of claim 17 , further comprising:

computer usable program code for providing the dummy driver with a version number that is greater than the version number of the default EFI device driver.

22. The computer program product of claim 17 , further comprising:

allowing the user to identify any one or more instance of the plurality of PCI devices as a target device to be disabled.

23. The computer program product of claim 17 , further comprising:

automatically identifying one of the PCI devices as a target PCI device to be disabled in response to the target PCI device having no usage during a predefined time period.

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 May 17, 2011
From: KOCHAR, SUMEET; SODERLUND, ADAM L.; TURNER, MICHAEL R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 026289/0052 →