VIRTUTECH CONFIDENTIAL    Previous - Up - Next

sparc_irq_bus

Implemented By
sparc-irq-bus
Description
Handle interrupts over a bus.

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"

VIRTUTECH CONFIDENTIAL    Previous - Up - Next