Statistics
| Branch: | Revision:

root / hw / msix.h @ 37952117

History | View | Annotate | Download (1.1 kB)

1
#ifndef QEMU_MSIX_H
2
#define QEMU_MSIX_H
3

    
4
#include "qemu-common.h"
5
#include "pci.h"
6

    
7
int msix_init(PCIDevice *pdev, unsigned short nentries,
8
              MemoryRegion *bar,
9
              unsigned bar_nr, unsigned bar_size);
10

    
11
void msix_write_config(PCIDevice *pci_dev, uint32_t address,
12
                       uint32_t val, int len);
13

    
14
int msix_uninit(PCIDevice *d, MemoryRegion *bar);
15

    
16
unsigned int msix_nr_vectors_allocated(const PCIDevice *dev);
17

    
18
void msix_save(PCIDevice *dev, QEMUFile *f);
19
void msix_load(PCIDevice *dev, QEMUFile *f);
20

    
21
int msix_enabled(PCIDevice *dev);
22
int msix_present(PCIDevice *dev);
23

    
24
uint32_t msix_bar_size(PCIDevice *dev);
25

    
26
int msix_vector_use(PCIDevice *dev, unsigned vector);
27
void msix_vector_unuse(PCIDevice *dev, unsigned vector);
28
void msix_unuse_all_vectors(PCIDevice *dev);
29

    
30
void msix_notify(PCIDevice *dev, unsigned vector);
31

    
32
void msix_reset(PCIDevice *dev);
33

    
34
int msix_set_vector_notifiers(PCIDevice *dev,
35
                              MSIVectorUseNotifier use_notifier,
36
                              MSIVectorReleaseNotifier release_notifier);
37
void msix_unset_vector_notifiers(PCIDevice *dev);
38
#endif