You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

pcibackup.h 808B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef _IPXE_PCIBACKUP_H
  2. #define _IPXE_PCIBACKUP_H
  3. /** @file
  4. *
  5. * PCI configuration space backup and restoration
  6. *
  7. */
  8. FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
  9. #include <stdint.h>
  10. /** A PCI configuration space backup */
  11. struct pci_config_backup {
  12. uint32_t dwords[64];
  13. };
  14. /** PCI configuration space backup exclusion list end marker */
  15. #define PCI_CONFIG_BACKUP_EXCLUDE_END 0xff
  16. /** Define a PCI configuration space backup exclusion list */
  17. #define PCI_CONFIG_BACKUP_EXCLUDE(...) \
  18. { __VA_ARGS__, PCI_CONFIG_BACKUP_EXCLUDE_END }
  19. extern void pci_backup ( struct pci_device *pci,
  20. struct pci_config_backup *backup,
  21. const uint8_t *exclude );
  22. extern void pci_restore ( struct pci_device *pci,
  23. struct pci_config_backup *backup,
  24. const uint8_t *exclude );
  25. #endif /* _IPXE_PCIBACKUP_H */