1#ifndef _GPXE_PCIBACKUP_H 2#define _GPXE_PCIBACKUP_H 3 4/** @file 5 * 6 * PCI configuration space backup and restoration 7 * 8 */ 9 10FILE_LICENCE ( GPL2_OR_LATER ); 11 12#include <stdint.h> 13 14/** A PCI configuration space backup */ 15struct 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 26extern void pci_backup ( struct pci_device *pci, 27 struct pci_config_backup *backup, 28 const uint8_t *exclude ); 29extern 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