This interface is implemented by bus devices that are used to send interrupts between SPARC processors, and between devices and processors.
typedef int (*set_bus_id_t)(conf_object_t *obj, conf_object_t *src, int id); typedef void (*interrupt_by_id_t)(conf_object_t *obj, conf_object_t *src, int src_id, int dst_id, interrupt_ack_t interrupt_ack, uint64 *data, lang_void *usr, int dummy0, int dummy1); typedef conf_object_t *(*get_object_by_id_t)(conf_object_t *obj, int id); typedef void (*reset_all_t)(conf_object_t *obj, int reset_type); typedef struct sparc_irq_bus_interface { set_bus_id_t set_bus_id; interrupt_by_id_t interrupt_by_id; get_object_by_id_t get_object_by_id; reset_all_t reset_all; } sparc_irq_bus_interface_t; #define SPARC_IRQ_BUS_INTERFACE "sparc-irq-bus"