System for loading device-specific code and method thereof
First Claim
Patent Images
1. A method comprising:
- loading device-independent driver code into kernel mode memory, wherein the device-independent driver code forms a first portion of a display driver;
requesting a device identifier after loading the device-independent driver code into kernel mode memory, wherein the requested device identifier is to identify a particular device;
receiving the requested device identifier associated with a particular device;
identifying a particular device-specific driver portion from a plurality of driver portions associated with the device identifier based on a comparison of versions associated with functions of the device-specific driver portion to versions expected through an application program interface; and
loading the particular device-specific driver portion into kernel mode memory, wherein the device-specific driver portion forms a second portion of the display driver;
wherein loading the device-specific driver portion includes calling a function to load a block of executable code in kernel mode memory; and
wherein the function includes EngLoadImage function.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and methods are provided for loading device-specific functions into a device driver. Upon boot-up an operating system initiates a device driver to be loaded into kernel mode memory. Functions that are device independent are loaded into memory and form a first portion of the device driver. An identifier associated with a particular device being used is received. The device identifier is compared to a table of supported devices to identify a device-specific image from a plurality of executable image files. The identified device-specific image is then loaded to form a second portion of the device driver in kernel mode memory.
-
Citations
29 Claims
-
1. A method comprising:
-
loading device-independent driver code into kernel mode memory, wherein the device-independent driver code forms a first portion of a display driver; requesting a device identifier after loading the device-independent driver code into kernel mode memory, wherein the requested device identifier is to identify a particular device; receiving the requested device identifier associated with a particular device; identifying a particular device-specific driver portion from a plurality of driver portions associated with the device identifier based on a comparison of versions associated with functions of the device-specific driver portion to versions expected through an application program interface; and loading the particular device-specific driver portion into kernel mode memory, wherein the device-specific driver portion forms a second portion of the display driver; wherein loading the device-specific driver portion includes calling a function to load a block of executable code in kernel mode memory; and wherein the function includes EngLoadImage function. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
providing a set of device-independent functions, wherein the device-independent functions are capable of manipulating a processor to support a plurality of different display devices; providing a plurality of device-specific driver portions, wherein each device-specific driver portion of the plurality of device-specific driver portions include functions capable of manipulating a processor to support only a portion of the plurality of different display devices; providing a first function to manipulate a processor to load one or more device-independent functions of the set of device-independent functions into kernel mode memory; providing a second function to manipulate a processor to request for a device identifier after the one or more device-independent functions are loaded into kernel mode memory, wherein the device identifier is capable of identifying a particular display device of the plurality of different display devices; and providing a table linking device identifiers to individual device-specific driver portions of the plurality of device-specific driver portions; providing a third function to manipulate a processor to load a particular device-specific driver portion into kernel mode memory based on the table and the device identifier, wherein the particular device-specific driver portion is associated with the particular display device of the plurality of different display devices; and wherein the third function includes a call to an EngLoadImage function. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A system comprising:
-
a data processor having an interface; memory having an interface coupled to the interface of the data processor, said memory having; a kernel mode memory including; a miniport driver to initialize a display driver to be accessed as a portion of said kernel mode memory; load device-independent driver code into said display driver in said kernel mode memory; determine a device identifier associated with a display adapter; identify device-specific driver code from a plurality of executable images, wherein the device-specific driver code is associated with said device identifier; load a portion of device-specific driver code for access as a portion of said display driver; said display driver, wherein said display driver includes; said device-independent driver code; said device-specific driver code; said plurality of executable images; display adapter having; an interface coupled to the interface of the data processor; and said device identifier. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. A non-transitory computer readable medium tangibly embodying a plurality of programs of instructions, the plurality of programs including:
-
a set of device-independent functions to manipulate a processor to support a plurality of different display devices; a plurality of device-specific driver portions, wherein each device-specific driver portion of the plurality of device-specific driver portions includes functions to manipulate a processor to support only a portion of the plurality of different display devices; a first function to manipulate a processor to load one or more device-independent functions of the set of device-independent functions into kernel mode memory; a second function to manipulate a processor to request a device identifier after the one or more device-independent functions of the set of device-independent functions into kernel mode memory; a third function to manipulate a processor to identify a particular device-specific driver by locating a name associated with the particular device-specific driver portion in a table using the device identifier; and a fourth function to manipulate a processor to load the particular device-specific driver portion into kernel mode memory; wherein the second function includes a call to an EngLoadImage function. - View Dependent Claims (26, 27, 28, 29)
-
Specification