/* SPDX-License-Identifier: GPL-2.0 */ /* * PCI Backend - Common data structures for overriding the configuration space * * Author: Ryan Wilson <hap9@epoch.ncsc.mil>
*/
/* conf_field_init can return an errno in a ptr with ERR_PTR() */ typedefvoid *(*conf_field_init) (struct pci_dev *dev, int offset); typedefvoid (*conf_field_reset) (struct pci_dev *dev, int offset, void *data); typedefvoid (*conf_field_free) (struct pci_dev *dev, int offset, void *data);
/* Add fields to a device - the add_fields macro expects to get a pointer to * the first entry in an array (of which the ending is marked by size==0)
*/ int xen_pcibk_config_add_field_offset(struct pci_dev *dev, conststruct config_field *field, unsignedint offset);
staticinlineint xen_pcibk_config_add_fields(struct pci_dev *dev, conststruct config_field *field)
{ int i, err = 0; for (i = 0; field[i].size != 0; i++) {
err = xen_pcibk_config_add_field(dev, &field[i]); if (err) break;
} return err;
}
staticinlineint xen_pcibk_config_add_fields_offset(struct pci_dev *dev, conststruct config_field *field, unsignedint offset)
{ int i, err = 0; for (i = 0; field[i].size != 0; i++) {
err = xen_pcibk_config_add_field_offset(dev, &field[i], offset); if (err) break;
} return err;
}
/* Read/Write the real configuration space */ int xen_pcibk_read_config_byte(struct pci_dev *dev, int offset, u8 *value, void *data); int xen_pcibk_read_config_word(struct pci_dev *dev, int offset, u16 *value, void *data); int xen_pcibk_read_config_dword(struct pci_dev *dev, int offset, u32 *value, void *data); int xen_pcibk_write_config_byte(struct pci_dev *dev, int offset, u8 value, void *data); int xen_pcibk_write_config_word(struct pci_dev *dev, int offset, u16 value, void *data); int xen_pcibk_write_config_dword(struct pci_dev *dev, int offset, u32 value, void *data);
int xen_pcibk_config_capability_init(void);
int xen_pcibk_config_header_add_fields(struct pci_dev *dev); int xen_pcibk_config_capability_add_fields(struct pci_dev *dev);
int xen_pcibk_get_interrupt_type(struct pci_dev *dev);
#endif/* __XEN_PCIBACK_CONF_SPACE_H__ */
Messung V0.5
¤ Dauer der Verarbeitung: 0.31 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.