1*eb00b1c8SRobert Mustacchi /* 2*eb00b1c8SRobert Mustacchi * This file and its contents are supplied under the terms of the 3*eb00b1c8SRobert Mustacchi * Common Development and Distribution License ("CDDL"), version 1.0. 4*eb00b1c8SRobert Mustacchi * You may only use this file in accordance with the terms of version 5*eb00b1c8SRobert Mustacchi * 1.0 of the CDDL. 6*eb00b1c8SRobert Mustacchi * 7*eb00b1c8SRobert Mustacchi * A full copy of the text of the CDDL should have accompanied this 8*eb00b1c8SRobert Mustacchi * source. A copy of the CDDL is also available via the Internet at 9*eb00b1c8SRobert Mustacchi * http://www.illumos.org/license/CDDL. 10*eb00b1c8SRobert Mustacchi */ 11*eb00b1c8SRobert Mustacchi 12*eb00b1c8SRobert Mustacchi /* 13*eb00b1c8SRobert Mustacchi * Copyright 2019 Joyent, Inc. 14*eb00b1c8SRobert Mustacchi */ 15*eb00b1c8SRobert Mustacchi 16*eb00b1c8SRobert Mustacchi #include "imc_test.h" 17*eb00b1c8SRobert Mustacchi 18*eb00b1c8SRobert Mustacchi /* 19*eb00b1c8SRobert Mustacchi * Test various aspects of RIR decoding and rank interleaving. 20*eb00b1c8SRobert Mustacchi * 21*eb00b1c8SRobert Mustacchi * The first test series uses imc_rir_8w_4r_closed which basically tests our 22*eb00b1c8SRobert Mustacchi * rank interleaving across a single DIMM/channel in a closed page 23*eb00b1c8SRobert Mustacchi * configuration. Technically such a configuration has aliasing, so it 24*eb00b1c8SRobert Mustacchi * shouldn't be used in the wild. This is to validate that we're doing 25*eb00b1c8SRobert Mustacchi * interleaving with a single rule across closed pages. 26*eb00b1c8SRobert Mustacchi * 27*eb00b1c8SRobert Mustacchi * The second test set, imc_rir_4w_4r_open is similar; however, it uses open 28*eb00b1c8SRobert Mustacchi * pages instead. 29*eb00b1c8SRobert Mustacchi * 30*eb00b1c8SRobert Mustacchi * The third test set, imc_rir_8w_4r_2dpc, is used to make sure that we can 31*eb00b1c8SRobert Mustacchi * properly perform interleaving across two DIMMs in a single channel 32*eb00b1c8SRobert Mustacchi * configuration. 33*eb00b1c8SRobert Mustacchi * 34*eb00b1c8SRobert Mustacchi * The fourth test set, imc_rir_2w_1r_3dpc, is used to make sure that we can use 35*eb00b1c8SRobert Mustacchi * multiple rank interleaving rules to point us to different parts of a DIMM on 36*eb00b1c8SRobert Mustacchi * a single channel. 37*eb00b1c8SRobert Mustacchi */ 38*eb00b1c8SRobert Mustacchi 39*eb00b1c8SRobert Mustacchi static const imc_t imc_rir_8w_4r_closed = { 40*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_SANDY, 41*eb00b1c8SRobert Mustacchi .imc_nsockets = 1, 42*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 43*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 44*eb00b1c8SRobert Mustacchi .isock_sad = { 45*eb00b1c8SRobert Mustacchi .isad_flags = 0, 46*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 47*eb00b1c8SRobert Mustacchi .isad_tolm = 0x80000000, 48*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 49*eb00b1c8SRobert Mustacchi .isad_nrules = 10, 50*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 51*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 52*eb00b1c8SRobert Mustacchi .isr_limit = 0x80000000, 53*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_8t6, 54*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 55*eb00b1c8SRobert Mustacchi .isr_targets = { 0, 0, 0, 0, 0, 0, 0, 0 } 56*eb00b1c8SRobert Mustacchi } 57*eb00b1c8SRobert Mustacchi }, 58*eb00b1c8SRobert Mustacchi .isock_ntad = 1, 59*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 60*eb00b1c8SRobert Mustacchi .itad_flags = 0, 61*eb00b1c8SRobert Mustacchi .itad_nrules = 12, 62*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 63*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 64*eb00b1c8SRobert Mustacchi .itr_limit = 0x80000000, 65*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 66*eb00b1c8SRobert Mustacchi .itr_chan_way = 1, 67*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 68*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 69*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 70*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 71*eb00b1c8SRobert Mustacchi } 72*eb00b1c8SRobert Mustacchi }, 73*eb00b1c8SRobert Mustacchi .isock_nimc = 1, 74*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 75*eb00b1c8SRobert Mustacchi .icn_nchannels = 1, 76*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR3, 77*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 78*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 79*eb00b1c8SRobert Mustacchi .icn_closed = B_TRUE, 80*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 81*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 82*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 83*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 84*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 85*eb00b1c8SRobert Mustacchi .idimm_width = 8, 86*eb00b1c8SRobert Mustacchi .idimm_density = 2, 87*eb00b1c8SRobert Mustacchi .idimm_nranks = 4, 88*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 89*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 90*eb00b1c8SRobert Mustacchi .idimm_size = 0x80000000 91*eb00b1c8SRobert Mustacchi }, 92*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 93*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 94*eb00b1c8SRobert Mustacchi 0, 0 }, 95*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 96*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 97*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 98*eb00b1c8SRobert Mustacchi .irle_nways = 8, 99*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 3, 100*eb00b1c8SRobert Mustacchi .irle_limit = 0x80000000, 101*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 102*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x3, 0x0 }, 103*eb00b1c8SRobert Mustacchi .irle_entries[1] = { 0x2, 0x0 }, 104*eb00b1c8SRobert Mustacchi .irle_entries[2] = { 0x1, 0x0 }, 105*eb00b1c8SRobert Mustacchi .irle_entries[3] = { 0x0, 0x0 }, 106*eb00b1c8SRobert Mustacchi .irle_entries[4] = { 0x2, 0x0 }, 107*eb00b1c8SRobert Mustacchi .irle_entries[5] = { 0x3, 0x0 }, 108*eb00b1c8SRobert Mustacchi .irle_entries[6] = { 0x0, 0x0 }, 109*eb00b1c8SRobert Mustacchi .irle_entries[7] = { 0x1, 0x0 } 110*eb00b1c8SRobert Mustacchi } 111*eb00b1c8SRobert Mustacchi } 112*eb00b1c8SRobert Mustacchi } 113*eb00b1c8SRobert Mustacchi } 114*eb00b1c8SRobert Mustacchi }; 115*eb00b1c8SRobert Mustacchi 116*eb00b1c8SRobert Mustacchi static const imc_t imc_rir_4w_4r_open = { 117*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_SANDY, 118*eb00b1c8SRobert Mustacchi .imc_nsockets = 1, 119*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 120*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 121*eb00b1c8SRobert Mustacchi .isock_sad = { 122*eb00b1c8SRobert Mustacchi .isad_flags = 0, 123*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 124*eb00b1c8SRobert Mustacchi .isad_tolm = 0x80000000, 125*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 126*eb00b1c8SRobert Mustacchi .isad_nrules = 10, 127*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 128*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 129*eb00b1c8SRobert Mustacchi .isr_limit = 0x80000000, 130*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_8t6, 131*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 132*eb00b1c8SRobert Mustacchi .isr_targets = { 0, 0, 0, 0, 0, 0, 0, 0 } 133*eb00b1c8SRobert Mustacchi } 134*eb00b1c8SRobert Mustacchi }, 135*eb00b1c8SRobert Mustacchi .isock_ntad = 1, 136*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 137*eb00b1c8SRobert Mustacchi .itad_flags = 0, 138*eb00b1c8SRobert Mustacchi .itad_nrules = 12, 139*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 140*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 141*eb00b1c8SRobert Mustacchi .itr_limit = 0x80000000, 142*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 143*eb00b1c8SRobert Mustacchi .itr_chan_way = 1, 144*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 145*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 146*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 147*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 148*eb00b1c8SRobert Mustacchi } 149*eb00b1c8SRobert Mustacchi }, 150*eb00b1c8SRobert Mustacchi .isock_nimc = 1, 151*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 152*eb00b1c8SRobert Mustacchi .icn_nchannels = 1, 153*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR3, 154*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 155*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 156*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 157*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 158*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 159*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 160*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 161*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 162*eb00b1c8SRobert Mustacchi .idimm_width = 8, 163*eb00b1c8SRobert Mustacchi .idimm_density = 2, 164*eb00b1c8SRobert Mustacchi .idimm_nranks = 8, 165*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 166*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 167*eb00b1c8SRobert Mustacchi .idimm_size = 0x80000000 168*eb00b1c8SRobert Mustacchi }, 169*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 170*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 171*eb00b1c8SRobert Mustacchi 0, 0 }, 172*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 173*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 174*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 175*eb00b1c8SRobert Mustacchi .irle_nways = 4, 176*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 2, 177*eb00b1c8SRobert Mustacchi .irle_limit = 0x80000000, 178*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 179*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x2, 0x0 }, 180*eb00b1c8SRobert Mustacchi .irle_entries[1] = { 0x0, 0x0 }, 181*eb00b1c8SRobert Mustacchi .irle_entries[2] = { 0x3, 0x0 }, 182*eb00b1c8SRobert Mustacchi .irle_entries[3] = { 0x1, 0x0 }, 183*eb00b1c8SRobert Mustacchi } 184*eb00b1c8SRobert Mustacchi } 185*eb00b1c8SRobert Mustacchi } 186*eb00b1c8SRobert Mustacchi } 187*eb00b1c8SRobert Mustacchi }; 188*eb00b1c8SRobert Mustacchi 189*eb00b1c8SRobert Mustacchi static const imc_t imc_rir_8w_4r_2dpc = { 190*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_SANDY, 191*eb00b1c8SRobert Mustacchi .imc_nsockets = 1, 192*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 193*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 194*eb00b1c8SRobert Mustacchi .isock_sad = { 195*eb00b1c8SRobert Mustacchi .isad_flags = 0, 196*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 197*eb00b1c8SRobert Mustacchi .isad_tolm = 0x100000000ULL, 198*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 199*eb00b1c8SRobert Mustacchi .isad_nrules = 10, 200*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 201*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 202*eb00b1c8SRobert Mustacchi .isr_limit = 0x100000000ULL, 203*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_8t6, 204*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 205*eb00b1c8SRobert Mustacchi .isr_targets = { 0, 0, 0, 0, 0, 0, 0, 0 } 206*eb00b1c8SRobert Mustacchi } 207*eb00b1c8SRobert Mustacchi }, 208*eb00b1c8SRobert Mustacchi .isock_ntad = 1, 209*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 210*eb00b1c8SRobert Mustacchi .itad_flags = 0, 211*eb00b1c8SRobert Mustacchi .itad_nrules = 12, 212*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 213*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 214*eb00b1c8SRobert Mustacchi .itr_limit = 0x100000000ULL, 215*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 216*eb00b1c8SRobert Mustacchi .itr_chan_way = 1, 217*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 218*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 219*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 220*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 221*eb00b1c8SRobert Mustacchi } 222*eb00b1c8SRobert Mustacchi }, 223*eb00b1c8SRobert Mustacchi .isock_nimc = 1, 224*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 225*eb00b1c8SRobert Mustacchi .icn_nchannels = 1, 226*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR3, 227*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 228*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 229*eb00b1c8SRobert Mustacchi .icn_closed = B_TRUE, 230*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 231*eb00b1c8SRobert Mustacchi .ich_ndimms = 2, 232*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 233*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 234*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 235*eb00b1c8SRobert Mustacchi .idimm_width = 8, 236*eb00b1c8SRobert Mustacchi .idimm_density = 2, 237*eb00b1c8SRobert Mustacchi .idimm_nranks = 4, 238*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 239*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 240*eb00b1c8SRobert Mustacchi .idimm_size = 0x80000000 241*eb00b1c8SRobert Mustacchi }, 242*eb00b1c8SRobert Mustacchi .ich_dimms[1] = { 243*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 244*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 245*eb00b1c8SRobert Mustacchi .idimm_width = 8, 246*eb00b1c8SRobert Mustacchi .idimm_density = 2, 247*eb00b1c8SRobert Mustacchi .idimm_nranks = 4, 248*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 249*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 250*eb00b1c8SRobert Mustacchi .idimm_size = 0x80000000 251*eb00b1c8SRobert Mustacchi }, 252*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 253*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 254*eb00b1c8SRobert Mustacchi 0, 0 }, 255*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 256*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 257*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 258*eb00b1c8SRobert Mustacchi .irle_nways = 8, 259*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 3, 260*eb00b1c8SRobert Mustacchi .irle_limit = 0x100000000ULL, 261*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 262*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 263*eb00b1c8SRobert Mustacchi .irle_entries[1] = { 0x4, 0x0 }, 264*eb00b1c8SRobert Mustacchi .irle_entries[2] = { 0x1, 0x0 }, 265*eb00b1c8SRobert Mustacchi .irle_entries[3] = { 0x5, 0x0 }, 266*eb00b1c8SRobert Mustacchi .irle_entries[4] = { 0x2, 0x0 }, 267*eb00b1c8SRobert Mustacchi .irle_entries[5] = { 0x6, 0x0 }, 268*eb00b1c8SRobert Mustacchi .irle_entries[6] = { 0x3, 0x0 }, 269*eb00b1c8SRobert Mustacchi .irle_entries[7] = { 0x7, 0x0 } 270*eb00b1c8SRobert Mustacchi } 271*eb00b1c8SRobert Mustacchi } 272*eb00b1c8SRobert Mustacchi } 273*eb00b1c8SRobert Mustacchi } 274*eb00b1c8SRobert Mustacchi }; 275*eb00b1c8SRobert Mustacchi 276*eb00b1c8SRobert Mustacchi static const imc_t imc_rir_2w_1r_3dpc = { 277*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_HASWELL, 278*eb00b1c8SRobert Mustacchi .imc_nsockets = 1, 279*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 280*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 281*eb00b1c8SRobert Mustacchi .isock_sad = { 282*eb00b1c8SRobert Mustacchi .isad_flags = 0, 283*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 284*eb00b1c8SRobert Mustacchi .isad_tolm = 0x180000000ULL, 285*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 286*eb00b1c8SRobert Mustacchi .isad_nrules = 10, 287*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 288*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 289*eb00b1c8SRobert Mustacchi .isr_limit = 0x180000000ULL, 290*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_8t6, 291*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 292*eb00b1c8SRobert Mustacchi .isr_targets = { 0, 0, 0, 0, 0, 0, 0, 0 } 293*eb00b1c8SRobert Mustacchi } 294*eb00b1c8SRobert Mustacchi }, 295*eb00b1c8SRobert Mustacchi .isock_ntad = 1, 296*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 297*eb00b1c8SRobert Mustacchi .itad_flags = 0, 298*eb00b1c8SRobert Mustacchi .itad_nrules = 12, 299*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 300*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 301*eb00b1c8SRobert Mustacchi .itr_limit = 0x180000000ULL, 302*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 303*eb00b1c8SRobert Mustacchi .itr_chan_way = 1, 304*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 305*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 306*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 307*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 308*eb00b1c8SRobert Mustacchi } 309*eb00b1c8SRobert Mustacchi }, 310*eb00b1c8SRobert Mustacchi .isock_nimc = 1, 311*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 312*eb00b1c8SRobert Mustacchi .icn_nchannels = 1, 313*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR3, 314*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 315*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 316*eb00b1c8SRobert Mustacchi .icn_closed = B_TRUE, 317*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 318*eb00b1c8SRobert Mustacchi .ich_ndimms = 3, 319*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 320*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 321*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 322*eb00b1c8SRobert Mustacchi .idimm_width = 8, 323*eb00b1c8SRobert Mustacchi .idimm_density = 2, 324*eb00b1c8SRobert Mustacchi .idimm_nranks = 1, 325*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 326*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 327*eb00b1c8SRobert Mustacchi .idimm_size = 0x80000000 328*eb00b1c8SRobert Mustacchi }, 329*eb00b1c8SRobert Mustacchi .ich_dimms[1] = { 330*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 331*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 332*eb00b1c8SRobert Mustacchi .idimm_width = 8, 333*eb00b1c8SRobert Mustacchi .idimm_density = 2, 334*eb00b1c8SRobert Mustacchi .idimm_nranks = 1, 335*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 336*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 337*eb00b1c8SRobert Mustacchi .idimm_size = 0x80000000 338*eb00b1c8SRobert Mustacchi }, 339*eb00b1c8SRobert Mustacchi .ich_dimms[2] = { 340*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 341*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 342*eb00b1c8SRobert Mustacchi .idimm_width = 8, 343*eb00b1c8SRobert Mustacchi .idimm_density = 2, 344*eb00b1c8SRobert Mustacchi .idimm_nranks = 1, 345*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 346*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 347*eb00b1c8SRobert Mustacchi .idimm_size = 0x80000000 348*eb00b1c8SRobert Mustacchi }, 349*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 350*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 351*eb00b1c8SRobert Mustacchi 0, 0 }, 352*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 353*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 354*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 355*eb00b1c8SRobert Mustacchi .irle_nways = 2, 356*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 357*eb00b1c8SRobert Mustacchi .irle_limit = 0x80000000, 358*eb00b1c8SRobert Mustacchi .irle_nentries = 2, 359*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x4, 0x0 }, 360*eb00b1c8SRobert Mustacchi .irle_entries[1] = { 0x0, 0x0 }, 361*eb00b1c8SRobert Mustacchi }, 362*eb00b1c8SRobert Mustacchi .ich_rankileaves[1] = { 363*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 364*eb00b1c8SRobert Mustacchi .irle_nways = 2, 365*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 366*eb00b1c8SRobert Mustacchi .irle_limit = 0x100000000ULL, 367*eb00b1c8SRobert Mustacchi .irle_nentries = 2, 368*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x8, 0x40000000 }, 369*eb00b1c8SRobert Mustacchi .irle_entries[1] = { 0x4, 0x0 }, 370*eb00b1c8SRobert Mustacchi }, 371*eb00b1c8SRobert Mustacchi .ich_rankileaves[2] = { 372*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 373*eb00b1c8SRobert Mustacchi .irle_nways = 2, 374*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 375*eb00b1c8SRobert Mustacchi .irle_limit = 0x180000000ULL, 376*eb00b1c8SRobert Mustacchi .irle_nentries = 2, 377*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x8, 0x40000000 }, 378*eb00b1c8SRobert Mustacchi .irle_entries[1] = { 0x0, 0x40000000 }, 379*eb00b1c8SRobert Mustacchi } 380*eb00b1c8SRobert Mustacchi } 381*eb00b1c8SRobert Mustacchi } 382*eb00b1c8SRobert Mustacchi } 383*eb00b1c8SRobert Mustacchi }; 384*eb00b1c8SRobert Mustacchi 385*eb00b1c8SRobert Mustacchi 386*eb00b1c8SRobert Mustacchi const imc_test_case_t imc_test_rir[] = { { 387*eb00b1c8SRobert Mustacchi .itc_desc = "RIR target 0, 8-way/4-rank, closed (1)", 388*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_closed, 389*eb00b1c8SRobert Mustacchi .itc_pa = 0x0, 390*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 391*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 392*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 393*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 394*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0, 395*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 396*eb00b1c8SRobert Mustacchi .itc_rankid = 3, 397*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0 398*eb00b1c8SRobert Mustacchi }, { 399*eb00b1c8SRobert Mustacchi .itc_desc = "RIR target 1, 8-way/4-rank, closed", 400*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_closed, 401*eb00b1c8SRobert Mustacchi .itc_pa = 0x40, 402*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 403*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 404*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 405*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 406*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x40, 407*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 408*eb00b1c8SRobert Mustacchi .itc_rankid = 2, 409*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0 410*eb00b1c8SRobert Mustacchi }, { 411*eb00b1c8SRobert Mustacchi .itc_desc = "RIR target 2, 8-way/4-rank, closed", 412*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_closed, 413*eb00b1c8SRobert Mustacchi .itc_pa = 0x80, 414*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 415*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 416*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 417*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 418*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x80, 419*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 420*eb00b1c8SRobert Mustacchi .itc_rankid = 1, 421*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0 422*eb00b1c8SRobert Mustacchi }, { 423*eb00b1c8SRobert Mustacchi .itc_desc = "RIR target 3, 8-way/4-rank, closed", 424*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_closed, 425*eb00b1c8SRobert Mustacchi .itc_pa = 0xc0, 426*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 427*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 428*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 429*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 430*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0xc0, 431*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 432*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 433*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0 434*eb00b1c8SRobert Mustacchi }, { 435*eb00b1c8SRobert Mustacchi .itc_desc = "RIR target 4, 8-way/4-rank, closed", 436*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_closed, 437*eb00b1c8SRobert Mustacchi .itc_pa = 0x100, 438*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 439*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 440*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 441*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 442*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x100, 443*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 444*eb00b1c8SRobert Mustacchi .itc_rankid = 2, 445*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0 446*eb00b1c8SRobert Mustacchi }, { 447*eb00b1c8SRobert Mustacchi .itc_desc = "RIR target 5, 8-way/4-rank, closed", 448*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_closed, 449*eb00b1c8SRobert Mustacchi .itc_pa = 0x140, 450*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 451*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 452*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 453*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 454*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x140, 455*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 456*eb00b1c8SRobert Mustacchi .itc_rankid = 3, 457*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0 458*eb00b1c8SRobert Mustacchi }, { 459*eb00b1c8SRobert Mustacchi .itc_desc = "RIR target 6, 8-way/4-rank, closed", 460*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_closed, 461*eb00b1c8SRobert Mustacchi .itc_pa = 0x180, 462*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 463*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 464*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 465*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 466*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x180, 467*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 468*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 469*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0 470*eb00b1c8SRobert Mustacchi }, { 471*eb00b1c8SRobert Mustacchi .itc_desc = "RIR target 7, 8-way/4-rank, closed", 472*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_closed, 473*eb00b1c8SRobert Mustacchi .itc_pa = 0x1c0, 474*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 475*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 476*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 477*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 478*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x1c0, 479*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 480*eb00b1c8SRobert Mustacchi .itc_rankid = 1, 481*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0 482*eb00b1c8SRobert Mustacchi }, { 483*eb00b1c8SRobert Mustacchi .itc_desc = "8-way/4-rank misc, closed (1)", 484*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_closed, 485*eb00b1c8SRobert Mustacchi .itc_pa = 0x4000012f, 486*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 487*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 488*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 489*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 490*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x4000012f, 491*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 492*eb00b1c8SRobert Mustacchi .itc_rankid = 2, 493*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x800002f 494*eb00b1c8SRobert Mustacchi }, { 495*eb00b1c8SRobert Mustacchi .itc_desc = "8-way/4-rank misc, closed (2)", 496*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_closed, 497*eb00b1c8SRobert Mustacchi .itc_pa = 0x76543210, 498*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 499*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 500*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 501*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 502*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x76543210, 503*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 504*eb00b1c8SRobert Mustacchi .itc_rankid = 3, 505*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0xeca8650 506*eb00b1c8SRobert Mustacchi }, { 507*eb00b1c8SRobert Mustacchi .itc_desc = "8-way/4-rank misc, closed (3)", 508*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_closed, 509*eb00b1c8SRobert Mustacchi .itc_pa = 0x12345678, 510*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 511*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 512*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 513*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 514*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x12345678, 515*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 516*eb00b1c8SRobert Mustacchi .itc_rankid = 2, 517*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x2468af8 518*eb00b1c8SRobert Mustacchi }, { 519*eb00b1c8SRobert Mustacchi .itc_desc = "8-way/4-rank misc, closed (4)", 520*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_closed, 521*eb00b1c8SRobert Mustacchi .itc_pa = 0x232023, 522*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 523*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 524*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 525*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 526*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x232023, 527*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 528*eb00b1c8SRobert Mustacchi .itc_rankid = 3, 529*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x46423, 530*eb00b1c8SRobert Mustacchi }, { 531*eb00b1c8SRobert Mustacchi .itc_desc = "8-way/4-rank misc, closed (5)", 532*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_closed, 533*eb00b1c8SRobert Mustacchi .itc_pa = 0x232063, 534*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 535*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 536*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 537*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 538*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x232063, 539*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 540*eb00b1c8SRobert Mustacchi .itc_rankid = 2, 541*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x46423, 542*eb00b1c8SRobert Mustacchi }, { 543*eb00b1c8SRobert Mustacchi .itc_desc = "8-way/4-rank misc, closed (6)", 544*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_closed, 545*eb00b1c8SRobert Mustacchi .itc_pa = 0x2320a3, 546*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 547*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 548*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 549*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 550*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x2320a3, 551*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 552*eb00b1c8SRobert Mustacchi .itc_rankid = 1, 553*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x46423, 554*eb00b1c8SRobert Mustacchi }, { 555*eb00b1c8SRobert Mustacchi .itc_desc = "8-way/4-rank misc, closed (7)", 556*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_closed, 557*eb00b1c8SRobert Mustacchi .itc_pa = 0x2320e3, 558*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 559*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 560*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 561*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 562*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x2320e3, 563*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 564*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 565*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x46423, 566*eb00b1c8SRobert Mustacchi }, { 567*eb00b1c8SRobert Mustacchi .itc_desc = "8-way/4-rank misc, closed (8)", 568*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_closed, 569*eb00b1c8SRobert Mustacchi .itc_pa = 0x232123, 570*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 571*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 572*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 573*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 574*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x232123, 575*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 576*eb00b1c8SRobert Mustacchi .itc_rankid = 2, 577*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x46423, 578*eb00b1c8SRobert Mustacchi }, { 579*eb00b1c8SRobert Mustacchi .itc_desc = "8-way/4-rank misc, closed (9)", 580*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_closed, 581*eb00b1c8SRobert Mustacchi .itc_pa = 0x232163, 582*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 583*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 584*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 585*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 586*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x232163, 587*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 588*eb00b1c8SRobert Mustacchi .itc_rankid = 3, 589*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x46423, 590*eb00b1c8SRobert Mustacchi }, { 591*eb00b1c8SRobert Mustacchi .itc_desc = "8-way/4-rank misc, closed (10)", 592*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_closed, 593*eb00b1c8SRobert Mustacchi .itc_pa = 0x2321a3, 594*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 595*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 596*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 597*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 598*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x2321a3, 599*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 600*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 601*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x46423, 602*eb00b1c8SRobert Mustacchi }, { 603*eb00b1c8SRobert Mustacchi .itc_desc = "8-way/4-rank misc, closed (11)", 604*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_closed, 605*eb00b1c8SRobert Mustacchi .itc_pa = 0x2321e3, 606*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 607*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 608*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 609*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 610*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x2321e3, 611*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 612*eb00b1c8SRobert Mustacchi .itc_rankid = 1, 613*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x46423, 614*eb00b1c8SRobert Mustacchi }, { 615*eb00b1c8SRobert Mustacchi .itc_desc = "4-way/4-rank, open (1)", 616*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_4w_4r_open, 617*eb00b1c8SRobert Mustacchi .itc_pa = 0x0, 618*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 619*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 620*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 621*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 622*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0, 623*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 624*eb00b1c8SRobert Mustacchi .itc_rankid = 2, 625*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0, 626*eb00b1c8SRobert Mustacchi }, { 627*eb00b1c8SRobert Mustacchi .itc_desc = "4-way/4-rank, open (2)", 628*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_4w_4r_open, 629*eb00b1c8SRobert Mustacchi .itc_pa = 0x2000, 630*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 631*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 632*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 633*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 634*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x2000, 635*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 636*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 637*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0 638*eb00b1c8SRobert Mustacchi }, { 639*eb00b1c8SRobert Mustacchi .itc_desc = "4-way/4-rank, open (3)", 640*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_4w_4r_open, 641*eb00b1c8SRobert Mustacchi .itc_pa = 0x4000, 642*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 643*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 644*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 645*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 646*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x4000, 647*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 648*eb00b1c8SRobert Mustacchi .itc_rankid = 3, 649*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0 650*eb00b1c8SRobert Mustacchi }, { 651*eb00b1c8SRobert Mustacchi .itc_desc = "4-way/4-rank, open (4)", 652*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_4w_4r_open, 653*eb00b1c8SRobert Mustacchi .itc_pa = 0x6000, 654*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 655*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 656*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 657*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 658*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x6000, 659*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 660*eb00b1c8SRobert Mustacchi .itc_rankid = 1, 661*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0 662*eb00b1c8SRobert Mustacchi }, { 663*eb00b1c8SRobert Mustacchi .itc_desc = "4-way/4-rank, open (5)", 664*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_4w_4r_open, 665*eb00b1c8SRobert Mustacchi .itc_pa = 0x1234567, 666*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 667*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 668*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 669*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 670*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x1234567, 671*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 672*eb00b1c8SRobert Mustacchi .itc_rankid = 3, 673*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x48c567 674*eb00b1c8SRobert Mustacchi }, { 675*eb00b1c8SRobert Mustacchi .itc_desc = "4-way/4-rank, open (6)", 676*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_4w_4r_open, 677*eb00b1c8SRobert Mustacchi .itc_pa = 0x76543210, 678*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 679*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 680*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 681*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 682*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x76543210, 683*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 684*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 685*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x1d951210 686*eb00b1c8SRobert Mustacchi }, { 687*eb00b1c8SRobert Mustacchi .itc_desc = "2DPC (1)", 688*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_2dpc, 689*eb00b1c8SRobert Mustacchi .itc_pa = 0xecdabcfe, 690*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 691*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 692*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 693*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 694*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0xecdabcfe, 695*eb00b1c8SRobert Mustacchi .itc_dimmid = 1, 696*eb00b1c8SRobert Mustacchi .itc_rankid = 1, 697*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x1d9b57be 698*eb00b1c8SRobert Mustacchi }, { 699*eb00b1c8SRobert Mustacchi .itc_desc = "2DPC (2)", 700*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_2dpc, 701*eb00b1c8SRobert Mustacchi .itc_pa = 0xecdabd3e, 702*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 703*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 704*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 705*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 706*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0xecdabd3e, 707*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 708*eb00b1c8SRobert Mustacchi .itc_rankid = 2, 709*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x1d9b57be, 710*eb00b1c8SRobert Mustacchi }, { 711*eb00b1c8SRobert Mustacchi .itc_desc = "2DPC (3)", 712*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_2dpc, 713*eb00b1c8SRobert Mustacchi .itc_pa = 0xecdabd7e, 714*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 715*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 716*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 717*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 718*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0xecdabd7e, 719*eb00b1c8SRobert Mustacchi .itc_dimmid = 1, 720*eb00b1c8SRobert Mustacchi .itc_rankid = 2, 721*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x1d9b57be 722*eb00b1c8SRobert Mustacchi }, { 723*eb00b1c8SRobert Mustacchi .itc_desc = "2DPC (4)", 724*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_2dpc, 725*eb00b1c8SRobert Mustacchi .itc_pa = 0xecdabdbe, 726*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 727*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 728*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 729*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 730*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0xecdabdbe, 731*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 732*eb00b1c8SRobert Mustacchi .itc_rankid = 3, 733*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x1d9b57be 734*eb00b1c8SRobert Mustacchi }, { 735*eb00b1c8SRobert Mustacchi .itc_desc = "2DPC (5)", 736*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_2dpc, 737*eb00b1c8SRobert Mustacchi .itc_pa = 0xecdabdfe, 738*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 739*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 740*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 741*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 742*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0xecdabdfe, 743*eb00b1c8SRobert Mustacchi .itc_dimmid = 1, 744*eb00b1c8SRobert Mustacchi .itc_rankid = 3, 745*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x1d9b57be 746*eb00b1c8SRobert Mustacchi }, { 747*eb00b1c8SRobert Mustacchi .itc_desc = "2DPC (6)", 748*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_2dpc, 749*eb00b1c8SRobert Mustacchi .itc_pa = 0xecdabe3e, 750*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 751*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 752*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 753*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 754*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0xecdabe3e, 755*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 756*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 757*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x1d9b57fe 758*eb00b1c8SRobert Mustacchi }, { 759*eb00b1c8SRobert Mustacchi .itc_desc = "2DPC (7)", 760*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_2dpc, 761*eb00b1c8SRobert Mustacchi .itc_pa = 0xecdabe7e, 762*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 763*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 764*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 765*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 766*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0xecdabe7e, 767*eb00b1c8SRobert Mustacchi .itc_dimmid = 1, 768*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 769*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x1d9b57fe 770*eb00b1c8SRobert Mustacchi }, { 771*eb00b1c8SRobert Mustacchi .itc_desc = "2DPC (8)", 772*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_8w_4r_2dpc, 773*eb00b1c8SRobert Mustacchi .itc_pa = 0xecdabebe, 774*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 775*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 776*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 777*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 778*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0xecdabebe, 779*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 780*eb00b1c8SRobert Mustacchi .itc_rankid = 1, 781*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x1d9b57fe 782*eb00b1c8SRobert Mustacchi }, { 783*eb00b1c8SRobert Mustacchi .itc_desc = "Multi-RIR 1R 3DPC (1)", 784*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_2w_1r_3dpc, 785*eb00b1c8SRobert Mustacchi .itc_pa = 0x0, 786*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 787*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 788*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 789*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 790*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0, 791*eb00b1c8SRobert Mustacchi .itc_dimmid = 1, 792*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 793*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0 794*eb00b1c8SRobert Mustacchi }, { 795*eb00b1c8SRobert Mustacchi .itc_desc = "Multi-RIR 1R 3DPC (2)", 796*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_2w_1r_3dpc, 797*eb00b1c8SRobert Mustacchi .itc_pa = 0x80000000ULL, 798*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 799*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 800*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 801*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 802*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x80000000ULL, 803*eb00b1c8SRobert Mustacchi .itc_dimmid = 2, 804*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 805*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0 806*eb00b1c8SRobert Mustacchi }, { 807*eb00b1c8SRobert Mustacchi .itc_desc = "Multi-RIR 1R 3DPC (3)", 808*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_2w_1r_3dpc, 809*eb00b1c8SRobert Mustacchi .itc_pa = 0x100000000ULL, 810*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 811*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 812*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 813*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 814*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x100000000ULL, 815*eb00b1c8SRobert Mustacchi .itc_dimmid = 2, 816*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 817*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x40000000 818*eb00b1c8SRobert Mustacchi }, { 819*eb00b1c8SRobert Mustacchi .itc_desc = "Multi-RIR 1R 3DPC (4)", 820*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_2w_1r_3dpc, 821*eb00b1c8SRobert Mustacchi .itc_pa = 0x654321f5, 822*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 823*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 824*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 825*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 826*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x654321f5, 827*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 828*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 829*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x32a190f5 830*eb00b1c8SRobert Mustacchi }, { 831*eb00b1c8SRobert Mustacchi .itc_desc = "Multi-RIR 1R 3DPC (5)", 832*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_2w_1r_3dpc, 833*eb00b1c8SRobert Mustacchi .itc_pa = 0xdaddadf5, 834*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 835*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 836*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 837*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 838*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0xdaddadf5, 839*eb00b1c8SRobert Mustacchi .itc_dimmid = 1, 840*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 841*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x6d6ed6f5 842*eb00b1c8SRobert Mustacchi }, { 843*eb00b1c8SRobert Mustacchi .itc_desc = "Multi-RIR 1R 3DPC (6)", 844*eb00b1c8SRobert Mustacchi .itc_imc = &imc_rir_2w_1r_3dpc, 845*eb00b1c8SRobert Mustacchi .itc_pa = 0x170ff6099ULL, 846*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 847*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 848*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 849*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 850*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x170ff6099ULL, 851*eb00b1c8SRobert Mustacchi .itc_dimmid = 2, 852*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 853*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x787fb059 854*eb00b1c8SRobert Mustacchi }, { 855*eb00b1c8SRobert Mustacchi .itc_desc = NULL 856*eb00b1c8SRobert Mustacchi } }; 857