Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Functions | Variables
pciback.h File Reference
#include <linux/pci.h>
#include <linux/interrupt.h>
#include <xen/xenbus.h>
#include <linux/list.h>
#include <linux/spinlock.h>
#include <linux/workqueue.h>
#include <linux/atomic.h>
#include <xen/interface/io/pciif.h>

Go to the source code of this file.

Data Structures

struct  pci_dev_entry
 
struct  xen_pcibk_device
 
struct  xen_pcibk_dev_data
 
struct  xen_pcibk_backend
 

Macros

#define DRV_NAME   "xen-pciback"
 
#define _PDEVF_op_active   (0)
 
#define PDEVF_op_active   (1<<(_PDEVF_op_active))
 
#define _PCIB_op_pending   (1)
 
#define PCIB_op_pending   (1<<(_PCIB_op_pending))
 

Typedefs

typedef int(* publish_pci_dev_cb )(struct xen_pcibk_device *pdev, unsigned int domain, unsigned int bus, unsigned int devfn, unsigned int devid)
 
typedef int(* publish_pci_root_cb )(struct xen_pcibk_device *pdev, unsigned int domain, unsigned int bus)
 

Functions

struct pci_devpcistub_get_pci_dev_by_slot (struct xen_pcibk_device *pdev, int domain, int bus, int slot, int func)
 
struct pci_devpcistub_get_pci_dev (struct xen_pcibk_device *pdev, struct pci_dev *dev)
 
void pcistub_put_pci_dev (struct pci_dev *dev)
 
void xen_pcibk_reset_device (struct pci_dev *pdev)
 
int xen_pcibk_config_init (void)
 
int xen_pcibk_config_init_dev (struct pci_dev *dev)
 
void xen_pcibk_config_free_dyn_fields (struct pci_dev *dev)
 
void xen_pcibk_config_reset_dev (struct pci_dev *dev)
 
void xen_pcibk_config_free_dev (struct pci_dev *dev)
 
int xen_pcibk_config_read (struct pci_dev *dev, int offset, int size, u32 *ret_val)
 
int xen_pcibk_config_write (struct pci_dev *dev, int offset, int size, u32 value)
 
irqreturn_t xen_pcibk_handle_event (int irq, void *dev_id)
 
void xen_pcibk_do_op (struct work_struct *data)
 
int xen_pcibk_xenbus_register (void)
 
void xen_pcibk_xenbus_unregister (void)
 
void xen_pcibk_test_and_schedule_op (struct xen_pcibk_device *pdev)
 
void xen_pcibk_irq_handler (struct pci_dev *dev, int reset)
 

Variables

wait_queue_head_t xen_pcibk_aer_wait_queue
 
struct workqueue_structxen_pcibk_wq
 
struct list_head xen_pcibk_quirks
 
struct xen_pcibk_backend xen_pcibk_vpci_backend
 
struct xen_pcibk_backend xen_pcibk_passthrough_backend
 
struct xen_pcibk_backendxen_pcibk_backend
 
int verbose_request
 

Macro Definition Documentation

#define _PCIB_op_pending   (1)

Definition at line 27 of file pciback.h.

#define _PDEVF_op_active   (0)

Definition at line 25 of file pciback.h.

#define DRV_NAME   "xen-pciback"

Definition at line 18 of file pciback.h.

#define PCIB_op_pending   (1<<(_PCIB_op_pending))

Definition at line 28 of file pciback.h.

#define PDEVF_op_active   (1<<(_PDEVF_op_active))

Definition at line 26 of file pciback.h.

Typedef Documentation

typedef int(* publish_pci_dev_cb)(struct xen_pcibk_device *pdev, unsigned int domain, unsigned int bus, unsigned int devfn, unsigned int devid)

Definition at line 84 of file pciback.h.

typedef int(* publish_pci_root_cb)(struct xen_pcibk_device *pdev, unsigned int domain, unsigned int bus)

Definition at line 87 of file pciback.h.

Function Documentation

struct pci_dev* pcistub_get_pci_dev ( struct xen_pcibk_device pdev,
struct pci_dev dev 
)
read

Definition at line 204 of file pci_stub.c.

struct pci_dev* pcistub_get_pci_dev_by_slot ( struct xen_pcibk_device pdev,
int  domain,
int  bus,
int  slot,
int  func 
)
read

Definition at line 180 of file pci_stub.c.

void pcistub_put_pci_dev ( struct pci_dev dev)

Definition at line 224 of file pci_stub.c.

void xen_pcibk_config_free_dev ( struct pci_dev dev)

Definition at line 340 of file conf_space.c.

void xen_pcibk_config_free_dyn_fields ( struct pci_dev dev)

Definition at line 296 of file conf_space.c.

int xen_pcibk_config_init ( void  )

Definition at line 435 of file conf_space.c.

int xen_pcibk_config_init_dev ( struct pci_dev dev)

Definition at line 412 of file conf_space.c.

int xen_pcibk_config_read ( struct pci_dev dev,
int  offset,
int  size,
u32 ret_val 
)

Definition at line 144 of file conf_space.c.

void xen_pcibk_config_reset_dev ( struct pci_dev dev)

Definition at line 322 of file conf_space.c.

int xen_pcibk_config_write ( struct pci_dev dev,
int  offset,
int  size,
u32  value 
)

Definition at line 208 of file conf_space.c.

void xen_pcibk_do_op ( struct work_struct data)

Definition at line 291 of file pciback_ops.c.

irqreturn_t xen_pcibk_handle_event ( int  irq,
void dev_id 
)

Definition at line 357 of file pciback_ops.c.

void xen_pcibk_irq_handler ( struct pci_dev dev,
int  reset 
)
void xen_pcibk_reset_device ( struct pci_dev pdev)

Definition at line 100 of file pciback_ops.c.

void xen_pcibk_test_and_schedule_op ( struct xen_pcibk_device pdev)

Definition at line 270 of file pciback_ops.c.

int xen_pcibk_xenbus_register ( void  )

Definition at line 722 of file xenbus.c.

void xen_pcibk_xenbus_unregister ( void  )

Definition at line 737 of file xenbus.c.

Variable Documentation

int verbose_request

Definition at line 13 of file pciback_ops.c.

wait_queue_head_t xen_pcibk_aer_wait_queue

Definition at line 25 of file pci_stub.c.

Definition at line 720 of file xenbus.c.

struct xen_pcibk_backend xen_pcibk_passthrough_backend

Definition at line 179 of file passthrough.c.

struct list_head xen_pcibk_quirks
struct xen_pcibk_backend xen_pcibk_vpci_backend

Definition at line 251 of file vpci.c.

struct workqueue_struct* xen_pcibk_wq

Definition at line 17 of file xenbus.c.