msix.h 928 B

123456789101112131415161718192021222324252627282930313233343536
  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. unsigned bar_nr, unsigned bar_size);
  7. void msix_write_config(PCIDevice *pci_dev, uint32_t address,
  8. uint32_t val, int len);
  9. void msix_mmio_map(PCIDevice *pci_dev, int region_num,
  10. pcibus_t addr, pcibus_t size, int type);
  11. int msix_uninit(PCIDevice *d);
  12. void msix_save(PCIDevice *dev, QEMUFile *f);
  13. void msix_load(PCIDevice *dev, QEMUFile *f);
  14. int msix_enabled(PCIDevice *dev);
  15. int msix_present(PCIDevice *dev);
  16. uint32_t msix_bar_size(PCIDevice *dev);
  17. int msix_vector_use(PCIDevice *dev, unsigned vector);
  18. void msix_vector_unuse(PCIDevice *dev, unsigned vector);
  19. void msix_unuse_all_vectors(PCIDevice *dev);
  20. void msix_notify(PCIDevice *dev, unsigned vector);
  21. void msix_reset(PCIDevice *dev);
  22. extern int msix_supported;
  23. #endif