VIRTUTECH CONFIDENTIAL    Previous - Up - Next

pci_device

Implemented By
AM79C973, BCM5703C, BCM5704C, CL-PD6729, CY82C693_0, CY82C693_1, CY82C693_2, DEC21041, DEC21140A, DEC21140A-dml, DEC21143, GT64120-pci, ISP1040, ISP2200, MD1535D-ide, MD1535D-isa, MD1535D-power, PCI0646, SIO82378ZB, SYM53C810, SYM53C875, cassini, cassini_sub, cheerio-e2bus, cheerio-hme, cpc700-pci, i21150, i21152, i21554-prim, i21554-scnd, i21555-prim, i21555-scnd, i82443bx, i82443bx_agp, i82468GX_0, piix4_ide, piix4_isa, piix4_power, piix4_usb, piix4_usb_dummy, ppc405gp-pci, ppc440gp-pci, ppc440gx-pci, ragexl, sample-pci-device, sbbc-pci, uPD66566S1016, vga_pci, voodoo3, voodoo3-agp
Description
This interface is implemented by all PCI devices (including bridges).
typedef struct {
        void (*bus_reset)(conf_object_t *obj);

        /* Interrupt Acknowlege cycle */
        int (*interrupt_acknowledge)(conf_object_t *obj);

        /* Special Cycle */
        void (*special_cycle)(conf_object_t *obj, uint32 value);

        /* System Error */
        void (*system_error)(conf_object_t *obj);

        /* peer-to-peer interrupt mechanism */
        void (*interrupt_raised)(conf_object_t *obj, int pin);
        void (*interrupt_lowered)(conf_object_t *obj, int pin);
} pci_device_interface_t;

VIRTUTECH CONFIDENTIAL    Previous - Up - Next