22title : Integrated GPU passthrough support
33layout : default
44design_doc : true
5- revision : 1
5+ revision : 2
66status : proposed
77---
88
99Introduction
1010------------
1111
1212Passthrough of discrete GPUs has been
13- [ available since XenServer 6.0] ( {{site.baseurl}}/xapi/design/gpu-passthrough.html ) . With some
14- extensions, we will also be able to support passthrough of integrated GPUs.
13+ [ available since XenServer 6.0] ( {{site.baseurl}}/xapi/design/gpu-passthrough.html ) .
14+ With some extensions, we will also be able to support passthrough of integrated
15+ GPUs.
1516
1617- Whether an integrated GPU will be accessible to dom0 or available to
1718 passthrough to guests must be configurable via XenAPI.
@@ -20,34 +21,37 @@ extensions, we will also be able to support passthrough of integrated GPUs.
2021Host Configuration
2122------------------
2223
23- A new host field will be added:
24+ A new PGPU field will be added:
2425
25- - ` host.integrated_GPU_passthrough enum(disabled|enable_on_reboot| enabled|disable_on_reboot)`
26+ - ` PGPU.dom0_access enum(enabled|disable_on_reboot|disabled|enable_on_reboot )`
2627
2728as well as new API calls:
2829
29- - ` host.enable_integrated_GPU_passthrough `
30- - ` host.disable_integrated_GPU_passthrough `
30+ - ` PGPU.enable_dom0_access `
31+ - ` PGPU.disable_dom0_access `
3132
32- Enabling integrated GPU passthrough will modify the xen commandline (using the
33- xen-cmdline tool) such that dom0 will not be able to access the integrated GPU
34- on next boot.
33+ Disabling dom0 access will modify the xen commandline (using the xen-cmdline
34+ tool) such that dom0 will not be able to access the GPU on next boot.
3535
36- A state diagram for the field host.integrated_GPU_passthrough is shown below:
36+ A state diagram for the field PGPU.dom0_access is shown below:
3737
3838![ host.integrated_GPU_passthrough flow diagram] ( integrated-gpu-passthrough.png )
3939
40- Note that when a client enables or disables integrated GPU passthrough , the
41- change can be cancelled until the host is rebooted.
40+ Note that when a client enables or disables dom0 access for a PGPU , the change
41+ can be cancelled until the host is rebooted.
4242
4343Handling vga_arbiter
4444--------------------
4545
46- Normally , xapi will not create a PGPU object for the PCI device with address
46+ Currently , xapi will not create a PGPU object for the PCI device with address
4747reported by ` /dev/vga_arbiter ` . This is to prevent a GPU in use by dom0 from
48- from being passed through to a guest. This will no longer be the case if:
48+ from being passed through to a guest. This behaviour will be changed - instead
49+ of not creating a PGPU object at all, xapi will create a PGPU, but its
50+ supported_VGPU_types field will be empty.
4951
50- 1 . Integrated GPU passthrough is enabled.
52+ However, the PGPU's supported_VGPU_types will be populated as normal if:
53+
54+ 1 . dom0 access to the GPU is disabled.
51552 . The vendor ID of the device is contained in a whitelist provided by xapi's
5256 config file.
5357
0 commit comments