vfio: move definitions from PCI to VFIO header
The common VFIO definitions should be separated from the PCI-specific parts. Signed-off-by: Jan Viktorin <viktorin@rehivetech.com>
This commit is contained in:
parent
50ac904d87
commit
c2b4064dd8
@ -74,8 +74,6 @@ int pci_uio_ioport_unmap(struct rte_pci_ioport *p);
|
||||
|
||||
#ifdef VFIO_PRESENT
|
||||
|
||||
#define VFIO_MAX_GROUPS 64
|
||||
|
||||
int pci_vfio_enable(void);
|
||||
int pci_vfio_is_enabled(void);
|
||||
int pci_vfio_mp_sync_setup(void);
|
||||
@ -99,39 +97,6 @@ int pci_vfio_map_resource(struct rte_pci_device *dev);
|
||||
int pci_vfio_get_group_fd(int iommu_group_fd);
|
||||
int pci_vfio_get_container_fd(void);
|
||||
|
||||
/*
|
||||
* Function prototypes for VFIO multiprocess sync functions
|
||||
*/
|
||||
int vfio_mp_sync_send_request(int socket, int req);
|
||||
int vfio_mp_sync_receive_request(int socket);
|
||||
int vfio_mp_sync_send_fd(int socket, int fd);
|
||||
int vfio_mp_sync_receive_fd(int socket);
|
||||
int vfio_mp_sync_connect_to_primary(void);
|
||||
|
||||
/* socket comm protocol definitions */
|
||||
#define SOCKET_REQ_CONTAINER 0x100
|
||||
#define SOCKET_REQ_GROUP 0x200
|
||||
#define SOCKET_OK 0x0
|
||||
#define SOCKET_NO_FD 0x1
|
||||
#define SOCKET_ERR 0xFF
|
||||
|
||||
/*
|
||||
* we don't need to store device fd's anywhere since they can be obtained from
|
||||
* the group fd via an ioctl() call.
|
||||
*/
|
||||
struct vfio_group {
|
||||
int group_no;
|
||||
int fd;
|
||||
};
|
||||
|
||||
struct vfio_config {
|
||||
int vfio_enabled;
|
||||
int vfio_container_fd;
|
||||
int vfio_container_has_dma;
|
||||
int vfio_group_idx;
|
||||
struct vfio_group vfio_groups[VFIO_MAX_GROUPS];
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* EAL_PCI_INIT_H_ */
|
||||
|
@ -69,13 +69,6 @@ static struct rte_tailq_elem rte_vfio_tailq = {
|
||||
};
|
||||
EAL_REGISTER_TAILQ(rte_vfio_tailq)
|
||||
|
||||
#define VFIO_DIR "/dev/vfio"
|
||||
#define VFIO_CONTAINER_PATH "/dev/vfio/vfio"
|
||||
#define VFIO_GROUP_FMT "/dev/vfio/%u"
|
||||
#define VFIO_NOIOMMU_GROUP_FMT "/dev/vfio/noiommu-%u"
|
||||
#define VFIO_GET_REGION_ADDR(x) ((uint64_t) x << 40ULL)
|
||||
#define VFIO_GET_REGION_IDX(x) (x >> 40)
|
||||
|
||||
/* per-process VFIO config */
|
||||
static struct vfio_config vfio_cfg;
|
||||
|
||||
|
@ -60,6 +60,47 @@
|
||||
#define RTE_VFIO_NOIOMMU VFIO_NOIOMMU_IOMMU
|
||||
#endif
|
||||
|
||||
#define VFIO_MAX_GROUPS 64
|
||||
|
||||
/*
|
||||
* Function prototypes for VFIO multiprocess sync functions
|
||||
*/
|
||||
int vfio_mp_sync_send_request(int socket, int req);
|
||||
int vfio_mp_sync_receive_request(int socket);
|
||||
int vfio_mp_sync_send_fd(int socket, int fd);
|
||||
int vfio_mp_sync_receive_fd(int socket);
|
||||
int vfio_mp_sync_connect_to_primary(void);
|
||||
|
||||
/*
|
||||
* we don't need to store device fd's anywhere since they can be obtained from
|
||||
* the group fd via an ioctl() call.
|
||||
*/
|
||||
struct vfio_group {
|
||||
int group_no;
|
||||
int fd;
|
||||
};
|
||||
|
||||
struct vfio_config {
|
||||
int vfio_enabled;
|
||||
int vfio_container_fd;
|
||||
int vfio_container_has_dma;
|
||||
int vfio_group_idx;
|
||||
struct vfio_group vfio_groups[VFIO_MAX_GROUPS];
|
||||
};
|
||||
|
||||
#define VFIO_DIR "/dev/vfio"
|
||||
#define VFIO_CONTAINER_PATH "/dev/vfio/vfio"
|
||||
#define VFIO_GROUP_FMT "/dev/vfio/%u"
|
||||
#define VFIO_NOIOMMU_GROUP_FMT "/dev/vfio/noiommu-%u"
|
||||
#define VFIO_GET_REGION_ADDR(x) ((uint64_t) x << 40ULL)
|
||||
#define VFIO_GET_REGION_IDX(x) (x >> 40)
|
||||
|
||||
#define SOCKET_REQ_CONTAINER 0x100
|
||||
#define SOCKET_REQ_GROUP 0x200
|
||||
#define SOCKET_OK 0x0
|
||||
#define SOCKET_NO_FD 0x1
|
||||
#define SOCKET_ERR 0xFF
|
||||
|
||||
#define VFIO_PRESENT
|
||||
#endif /* kernel version */
|
||||
#endif /* RTE_EAL_VFIO */
|
||||
|
Loading…
x
Reference in New Issue
Block a user