US5745763AExpiredUtility

Method and apparatus for device driver funnelling

50
Assignee: IBMPriority: Sep 29, 1995Filed: Sep 29, 1995Granted: Apr 28, 1998
Est. expirySep 29, 2015(expired)· nominal 20-yr term from priority
H04L 9/40G06F 13/102
50
PatentIndex Score
27
Cited by
12
References
12
Claims

Abstract

A method and apparatus for enabling AIX device driver (DD) created for a uniprocessor (UP) system to run unchanged on a symmetrical multiprocessor system (SMP). Device drivers are processed by a funnelling mechanism so that UP device drivers always runs on a "Master" processor in a multi-processor system. New device drivers written for the SMP system are permitted to bypass the funneling mechanism and proceed directly to execution on any available processor in the SMP system. Device registration services are provided which examine DD flags looking for a new unique flag indicating that the device driver is SMP enabled. If the flag is not present, then emulating a uniprocessor environment for execution of that device driver.

Claims

exact text as granted — not AI-modified
What we claim is: 
     
       1. A method for executing device drivers on a multiprocessor platform having a plurality of processors including a master processor, wherein said device drivers were created for execution on a uniprocessor platform, comprising: receiving an interrupt for a selected one of said device drivers into said multiprocessor platform;   determining if the selected one of said device drivers is created for execution on said uniprocessor platform by the presence or absence of a flag on said selected one of said device drivers;   executing the selected one of said device drivers only on said master processor of said multiprocessor platform when the selected one of said device drivers is determined to be created for said uniprocessor platform; and   executing said device drivers on any one of said plurality of processors in said multiprocessor platform when not created for said uniprocessor platform.   
     
     
       2. The method of claim 1 wherein said step for receiving said device drivers include an operating system on said multiprocessor platform. 
     
     
       3. The method of claim 1 wherein said step for determining includes a step for registering said device drivers in said operating system based on a user supplied flag. 
     
     
       4. The method of claim 3 wherein said step for registering includes a step for posting a MP --  SAFE flag for device drivers not created for said uniprocessor platform. 
     
     
       5. An apparatus for executing device drivers on a multiprocessor platform having a plurality of processors including a master processor, wherein said device drivers were created for execution on a uniprocessor platform, comprising: means for receiving an interrupt for a selected one of said device drivers into said multiprocessor platform;   means for determining if the selected one of said device drivers is created for execution on said uniprocessor platform by the presence or absence of a flag on said selected one of said device drivers;   means for executing the selected one of said device drivers only on said master processor of said multiprocessor platform when the selected one of said device drivers is determined to be created for said uniprocessor platform; and   means for executing said device drivers on any one of said plurality of processors in said multiprocessor platform when not created for said uniprocessor platform.   
     
     
       6. The apparatus of claim 5 wherein said means for receiving said device drivers include an operating system on said multiprocessor platform. 
     
     
       7. The apparatus of claim 5 wherein said means for determining includes a means for registering said device drivers in said operating system based on a user supplied flag. 
     
     
       8. The apparatus of claim 7 wherein said means for registering includes means for posting a MP --  SAFE flag for device drivers not created for said uniprocessor platform. 
     
     
       9. A computer program product having a computer readable medium having computer program logic recorded thereon for executing device drivers on a multiprocessor platform having a plurality of processors including a master processor, wherein said device drivers were created for execution on a uniprocessor platform, comprising: computer readable medium means for receiving an interrupt for a selected one of said device drivers into said multiprocessor platform;   computer readable medium means for determining if the selected one of said device drivers is created for execution on said uniprocessor platform by the presence or absence of a flag on said selected one of said device drivers;   computer readable medium means for executing the selected one of said device drivers on said master processor of said multiprocessor platform when the selected one of said device drivers is determined to be created for said uniprocessor platform; and   computer readable medium means for executing said device drivers on any one of said plurality of processors in said multiprocessor platform when not created for said uniprocessor platform.   
     
     
       10. The computer program product of claim 9 wherein said computer readable medium means for receiving said device drivers include an operating system on said multiprocessor platform. 
     
     
       11. The computer program product of claim 9 wherein said computer readable medium means for determining includes a means for registering said device drivers in said operating system based on a user supplied flag. 
     
     
       12. The computer program product of claim 9 wherein said computer readable medium means for registering includes means for posting a MP --  SAFE flag for device drivers not created for said uniprocessor platform.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.