Statistics
| Branch: | Revision:

root / hw / msix.h @ 0ed8b6f6

History | View | Annotate | Download (1.1 kB)

1 02eb84d0 Michael S. Tsirkin
#ifndef QEMU_MSIX_H
2 02eb84d0 Michael S. Tsirkin
#define QEMU_MSIX_H
3 02eb84d0 Michael S. Tsirkin
4 02eb84d0 Michael S. Tsirkin
#include "qemu-common.h"
5 6e355d90 Isaku Yamahata
#include "pci.h"
6 02eb84d0 Michael S. Tsirkin
7 5a1fc5e8 Michael S. Tsirkin
int msix_init(PCIDevice *pdev, unsigned short nentries,
8 95524ae8 Avi Kivity
              MemoryRegion *bar,
9 5a1fc5e8 Michael S. Tsirkin
              unsigned bar_nr, unsigned bar_size);
10 02eb84d0 Michael S. Tsirkin
11 02eb84d0 Michael S. Tsirkin
void msix_write_config(PCIDevice *pci_dev, uint32_t address,
12 02eb84d0 Michael S. Tsirkin
                       uint32_t val, int len);
13 02eb84d0 Michael S. Tsirkin
14 95524ae8 Avi Kivity
int msix_uninit(PCIDevice *d, MemoryRegion *bar);
15 02eb84d0 Michael S. Tsirkin
16 cb697aaa Jan Kiszka
unsigned int msix_nr_vectors_allocated(const PCIDevice *dev);
17 cb697aaa Jan Kiszka
18 02eb84d0 Michael S. Tsirkin
void msix_save(PCIDevice *dev, QEMUFile *f);
19 02eb84d0 Michael S. Tsirkin
void msix_load(PCIDevice *dev, QEMUFile *f);
20 02eb84d0 Michael S. Tsirkin
21 02eb84d0 Michael S. Tsirkin
int msix_enabled(PCIDevice *dev);
22 02eb84d0 Michael S. Tsirkin
int msix_present(PCIDevice *dev);
23 02eb84d0 Michael S. Tsirkin
24 02eb84d0 Michael S. Tsirkin
uint32_t msix_bar_size(PCIDevice *dev);
25 02eb84d0 Michael S. Tsirkin
26 02eb84d0 Michael S. Tsirkin
int msix_vector_use(PCIDevice *dev, unsigned vector);
27 02eb84d0 Michael S. Tsirkin
void msix_vector_unuse(PCIDevice *dev, unsigned vector);
28 b5f28bca Michael S. Tsirkin
void msix_unuse_all_vectors(PCIDevice *dev);
29 02eb84d0 Michael S. Tsirkin
30 02eb84d0 Michael S. Tsirkin
void msix_notify(PCIDevice *dev, unsigned vector);
31 02eb84d0 Michael S. Tsirkin
32 02eb84d0 Michael S. Tsirkin
void msix_reset(PCIDevice *dev);
33 02eb84d0 Michael S. Tsirkin
34 2cdfe53c Jan Kiszka
int msix_set_vector_notifiers(PCIDevice *dev,
35 2cdfe53c Jan Kiszka
                              MSIVectorUseNotifier use_notifier,
36 2cdfe53c Jan Kiszka
                              MSIVectorReleaseNotifier release_notifier);
37 2cdfe53c Jan Kiszka
void msix_unset_vector_notifiers(PCIDevice *dev);
38 02eb84d0 Michael S. Tsirkin
#endif