Commit | Line | Data |
---|---|---|
ec53500f AW |
1 | VFIO virtual device |
2 | =================== | |
3 | ||
4 | Device types supported: | |
5 | KVM_DEV_TYPE_VFIO | |
6 | ||
7 | Only one VFIO instance may be created per VM. The created device | |
8 | tracks VFIO groups in use by the VM and features of those groups | |
9 | important to the correctness and acceleration of the VM. As groups | |
10 | are enabled and disabled for use by the VM, KVM should be updated | |
11 | about their presence. When registered with KVM, a reference to the | |
12 | VFIO-group is held by KVM. | |
13 | ||
14 | Groups: | |
15 | KVM_DEV_VFIO_GROUP | |
16 | ||
17 | KVM_DEV_VFIO_GROUP attributes: | |
18 | KVM_DEV_VFIO_GROUP_ADD: Add a VFIO group to VFIO-KVM device tracking | |
121f80ba AK |
19 | kvm_device_attr.addr points to an int32_t file descriptor |
20 | for the VFIO group. | |
ec53500f | 21 | KVM_DEV_VFIO_GROUP_DEL: Remove a VFIO group from VFIO-KVM device tracking |
121f80ba AK |
22 | kvm_device_attr.addr points to an int32_t file descriptor |
23 | for the VFIO group. | |
24 | KVM_DEV_VFIO_GROUP_SET_SPAPR_TCE: attaches a guest visible TCE table | |
25 | allocated by sPAPR KVM. | |
26 | kvm_device_attr.addr points to a struct: | |
ec53500f | 27 | |
121f80ba AK |
28 | struct kvm_vfio_spapr_tce { |
29 | __s32 groupfd; | |
30 | __s32 tablefd; | |
31 | }; | |
32 | ||
33 | where | |
34 | @groupfd is a file descriptor for a VFIO group; | |
35 | @tablefd is a file descriptor for a TCE table allocated via | |
36 | KVM_CREATE_SPAPR_TCE. |