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