diff -r c783f340bef8 -r f4e09625f1dd linux-2.6-xen-sparse/drivers/xen/pciback/pciback.h --- a/linux-2.6-xen-sparse/drivers/xen/pciback/pciback.h Tue Apr 11 08:58:04 2006 +++ b/linux-2.6-xen-sparse/drivers/xen/pciback/pciback.h Tue Apr 11 17:40:03 2006 @@ -11,6 +11,8 @@ #include #include #include +#include +#include #include struct pci_dev_entry { @@ -30,10 +32,14 @@ int evtchn_irq; struct xen_pci_sharedinfo *sh_info; + atomic_t in_use; + struct work_struct op_work; }; struct pciback_dev_data { struct list_head config_fields; + int permissive; + int warned_on_write; }; /* Get/Put PCI Devices that are hidden from the PCI Backend Domain */ @@ -48,9 +54,10 @@ void pciback_reset_device(struct pci_dev *pdev); /* Access a virtual configuration space for a PCI device */ -int pciback_config_init(struct pci_dev *dev); -void pciback_config_reset(struct pci_dev *dev); -void pciback_config_free(struct pci_dev *dev); +int pciback_config_init(void); +int pciback_config_init_dev(struct pci_dev *dev); +void pciback_config_reset_dev(struct pci_dev *dev); +void pciback_config_free_dev(struct pci_dev *dev); int pciback_config_read(struct pci_dev *dev, int offset, int size, u32 * ret_val); int pciback_config_write(struct pci_dev *dev, int offset, int size, u32 value); @@ -70,6 +77,7 @@ /* Handles events from front-end */ irqreturn_t pciback_handle_event(int irq, void *dev_id, struct pt_regs *regs); +void pciback_do_op(void *data); int pciback_xenbus_register(void); void pciback_xenbus_unregister(void);