msix.h 864 B

12345678910111213141516171819202122232425262728293031323334
  1. #ifndef QEMU_MSIX_H
  2. #define QEMU_MSIX_H
  3. #include "qemu-common.h"
  4. #include "pci.h"
  5. int msix_init(PCIDevice *pdev, unsigned short nentries,
  6. MemoryRegion *bar,
  7. unsigned bar_nr, unsigned bar_size);
  8. void msix_write_config(PCIDevice *pci_dev, uint32_t address,
  9. uint32_t val, int len);
  10. int msix_uninit(PCIDevice *d, MemoryRegion *bar);
  11. void msix_save(PCIDevice *dev, QEMUFile *f);
  12. void msix_load(PCIDevice *dev, QEMUFile *f);
  13. int msix_enabled(PCIDevice *dev);
  14. int msix_present(PCIDevice *dev);
  15. uint32_t msix_bar_size(PCIDevice *dev);
  16. int msix_vector_use(PCIDevice *dev, unsigned vector);
  17. void msix_vector_unuse(PCIDevice *dev, unsigned vector);
  18. void msix_unuse_all_vectors(PCIDevice *dev);
  19. void msix_notify(PCIDevice *dev, unsigned vector);
  20. void msix_reset(PCIDevice *dev);
  21. extern int msix_supported;
  22. #endif