imc
static void imc(void *, bus_dma_segment_t *, int, int);
bus_dmamap_load(isp->isp_osinfo.cdmat, isp->isp_osinfo.cdmap, base, len, imc, &im, 0);
#define E5_IMC_CHAN_FIELDS(v, imc, c, c_ext) \
.cpgc_slot = PCISLOT_E5V##v##_IMC##imc##_CPGC, \
.cpgc_func = PCIFUNC_E5V##v##_IMC##imc##_CPGC, \
.cpgc_did = PCI_E5V##v##_IMC##imc##_CPGC_DID_ID, \
.ctad_slot = PCISLOT_E5V##v##_IMC##imc##_CTAD, \
.ctad_func = PCIFUNC_E5V##v##_IMC##imc##_CTAD(c), \
.ctad_did = PCI_E5V##v##_IMC##imc##_CTAD_DID_ID(c) \
#define ECC_E5_CHAN(v, imc, c, c_ext) \
.did = PCI_E5V##v##_IMC##imc##_ERROR_CHN##c##_DID_ID, \
.slot = PCISLOT_E5V##v##_IMC##imc##_ERROR_CHN##c, \
.func = PCIFUNC_E5V##v##_IMC##imc##_ERROR_CHN##c, \
E5_IMC_CHAN_FIELDS(v, imc, c, c_ext) \
#define MEMTEMP_E5_CHAN(v, imc, c, c_ext) \
.did = PCI_E5V##v##_IMC##imc##_THERMAL_CHN##c##_DID_ID, \
.slot = PCISLOT_E5V##v##_IMC##imc##_THERMAL_CHN##c, \
.func = PCIFUNC_E5V##v##_IMC##imc##_THERMAL_CHN##c, \
E5_IMC_CHAN_FIELDS(v, imc, c, c_ext) \