User manual
60
typedef bool (CHAPI * __chapi_intercept_bus_address_space_p)
(const struct __chapi_in * ci);
typedef void (CHAPI * __chapi_release_bus_address_space_p)
(const struct __chapi_in * ci);
typedef unsigned int (CHAPI * __chapi_get_configured_ram_size_p)
(const struct __chapi_in * ci);
typedef unsigned int (CHAPI * __chapi_get_ram_segment_p)
(const struct __chapi_in * ci, int n_of_segment, unsigned int &addr,
char * &base);
typedef void (CHAPI * __chapi_read_bus_timeout_p)
(const struct __chapi_in * ci);
typedef void (CHAPI * __chapi_read_bus_abort_p)
(const struct __chapi_in * ci);
typedef void (CHAPI * __chapi_write_bus_timeout_p)
(const struct __chapi_in * ci);
typedef void (CHAPI * __chapi_write_bus_abort_p)
(const struct __chapi_in * ci);
typedef unsigned int (CHAPI * __chapi_translate_for_dma_p)
(const struct __chapi_in * ci, unsigned int addr, unsigned int len,
char *& buf);
//-----------------------------------------------------------------------------
// Support for different buses.
//
// Supported buses
typedef enum _supported_buses_t {
UNKNOWN_BUS = 0x00000000,
QBUS = 0x00000001,
UNIBUS = 0x00000002
} supported_buses_t;
enum {
QBUS_IO_OFFSET = 0x3FE000,
QBUS_IO_SIZE = 0x002000,
QBUS_IOP_OFF_MASK = 0x001FFF,
UNIBUS_IO_OFFSET = 0x03E000,
UNIBUS_IO_SIZE = 0x002000,
UNIBUS_IOP_OFF_MASK = 0x001FFF,
QBUS_IO_LAST = QBUS_IO_OFFSET + QBUS_IO_SIZE - 1,
QU_IO_SHIFT = - QBUS_IO_OFFSET + UNIBUS_IO_OFFSET,
UNIBUS_IO_LAST = UNIBUS_IO_OFFSET + UNIBUS_IO_SIZE - 1,
UQ_IO_SHIFT = - UNIBUS_IO_OFFSET + QBUS_IO_OFFSET
};
typedef supported_buses_t (CHAPI * __chapi_get_bus_type_p)
(const struct __chapi_in * ci);
The context field is defined by the CHAPI and initialized by the CHARON solely for its own
use and shall not be changed as well as used by the component in any way.










