cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

vfio.rst (1235B)


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