Legal claims defining the scope of protection, as filed with the USPTO.
1. An apparatus comprising: a disconnect module that detaches each of one or more device contexts from a peripheral device in response to a reset request for the peripheral device, each of the one or more device contexts describing a connection between the peripheral device and a process; an access module that prevents the one or more device contexts for one or more processes from accessing the peripheral device; and a reset module that resets the peripheral device in response to the one or more device contexts being detached from the peripheral device, wherein said modules comprise one or more of hardware circuits, programmable hardware devices, and a processor executing code.
2. The apparatus of claim 1 , further comprising a reset request receiving module that receives the reset request for the peripheral device, the reset request received from one of a source external to the device and a firmware associated with the peripheral device.
3. The apparatus of claim 1 , wherein the disconnect module detaches each of the one or more device contexts by flagging each of the one or more device contexts as detached.
4. The apparatus of claim 1 , wherein the each of the one or more device contexts transmits a detach event to its corresponding process in response to being detached from the peripheral device.
5. The apparatus of claim 1 , wherein the connection between the peripheral device and each process of the one or more device contexts comprises a direct memory access (“DMA”) mapping between each process and one or more memory areas of the peripheral device.
6. The apparatus of claim 1 , wherein the access module sends an access violation event in response to a device context attempting to access the peripheral device after the device context has been detached from the peripheral device.
7. The apparatus of claim 1 , wherein the access module prevents the one or more device contexts for the one or more processes from accessing the peripheral device by preventing the one or more processes from accessing a driver for the peripheral device.
8. The apparatus of claim 1 , wherein the access module prevents the one or more device contexts for the one or more processes from accessing the peripheral device by preventing the one or more processes from accessing a mapped memory area of the peripheral device.
9. The apparatus of claim 1 , wherein the access module prevents the one or more device contexts for the one or more processes from accessing the peripheral device by preventing the one or more processes from accessing one or more command queues for the peripheral device.
10. The apparatus of claim 1 , wherein the access module prevents the one or more device contexts for the one or more processes from accessing the peripheral device by disabling interrupts for the peripheral device.
11. The apparatus of claim 1 , further comprising a restart module that recreates one or more device contexts for one or more processes in response to the hardware device restarting.
12. The apparatus of claim 11 , wherein the restart module is further configured to discard stale device contexts that the restart module does not recreate.
13. The apparatus of claim 11 , wherein the restart module is further configured to send a re-attach event that notifies the one or more processes that the peripheral device has restarted.
14. A method comprising: detaching each of one or more device contexts from a peripheral device in response to a reset request for the peripheral device, each of the one or more device contexts describing a connection between the peripheral device and a process; preventing the one or more device contexts for one or more processes from accessing the peripheral device; and resetting the peripheral device in response to the one or more device contexts being detached from the peripheral device.
15. The method of claim 1 , further comprising receiving the reset request for the peripheral device, the reset request received from one of a source external to the device and a firmware associated with the peripheral device.
16. The method of claim 15 , wherein detaching each of the one or more device contexts includes flagging each of the one or more device contexts as detached.
17. The method of claim 15 , wherein the each of the one or more device contexts transmits a detach event to its corresponding process in response to being detached from the peripheral device.
18. The method of claim 15 , wherein the connection between the peripheral device and each process of the one or more device contexts comprises a direct memory access (“DMA”) mapping between each process and one or more memory areas of the peripheral device.
19. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to: detach, by processor, each of one or more device contexts from a peripheral device in response to a reset request for the peripheral device, each of the one or more device contexts describing a connection between the peripheral device and a process; prevent, by processor, the one or more device contexts for one or more processes from accessing the peripheral device; and reset, by processor, the peripheral device in response to the one or more device contexts being detached from the peripheral device.
20. The computer program product of claim 19 , wherein the program instructions are further executable by the processor to cause the processor to receive, by processor, the reset request for the peripheral device, the reset request received from one of a source external to the peripheral device and a firmware associated with the peripheral device.
Unknown
June 1, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.