US11698804B2ActiveUtilityA1

Adaptive virtual function drivers for electronic devices

67
Assignee: INTEL CORPPriority: Jun 1, 2017Filed: Jan 27, 2021Granted: Jul 11, 2023
Est. expiryJun 1, 2037(~10.9 yrs left)· nominal 20-yr term from priority
G06F 9/45558G06F 13/102G06F 8/63G06F 9/45537G06F 2009/45579
67
PatentIndex Score
0
Cited by
1
References
22
Claims

Abstract

Techniques for providing adaptive virtual function (VF) drivers capable of operating with physical devices having a plurality of different hardware configurations are described. In one embodiment, for example, an apparatus may include logic to implement a virtual machine (VM), the logic to initialize an adaptive virtual function (VF) driver to facilitate communication between the VM and a physical device to be virtualized, establish communication between the adaptive VF driver and a physical function (PF) driver of the hypervisor for the physical device, activate a standard feature set for the adaptive VF driver to execute on a PF of the physical device, and negotiate activation of an advanced feature set for the adaptive VF driver to execute on the PF, the adaptive VF driver to provide the advanced feature set to the PF, the PF activate each feature of the advanced feature set supported by the PF.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. An apparatus, comprising:
 processing circuitry; and 
 a memory to store instructions for an adaptive virtual function (VF) driver for a physical device, the instructions executable by the circuitry to cause the circuitry to:
 activate a standard feature set supported by the adaptive VF driver and a physical function (PF) of the physical device; 
 identify an advanced feature set supported by the adaptive VF driver and the PF; and 
 activate the advanced feature set supported by the adaptive VF driver and the PF. 
 
 
     
     
       2. The apparatus of  claim 1 , the instructions executable by the circuitry to cause the circuitry to, prior to activation of the advanced feature set:
 write, to a hardware mailbox, indications that the adaptive VF driver supports the advanced feature set. 
 
     
     
       3. The apparatus of  claim 2 , the instructions executable by the circuitry to cause the circuitry to:
 identify, in the hardware mailbox, indications that the PF supports the activated feature set. 
 
     
     
       4. The apparatus of  claim 1 , wherein the adaptive VF driver is to support another advanced feature, the instructions executable by the circuitry to cause the circuitry to:
 read, in a hardware mailbox, indications of a plurality of features supported by the PF, wherein the plurality of features comprise the standard feature set and the advanced feature set; 
 determine, based on the indications of the plurality of features supported by the PF in the hardware mailbox, that the PF does not support the another advanced feature; and 
 disable the another advanced feature based on the PF not supporting the another advanced feature. 
 
     
     
       5. The apparatus of  claim 1 , the instructions executable by the circuitry to cause the circuitry to, prior to activation of the standard feature set:
 write, to a hardware mailbox, indications that the adaptive VF driver supports the standard feature set; and 
 identify, in the hardware mailbox, indications that the PF supports the standard feature set. 
 
     
     
       6. The apparatus of  claim 1 , wherein the adaptive VF driver is to support another advanced feature, the instructions executable by the circuitry to cause the circuitry to:
 disable the another advanced feature based on a determination that the another enhanced feature is not supported by the PF. 
 
     
     
       7. The apparatus of  claim 1 , the physical device to comprise a network interface. 
     
     
       8. The apparatus of  claim 1 , the advanced feature set supported by the adaptive VF driver and the PF to comprise a subset of an advanced feature set supported by the adaptive VF driver. 
     
     
       9. A non-transitory computer-readable storage medium that stores computer-executable instructions for execution by processing circuitry of a computing device, the computer-executable instructions, when executed, to cause the circuitry to:
 activate a standard feature set supported by an adaptive virtual function (VF) driver and a physical function (PF) of a physical device; 
 identify an advanced feature set supported by the adaptive VF driver and the PF; and 
 activate the advanced feature set supported by the adaptive VF driver and the PF. 
 
     
     
       10. The non-transitory computer-readable storage medium of  claim 9 , the computer-executable instructions, when executed, to cause the circuitry to, prior to activation of the advanced feature set:
 write indications that the adaptive VF driver supports the advanced feature set. 
 
     
     
       11. The non-transitory computer-readable storage medium of  claim 10 , the computer-executable instructions, when executed, to cause the circuitry to:
 identify indications that the PF supports the activated feature set. 
 
     
     
       12. The non-transitory computer-readable storage medium of  claim 9 , wherein the adaptive VF driver is to support another advanced feature, the computer-executable instructions, when executed, to cause the circuitry to:
 read indications of a plurality of features supported by the PF, wherein the plurality of features comprise the standard feature set and the advanced feature set; 
 determine, based on the indications of the plurality of features supported by the PF, that the PF does not support the another advanced feature; and 
 disable the another advanced feature based on the PF not supporting the another advanced feature. 
 
     
     
       13. The non-transitory computer-readable storage medium of  claim 9 , the computer-executable instructions, when executed, to cause the circuitry to, prior to activation of the standard feature set:
 write indications that the adaptive VF driver supports the standard feature set; and 
 identify indications that the PF supports the standard feature set. 
 
     
     
       14. The non-transitory computer-readable storage medium of  claim 9 , wherein the adaptive VF driver is to support another advanced feature, the computer-executable instructions, when executed, to cause the circuitry to:
 disable the another advanced feature based on a determination that the another enhanced feature is not supported by the PF. 
 
     
     
       15. The non-transitory computer-readable storage medium of  claim 9 , the advanced feature set supported by the adaptive VF driver and the PF to comprise a subset of an advanced feature set supported by the adaptive VF driver. 
     
     
       16. The non-transitory computer-readable storage medium of  claim 9 , the computer-executable instructions to identify the advanced feature set supported by the adaptive VF driver and the PF to comprise instructions, when executed, to cause the circuitry to:
 negotiate, by the PF and the adaptive VF driver, the advanced feature set supported by the adaptive VF driver and the PF. 
 
     
     
       17. The non-transitory computer-readable storage medium of  claim 9 , the computer-executable instructions to identify the advanced feature set supported by the adaptive VF driver and the PF to comprise instructions, when executed, to cause the circuitry to:
 negotiate, by the PF and the adaptive VF driver via an application programming interface (API), the advanced feature set supported by the adaptive VF driver and the PF. 
 
     
     
       18. A computer-implemented method, comprising:
 activating, by an adaptive virtual function (VF) driver executing on processor circuitry, a standard feature set supported by the adaptive VF driver and a physical function (PF) of a physical device; 
 identifying, by the adaptive VF driver, an advanced feature set supported by the adaptive VF driver and the PF; and 
 activating, by the adaptive VF driver, the advanced feature set supported by the adaptive VF driver and the PF. 
 
     
     
       19. The method of  claim 18 , further comprising prior to activating the advanced feature set:
 writing, by the adaptive VF driver to a hardware mailbox, indications that the adaptive VF driver supports the advanced feature set; and 
 identifying, by the adaptive VF driver in the hardware mailbox, indications that the PF supports the activated feature set. 
 
     
     
       20. The method of  claim 18 , wherein the adaptive VF driver is to support another advanced feature, the method further comprising:
 reading, by the adaptive VF driver in a hardware mailbox, indications of a plurality of features supported by the PF, wherein the plurality of features comprise the standard feature set and the advanced feature set; 
 determining, by the adaptive VF driver based on the indications of the plurality of features supported by the PF in the hardware mailbox, that the PF does not support the another advanced feature; and 
 disabling, by the adaptive VF driver, the another advanced feature based on the PF not supporting the another advanced feature. 
 
     
     
       21. The method of  claim 18 , further comprising prior to activating the standard feature set:
 writing, by the adaptive VF driver to a hardware mailbox, indications that the adaptive VF driver supports the standard feature set; and 
 identify, by the adaptive VF driver in the hardware mailbox, indications that the PF supports the standard feature set. 
 
     
     
       22. The method of  claim 18 , the physical device to comprise a network interface, the advanced feature set supported by the adaptive VF driver and the PF to comprise a subset of an advanced feature set supported by the adaptive VF driver.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.