Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
vfio_pci_private.h File Reference
#include <linux/mutex.h>
#include <linux/pci.h>

Go to the source code of this file.

Data Structures

struct  vfio_pci_irq_ctx
 
struct  vfio_pci_device
 

Macros

#define VFIO_PCI_OFFSET_SHIFT   40
 
#define VFIO_PCI_OFFSET_TO_INDEX(off)   (off >> VFIO_PCI_OFFSET_SHIFT)
 
#define VFIO_PCI_INDEX_TO_OFFSET(index)   ((u64)(index) << VFIO_PCI_OFFSET_SHIFT)
 
#define VFIO_PCI_OFFSET_MASK   (((u64)(1) << VFIO_PCI_OFFSET_SHIFT) - 1)
 
#define is_intx(vdev)   (vdev->irq_type == VFIO_PCI_INTX_IRQ_INDEX)
 
#define is_msi(vdev)   (vdev->irq_type == VFIO_PCI_MSI_IRQ_INDEX)
 
#define is_msix(vdev)   (vdev->irq_type == VFIO_PCI_MSIX_IRQ_INDEX)
 
#define is_irq_none(vdev)   (!(is_intx(vdev) || is_msi(vdev) || is_msix(vdev)))
 
#define irq_is(vdev, type)   (vdev->irq_type == type)
 

Functions

void vfio_pci_intx_mask (struct vfio_pci_device *vdev)
 
void vfio_pci_intx_unmask (struct vfio_pci_device *vdev)
 
int vfio_pci_set_irqs_ioctl (struct vfio_pci_device *vdev, uint32_t flags, unsigned index, unsigned start, unsigned count, void *data)
 
ssize_t vfio_pci_config_readwrite (struct vfio_pci_device *vdev, char __user *buf, size_t count, loff_t *ppos, bool iswrite)
 
ssize_t vfio_pci_mem_readwrite (struct vfio_pci_device *vdev, char __user *buf, size_t count, loff_t *ppos, bool iswrite)
 
ssize_t vfio_pci_io_readwrite (struct vfio_pci_device *vdev, char __user *buf, size_t count, loff_t *ppos, bool iswrite)
 
int vfio_pci_init_perm_bits (void)
 
void vfio_pci_uninit_perm_bits (void)
 
int vfio_pci_virqfd_init (void)
 
void vfio_pci_virqfd_exit (void)
 
int vfio_config_init (struct vfio_pci_device *vdev)
 
void vfio_config_free (struct vfio_pci_device *vdev)
 

Macro Definition Documentation

#define irq_is (   vdev,
  type 
)    (vdev->irq_type == type)

Definition at line 64 of file vfio_pci_private.h.

#define is_intx (   vdev)    (vdev->irq_type == VFIO_PCI_INTX_IRQ_INDEX)

Definition at line 60 of file vfio_pci_private.h.

#define is_irq_none (   vdev)    (!(is_intx(vdev) || is_msi(vdev) || is_msix(vdev)))

Definition at line 63 of file vfio_pci_private.h.

#define is_msi (   vdev)    (vdev->irq_type == VFIO_PCI_MSI_IRQ_INDEX)

Definition at line 61 of file vfio_pci_private.h.

#define is_msix (   vdev)    (vdev->irq_type == VFIO_PCI_MSIX_IRQ_INDEX)

Definition at line 62 of file vfio_pci_private.h.

#define VFIO_PCI_INDEX_TO_OFFSET (   index)    ((u64)(index) << VFIO_PCI_OFFSET_SHIFT)

Definition at line 23 of file vfio_pci_private.h.

#define VFIO_PCI_OFFSET_MASK   (((u64)(1) << VFIO_PCI_OFFSET_SHIFT) - 1)

Definition at line 24 of file vfio_pci_private.h.

#define VFIO_PCI_OFFSET_SHIFT   40

Definition at line 20 of file vfio_pci_private.h.

#define VFIO_PCI_OFFSET_TO_INDEX (   off)    (off >> VFIO_PCI_OFFSET_SHIFT)

Definition at line 22 of file vfio_pci_private.h.

Function Documentation

void vfio_config_free ( struct vfio_pci_device vdev)

Definition at line 1407 of file vfio_pci_config.c.

int vfio_config_init ( struct vfio_pci_device vdev)

Definition at line 1337 of file vfio_pci_config.c.

ssize_t vfio_pci_config_readwrite ( struct vfio_pci_device vdev,
char __user buf,
size_t  count,
loff_t *  ppos,
bool  iswrite 
)

Definition at line 1504 of file vfio_pci_config.c.

int vfio_pci_init_perm_bits ( void  )

Definition at line 737 of file vfio_pci_config.c.

void vfio_pci_intx_mask ( struct vfio_pci_device vdev)

Definition at line 251 of file vfio_pci_intrs.c.

void vfio_pci_intx_unmask ( struct vfio_pci_device vdev)

Definition at line 324 of file vfio_pci_intrs.c.

ssize_t vfio_pci_io_readwrite ( struct vfio_pci_device vdev,
char __user buf,
size_t  count,
loff_t *  ppos,
bool  iswrite 
)

Definition at line 24 of file vfio_pci_rdwr.c.

ssize_t vfio_pci_mem_readwrite ( struct vfio_pci_device vdev,
char __user buf,
size_t  count,
loff_t *  ppos,
bool  iswrite 
)

Definition at line 127 of file vfio_pci_rdwr.c.

int vfio_pci_set_irqs_ioctl ( struct vfio_pci_device vdev,
uint32_t  flags,
unsigned  index,
unsigned  start,
unsigned  count,
void data 
)

Definition at line 748 of file vfio_pci_intrs.c.

void vfio_pci_uninit_perm_bits ( void  )

Definition at line 724 of file vfio_pci_config.c.

void vfio_pci_virqfd_exit ( void  )

Definition at line 56 of file vfio_pci_intrs.c.

int vfio_pci_virqfd_init ( void  )

Definition at line 46 of file vfio_pci_intrs.c.