Claims
- 1. A method in a data processing system for managing requests for data by processes, the method comprising:
tracking requests for data from the processes in a slave mode; storing data received by a device driver from multiple masters, wherein the data forms stored data; and sending the stored data to the processes, wherein the device driver is not required to handle requests for the processes in the slave mode.
- 2. The method of claim 1, wherein the sending step broadcasts the data to all of the processes.
- 3. The method of claim 1 further comprising:
waking sleeping processes prior to sending the data.
- 4. The method of claim 1, wherein the tracking and sending steps are implemented in an abstraction layer function.
- 5. The method of claim 1, wherein the storing step is implemented in a daemon.
- 6. The method of claim 1, wherein the tracking step includes:
receiving a request from a process for the data; and placing the request on a queue of requests.
- 7. The method of claim 1, wherein the requests are slave read requests.
- 8. The method of claim 1, wherein the data is received by the device driver listening for data on a single address for a single physical slave, while the processes are virtual slaves.
- 9. A data transfer system comprising:
a daemon function, wherein the daemon function gathers data received by a device driver and stores the data; and a abstraction layer function, wherein the abstraction layer function contacts the daemon to determine if the data has been stored, routes the data to applications making slave mode requests if data is present.
- 10. The data transfer system of claim 9, wherein the abstraction layer function routes the data by broadcasting the data to the applications.
- 11. The data transfer system of claim 9, wherein the daemon function stores data in a buffer.
- 12. The data transfer system of claim 9, wherein the data transfer system is located in a flexible service processor.
- 13. A data processing system for managing requests for data by processes, the data processing system comprising:
tracking means for tracking requests for data from the processes in a slave mode; storing means for storing data received by a device driver from multiple masters, wherein the data forms stored data; and sending means for sending the stored data to the processes, wherein the device driver is not required to handle requests for the processes in the slave mode.
- 14. The data processing system of claim 13, wherein the sending means broadcasts the data to all of the processes.
- 15. The data processing system of claim 13 further comprising:
waking means for waking sleeping processes prior to sending the data.
- 16. The data processing system of claim 13, wherein the tracking means and sending means are implemented in an abstraction layer function.
- 17. The data processing system of claim 13, wherein the storing means is implemented in a daemon.
- 18. The data processing system of claim 13, wherein the tracking means includes:
receiving means for receiving a request from a process for the data; and placing means for placing the request in queue of requests.
- 19. The data processing system of claim 13, wherein the requests are slave read requests.
- 20. The data processing system of claim 13, wherein the data is received by the device driver listening for data on a single address for a single physical slave, while the processes are virtual slaves.
- 21. A computer program product in a computer readable medium for managing requests for data by processes, the computer program product comprising:
first instructions for tracking requests for data from the processes in a slave mode; second instructions for storing data received by a device driver from multiple masters, wherein the data forms stored data; and third instructions for sending the stored data to the processes, wherein the device driver is not required to handle requests for the processes in the slave mode.
CROSS REFERENCE TO RELATED APPLICATION
[0001] The present invention is related to the following application entitled “Method and Apparatus for Transferring Data to Virtual Devices Behind a Bus Expander”, Ser. No. ______, attorney docket no. AUS920030334US1, filed even date hereof, assigned to the same assignee, and incorporated herein by reference.