diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2008-07-02 17:26:42 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2008-07-02 17:26:42 +0100 |
commit | 38cfc3b8d0bcfd2250bafa8efe1714f1b522d3fc (patch) | |
tree | 2076432063664702d6834595f470a6225ab0dd65 /extras/mini-os/include | |
parent | 9194f26eba9e7ce3c27863dabddafe46fcfdba58 (diff) | |
download | xen-38cfc3b8d0bcfd2250bafa8efe1714f1b522d3fc.tar.gz xen-38cfc3b8d0bcfd2250bafa8efe1714f1b522d3fc.tar.bz2 xen-38cfc3b8d0bcfd2250bafa8efe1714f1b522d3fc.zip |
minios: PIRQ and MSI/MSI-X support
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Diffstat (limited to 'extras/mini-os/include')
-rw-r--r-- | extras/mini-os/include/events.h | 1 | ||||
-rw-r--r-- | extras/mini-os/include/pcifront.h | 17 |
2 files changed, 16 insertions, 2 deletions
diff --git a/extras/mini-os/include/events.h b/extras/mini-os/include/events.h index 9ffb35d320..fd708eb5d3 100644 --- a/extras/mini-os/include/events.h +++ b/extras/mini-os/include/events.h @@ -27,6 +27,7 @@ typedef void (*evtchn_handler_t)(evtchn_port_t, struct pt_regs *, void *); /* prototypes */ int do_event(evtchn_port_t port, struct pt_regs *regs); evtchn_port_t bind_virq(uint32_t virq, evtchn_handler_t handler, void *data); +evtchn_port_t bind_pirq(uint32_t pirq, int will_share, evtchn_handler_t handler, void *data); evtchn_port_t bind_evtchn(evtchn_port_t port, evtchn_handler_t handler, void *data); void unbind_evtchn(evtchn_port_t port); diff --git a/extras/mini-os/include/pcifront.h b/extras/mini-os/include/pcifront.h index 71d4faa13d..f09769808d 100644 --- a/extras/mini-os/include/pcifront.h +++ b/extras/mini-os/include/pcifront.h @@ -2,9 +2,8 @@ #include <xen/io/pciif.h> struct pcifront_dev; struct pcifront_dev *init_pcifront(char *nodename); -void pcifront_scan(struct pcifront_dev *dev, void (*fun)(unsigned int domain, unsigned int bus, unsigned slot, unsigned int fun)); void pcifront_op(struct pcifront_dev *dev, struct xen_pci_op *op); -void shutdown_pcifront(struct pcifront_dev *dev); +void pcifront_scan(struct pcifront_dev *dev, void (*fun)(unsigned int domain, unsigned int bus, unsigned slot, unsigned int fun)); int pcifront_conf_read(struct pcifront_dev *dev, unsigned int dom, unsigned int bus, unsigned int slot, unsigned long fun, @@ -13,3 +12,17 @@ int pcifront_conf_write(struct pcifront_dev *dev, unsigned int dom, unsigned int bus, unsigned int slot, unsigned long fun, unsigned int off, unsigned int size, unsigned int val); +int pcifront_enable_msi(struct pcifront_dev *dev, + unsigned int dom, + unsigned int bus, unsigned int slot, unsigned long fun); +int pcifront_disable_msi(struct pcifront_dev *dev, + unsigned int dom, + unsigned int bus, unsigned int slot, unsigned long fun); +int pcifront_enable_msix(struct pcifront_dev *dev, + unsigned int dom, + unsigned int bus, unsigned int slot, unsigned long fun, + struct xen_msix_entry *entries, int n); +int pcifront_disable_msix(struct pcifront_dev *dev, + unsigned int dom, + unsigned int bus, unsigned int slot, unsigned long fun); +void shutdown_pcifront(struct pcifront_dev *dev); |