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 * This tests various aspects of the target address decoder. 20*eb00b1c8SRobert Mustacchi * 21*eb00b1c8SRobert Mustacchi * o TAD rules with different channel interleaving 22*eb00b1c8SRobert Mustacchi * o TAD rules with channel shifting (IVB->BRD) 23*eb00b1c8SRobert Mustacchi * o TAD rules with channel hashing (IVB->BRD) 24*eb00b1c8SRobert Mustacchi * o TAD rules with different granularities (SKX) 25*eb00b1c8SRobert Mustacchi * o Channel rules with mod2/3 variants (SKX) 26*eb00b1c8SRobert Mustacchi * 27*eb00b1c8SRobert Mustacchi * We use the most basic of SAD rules and RIR rules when constructing these. 28*eb00b1c8SRobert Mustacchi * Those are more generally exercised elsewhere. Basic socket granularity rules 29*eb00b1c8SRobert Mustacchi * are tested in imc_test_sad.c. 30*eb00b1c8SRobert Mustacchi * 31*eb00b1c8SRobert Mustacchi * There are currently no tests for mirroring or lockstep mode as that's not 32*eb00b1c8SRobert Mustacchi * more generally supported. 33*eb00b1c8SRobert Mustacchi */ 34*eb00b1c8SRobert Mustacchi 35*eb00b1c8SRobert Mustacchi static const imc_t imc_tad_1s_2cw = { 36*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_SANDY, 37*eb00b1c8SRobert Mustacchi .imc_nsockets = 1, 38*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 39*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 40*eb00b1c8SRobert Mustacchi .isock_sad = { 41*eb00b1c8SRobert Mustacchi .isad_flags = 0, 42*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 43*eb00b1c8SRobert Mustacchi .isad_tolm = 0x80000000, 44*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 45*eb00b1c8SRobert Mustacchi .isad_nrules = 10, 46*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 47*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 48*eb00b1c8SRobert Mustacchi .isr_limit = 0x80000000, 49*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_8t6, 50*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 51*eb00b1c8SRobert Mustacchi .isr_targets = { 0, 0, 0, 0, 0, 0, 0, 0 } 52*eb00b1c8SRobert Mustacchi } 53*eb00b1c8SRobert Mustacchi }, 54*eb00b1c8SRobert Mustacchi .isock_ntad = 1, 55*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 56*eb00b1c8SRobert Mustacchi .itad_flags = 0, 57*eb00b1c8SRobert Mustacchi .itad_nrules = 12, 58*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 59*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 60*eb00b1c8SRobert Mustacchi .itr_limit = 0x80000000, 61*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 62*eb00b1c8SRobert Mustacchi .itr_chan_way = 2, 63*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 64*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 65*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 66*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 1, 0, 0 } 67*eb00b1c8SRobert Mustacchi } 68*eb00b1c8SRobert Mustacchi }, 69*eb00b1c8SRobert Mustacchi .isock_nimc = 1, 70*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 71*eb00b1c8SRobert Mustacchi .icn_nchannels = 2, 72*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR3, 73*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 74*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 75*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 76*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 77*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 78*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 79*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 80*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 81*eb00b1c8SRobert Mustacchi .idimm_width = 8, 82*eb00b1c8SRobert Mustacchi .idimm_density = 2, 83*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 84*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 85*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 86*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 87*eb00b1c8SRobert Mustacchi }, 88*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 89*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 90*eb00b1c8SRobert Mustacchi 0, 0 }, 91*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 92*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 93*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 94*eb00b1c8SRobert Mustacchi .irle_nways = 1, 95*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 96*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 97*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 98*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 99*eb00b1c8SRobert Mustacchi } 100*eb00b1c8SRobert Mustacchi }, 101*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 102*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 103*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 104*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 105*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 106*eb00b1c8SRobert Mustacchi .idimm_width = 8, 107*eb00b1c8SRobert Mustacchi .idimm_density = 2, 108*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 109*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 110*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 111*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 112*eb00b1c8SRobert Mustacchi }, 113*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 114*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 115*eb00b1c8SRobert Mustacchi 0, 0 }, 116*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 117*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 118*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 119*eb00b1c8SRobert Mustacchi .irle_nways = 1, 120*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 121*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 122*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 123*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 124*eb00b1c8SRobert Mustacchi } 125*eb00b1c8SRobert Mustacchi } 126*eb00b1c8SRobert Mustacchi } 127*eb00b1c8SRobert Mustacchi } 128*eb00b1c8SRobert Mustacchi }; 129*eb00b1c8SRobert Mustacchi 130*eb00b1c8SRobert Mustacchi /* 131*eb00b1c8SRobert Mustacchi * This IMC has the a7mode/McChanShiftUp set. This means that instead of using 132*eb00b1c8SRobert Mustacchi * bits 0-6 for an address, it should use bits 0-7. 133*eb00b1c8SRobert Mustacchi */ 134*eb00b1c8SRobert Mustacchi static const imc_t imc_tad_1s_2cw_shiftup = { 135*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_IVY, 136*eb00b1c8SRobert Mustacchi .imc_nsockets = 1, 137*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 138*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 139*eb00b1c8SRobert Mustacchi .isock_sad = { 140*eb00b1c8SRobert Mustacchi .isad_flags = 0, 141*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 142*eb00b1c8SRobert Mustacchi .isad_tolm = 0x80000000, 143*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 144*eb00b1c8SRobert Mustacchi .isad_nrules = 10, 145*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 146*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 147*eb00b1c8SRobert Mustacchi .isr_limit = 0x80000000, 148*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_8t6, 149*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 150*eb00b1c8SRobert Mustacchi .isr_a7mode = B_TRUE, 151*eb00b1c8SRobert Mustacchi .isr_targets = { 0, 0, 0, 0, 0, 0, 0, 0 } 152*eb00b1c8SRobert Mustacchi } 153*eb00b1c8SRobert Mustacchi }, 154*eb00b1c8SRobert Mustacchi .isock_ntad = 1, 155*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 156*eb00b1c8SRobert Mustacchi .itad_flags = IMC_TAD_FLAG_CHANSHIFT, 157*eb00b1c8SRobert Mustacchi .itad_nrules = 12, 158*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 159*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 160*eb00b1c8SRobert Mustacchi .itr_limit = 0x80000000, 161*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 162*eb00b1c8SRobert Mustacchi .itr_chan_way = 2, 163*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 164*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 165*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 166*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 1, 0, 0 } 167*eb00b1c8SRobert Mustacchi } 168*eb00b1c8SRobert Mustacchi }, 169*eb00b1c8SRobert Mustacchi .isock_nimc = 1, 170*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 171*eb00b1c8SRobert Mustacchi .icn_nchannels = 2, 172*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR3, 173*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 174*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 175*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 176*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 177*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 178*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 179*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 180*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 181*eb00b1c8SRobert Mustacchi .idimm_width = 8, 182*eb00b1c8SRobert Mustacchi .idimm_density = 2, 183*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 184*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 185*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 186*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 187*eb00b1c8SRobert Mustacchi }, 188*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 189*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 190*eb00b1c8SRobert Mustacchi 0, 0 }, 191*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 192*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 193*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 194*eb00b1c8SRobert Mustacchi .irle_nways = 1, 195*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 196*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 197*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 198*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 199*eb00b1c8SRobert Mustacchi } 200*eb00b1c8SRobert Mustacchi }, 201*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 202*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 203*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 204*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 205*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 206*eb00b1c8SRobert Mustacchi .idimm_width = 8, 207*eb00b1c8SRobert Mustacchi .idimm_density = 2, 208*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 209*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 210*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 211*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 212*eb00b1c8SRobert Mustacchi }, 213*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 214*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 215*eb00b1c8SRobert Mustacchi 0, 0 }, 216*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 217*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 218*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 219*eb00b1c8SRobert Mustacchi .irle_nways = 1, 220*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 221*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 222*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 223*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 224*eb00b1c8SRobert Mustacchi } 225*eb00b1c8SRobert Mustacchi } 226*eb00b1c8SRobert Mustacchi } 227*eb00b1c8SRobert Mustacchi } 228*eb00b1c8SRobert Mustacchi }; 229*eb00b1c8SRobert Mustacchi 230*eb00b1c8SRobert Mustacchi /* 231*eb00b1c8SRobert Mustacchi * This IMC has the channel hashing mode set on all of the channels in question. 232*eb00b1c8SRobert Mustacchi * This means that the TAD will hash the upper address bits into the channel 233*eb00b1c8SRobert Mustacchi * determination. 234*eb00b1c8SRobert Mustacchi */ 235*eb00b1c8SRobert Mustacchi static const imc_t imc_tad_1s_2cw_chanhash = { 236*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_HASWELL, 237*eb00b1c8SRobert Mustacchi .imc_nsockets = 1, 238*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 239*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 240*eb00b1c8SRobert Mustacchi .isock_sad = { 241*eb00b1c8SRobert Mustacchi .isad_flags = 0, 242*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 243*eb00b1c8SRobert Mustacchi .isad_tolm = 0x80000000, 244*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 245*eb00b1c8SRobert Mustacchi .isad_nrules = 10, 246*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 247*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 248*eb00b1c8SRobert Mustacchi .isr_limit = 0x80000000, 249*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_8t6, 250*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 251*eb00b1c8SRobert Mustacchi .isr_targets = { 0, 0, 0, 0, 0, 0, 0, 0 } 252*eb00b1c8SRobert Mustacchi } 253*eb00b1c8SRobert Mustacchi }, 254*eb00b1c8SRobert Mustacchi .isock_ntad = 1, 255*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 256*eb00b1c8SRobert Mustacchi .itad_flags = IMC_TAD_FLAG_CHANHASH, 257*eb00b1c8SRobert Mustacchi .itad_nrules = 12, 258*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 259*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 260*eb00b1c8SRobert Mustacchi .itr_limit = 0x80000000, 261*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 262*eb00b1c8SRobert Mustacchi .itr_chan_way = 2, 263*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 264*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 265*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 266*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 1, 0, 0 } 267*eb00b1c8SRobert Mustacchi } 268*eb00b1c8SRobert Mustacchi }, 269*eb00b1c8SRobert Mustacchi .isock_nimc = 1, 270*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 271*eb00b1c8SRobert Mustacchi .icn_nchannels = 2, 272*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR3, 273*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 274*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 275*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 276*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 277*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 278*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 279*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 280*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 281*eb00b1c8SRobert Mustacchi .idimm_width = 8, 282*eb00b1c8SRobert Mustacchi .idimm_density = 2, 283*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 284*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 285*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 286*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 287*eb00b1c8SRobert Mustacchi }, 288*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 289*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 290*eb00b1c8SRobert Mustacchi 0, 0 }, 291*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 292*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 293*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 294*eb00b1c8SRobert Mustacchi .irle_nways = 1, 295*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 296*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 297*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 298*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 299*eb00b1c8SRobert Mustacchi } 300*eb00b1c8SRobert Mustacchi }, 301*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 302*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 303*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 304*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 305*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 306*eb00b1c8SRobert Mustacchi .idimm_width = 8, 307*eb00b1c8SRobert Mustacchi .idimm_density = 2, 308*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 309*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 310*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 311*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 312*eb00b1c8SRobert Mustacchi }, 313*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 314*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 315*eb00b1c8SRobert Mustacchi 0, 0 }, 316*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 317*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 318*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 319*eb00b1c8SRobert Mustacchi .irle_nways = 1, 320*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 321*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 322*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 323*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 324*eb00b1c8SRobert Mustacchi } 325*eb00b1c8SRobert Mustacchi } 326*eb00b1c8SRobert Mustacchi } 327*eb00b1c8SRobert Mustacchi } 328*eb00b1c8SRobert Mustacchi }; 329*eb00b1c8SRobert Mustacchi 330*eb00b1c8SRobert Mustacchi /* 331*eb00b1c8SRobert Mustacchi * This IMC has different TAD rules that cover different ranges, which change 332*eb00b1c8SRobert Mustacchi * how we interleave. The main goal is to make sure that we're always going to 333*eb00b1c8SRobert Mustacchi * the right place. This also requires us to set TAD offsets on a 334*eb00b1c8SRobert Mustacchi * per-channel/TAD rule basis. These are required to correctly make sure that we 335*eb00b1c8SRobert Mustacchi * map things. The following is how the address space should in theory look. We 336*eb00b1c8SRobert Mustacchi * have 2 GiB (0x80000000) of address space. We break that into 4 512 MiB 337*eb00b1c8SRobert Mustacchi * chunks. The first and last are 2-way interleaved. The middle two are 1-way 338*eb00b1c8SRobert Mustacchi * interleaved to a specific channel. 339*eb00b1c8SRobert Mustacchi */ 340*eb00b1c8SRobert Mustacchi static const imc_t imc_tad_1s_multirule = { 341*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_BROADWELL, 342*eb00b1c8SRobert Mustacchi .imc_nsockets = 1, 343*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 344*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 345*eb00b1c8SRobert Mustacchi .isock_sad = { 346*eb00b1c8SRobert Mustacchi .isad_flags = 0, 347*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 348*eb00b1c8SRobert Mustacchi .isad_tolm = 0x80000000, 349*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 350*eb00b1c8SRobert Mustacchi .isad_nrules = 10, 351*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 352*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 353*eb00b1c8SRobert Mustacchi .isr_limit = 0x80000000, 354*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_8t6, 355*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 356*eb00b1c8SRobert Mustacchi .isr_targets = { 0, 0, 0, 0, 0, 0, 0, 0 } 357*eb00b1c8SRobert Mustacchi } 358*eb00b1c8SRobert Mustacchi }, 359*eb00b1c8SRobert Mustacchi .isock_ntad = 1, 360*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 361*eb00b1c8SRobert Mustacchi .itad_flags = 0, 362*eb00b1c8SRobert Mustacchi .itad_nrules = 12, 363*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 364*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 365*eb00b1c8SRobert Mustacchi .itr_limit = 0x20000000, 366*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 367*eb00b1c8SRobert Mustacchi .itr_chan_way = 2, 368*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 369*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 370*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 371*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 1, 0, 0 } 372*eb00b1c8SRobert Mustacchi }, 373*eb00b1c8SRobert Mustacchi .itad_rules[1] = { 374*eb00b1c8SRobert Mustacchi .itr_base = 0x20000000, 375*eb00b1c8SRobert Mustacchi .itr_limit = 0x40000000, 376*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 377*eb00b1c8SRobert Mustacchi .itr_chan_way = 1, 378*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 379*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 380*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 381*eb00b1c8SRobert Mustacchi .itr_targets = { 1, 1, 0, 0 } 382*eb00b1c8SRobert Mustacchi }, 383*eb00b1c8SRobert Mustacchi .itad_rules[2] = { 384*eb00b1c8SRobert Mustacchi .itr_base = 0x40000000, 385*eb00b1c8SRobert Mustacchi .itr_limit = 0x60000000, 386*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 387*eb00b1c8SRobert Mustacchi .itr_chan_way = 1, 388*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 389*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 390*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 391*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 392*eb00b1c8SRobert Mustacchi }, 393*eb00b1c8SRobert Mustacchi .itad_rules[3] = { 394*eb00b1c8SRobert Mustacchi .itr_base = 0x60000000, 395*eb00b1c8SRobert Mustacchi .itr_limit = 0x80000000, 396*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 397*eb00b1c8SRobert Mustacchi .itr_chan_way = 2, 398*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 399*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 400*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 401*eb00b1c8SRobert Mustacchi .itr_targets = { 1, 0, 0, 0 } 402*eb00b1c8SRobert Mustacchi } 403*eb00b1c8SRobert Mustacchi }, 404*eb00b1c8SRobert Mustacchi .isock_nimc = 1, 405*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 406*eb00b1c8SRobert Mustacchi .icn_nchannels = 2, 407*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR3, 408*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 409*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 410*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 411*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 412*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 413*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 414*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 415*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 416*eb00b1c8SRobert Mustacchi .idimm_width = 8, 417*eb00b1c8SRobert Mustacchi .idimm_density = 2, 418*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 419*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 420*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 421*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 422*eb00b1c8SRobert Mustacchi }, 423*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 424*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0x30000000, 0, 0, 425*eb00b1c8SRobert Mustacchi 0, 0, 0, 0, 0, 0 }, 426*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 427*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 428*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 429*eb00b1c8SRobert Mustacchi .irle_nways = 1, 430*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 431*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 432*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 433*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 434*eb00b1c8SRobert Mustacchi } 435*eb00b1c8SRobert Mustacchi }, 436*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 437*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 438*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 439*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 440*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 441*eb00b1c8SRobert Mustacchi .idimm_width = 8, 442*eb00b1c8SRobert Mustacchi .idimm_density = 2, 443*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 444*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 445*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 446*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 447*eb00b1c8SRobert Mustacchi }, 448*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 449*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0x10000000, 0, 0, 0, 0, 450*eb00b1c8SRobert Mustacchi 0, 0, 0, 0, 0 }, 451*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 452*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 453*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 454*eb00b1c8SRobert Mustacchi .irle_nways = 1, 455*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 456*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 457*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 458*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 459*eb00b1c8SRobert Mustacchi } 460*eb00b1c8SRobert Mustacchi } 461*eb00b1c8SRobert Mustacchi } 462*eb00b1c8SRobert Mustacchi } 463*eb00b1c8SRobert Mustacchi }; 464*eb00b1c8SRobert Mustacchi 465*eb00b1c8SRobert Mustacchi /* 466*eb00b1c8SRobert Mustacchi * The purpse of this IMC is to use a combination of both socket and channel 467*eb00b1c8SRobert Mustacchi * interleaving. It employs a system with two sockets, each which have 2 IMCs. 468*eb00b1c8SRobert Mustacchi * Each IMC has two channels. We have a 4-way socket interleave followed by a 469*eb00b1c8SRobert Mustacchi * 2-way channel interleave. We use a simplified memory layout (TOLM = 4 GiB) to 470*eb00b1c8SRobert Mustacchi * simplify other rules. 471*eb00b1c8SRobert Mustacchi */ 472*eb00b1c8SRobert Mustacchi static const imc_t imc_tad_2s_2cw_4sw = { 473*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_IVY, 474*eb00b1c8SRobert Mustacchi .imc_nsockets = 2, 475*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 476*eb00b1c8SRobert Mustacchi .isock_nodeid = 0, 477*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 478*eb00b1c8SRobert Mustacchi .isock_sad = { 479*eb00b1c8SRobert Mustacchi .isad_flags = 0, 480*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 481*eb00b1c8SRobert Mustacchi .isad_tolm = 0x100000000ULL, 482*eb00b1c8SRobert Mustacchi .isad_tohm = 0x200000000ULL, 483*eb00b1c8SRobert Mustacchi .isad_nrules = 10, 484*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 485*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 486*eb00b1c8SRobert Mustacchi .isr_limit = 0x200000000ULL, 487*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_8t6, 488*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 489*eb00b1c8SRobert Mustacchi .isr_targets = { 0, 4, 1, 5, 0, 4, 1, 5 } 490*eb00b1c8SRobert Mustacchi } 491*eb00b1c8SRobert Mustacchi }, 492*eb00b1c8SRobert Mustacchi .isock_ntad = 2, 493*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 494*eb00b1c8SRobert Mustacchi .itad_flags = 0, 495*eb00b1c8SRobert Mustacchi .itad_nrules = 12, 496*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 497*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 498*eb00b1c8SRobert Mustacchi .itr_limit = 0x200000000ULL, 499*eb00b1c8SRobert Mustacchi .itr_sock_way = 4, 500*eb00b1c8SRobert Mustacchi .itr_chan_way = 2, 501*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 502*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 503*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 504*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 1, 0, 0 } 505*eb00b1c8SRobert Mustacchi } 506*eb00b1c8SRobert Mustacchi }, 507*eb00b1c8SRobert Mustacchi .isock_tad[1] = { 508*eb00b1c8SRobert Mustacchi .itad_flags = 0, 509*eb00b1c8SRobert Mustacchi .itad_nrules = 12, 510*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 511*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 512*eb00b1c8SRobert Mustacchi .itr_limit = 0x200000000ULL, 513*eb00b1c8SRobert Mustacchi .itr_sock_way = 4, 514*eb00b1c8SRobert Mustacchi .itr_chan_way = 2, 515*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 516*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 517*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 518*eb00b1c8SRobert Mustacchi .itr_targets = { 1, 0, 0, 0 } 519*eb00b1c8SRobert Mustacchi } 520*eb00b1c8SRobert Mustacchi }, 521*eb00b1c8SRobert Mustacchi .isock_nimc = 2, 522*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 523*eb00b1c8SRobert Mustacchi .icn_nchannels = 2, 524*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR3, 525*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 526*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 527*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 528*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 529*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 530*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 531*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 532*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 533*eb00b1c8SRobert Mustacchi .idimm_width = 8, 534*eb00b1c8SRobert Mustacchi .idimm_density = 2, 535*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 536*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 537*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 538*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 539*eb00b1c8SRobert Mustacchi }, 540*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 541*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 542*eb00b1c8SRobert Mustacchi 0, 0 }, 543*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 544*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 545*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 546*eb00b1c8SRobert Mustacchi .irle_nways = 1, 547*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 548*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 549*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 550*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 551*eb00b1c8SRobert Mustacchi } 552*eb00b1c8SRobert Mustacchi }, 553*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 554*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 555*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 556*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 557*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 558*eb00b1c8SRobert Mustacchi .idimm_width = 8, 559*eb00b1c8SRobert Mustacchi .idimm_density = 2, 560*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 561*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 562*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 563*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 564*eb00b1c8SRobert Mustacchi }, 565*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 566*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 567*eb00b1c8SRobert Mustacchi 0, 0 }, 568*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 569*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 570*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 571*eb00b1c8SRobert Mustacchi .irle_nways = 1, 572*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 573*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 574*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 575*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 576*eb00b1c8SRobert Mustacchi } 577*eb00b1c8SRobert Mustacchi } 578*eb00b1c8SRobert Mustacchi }, 579*eb00b1c8SRobert Mustacchi .isock_imcs[1] = { 580*eb00b1c8SRobert Mustacchi .icn_nchannels = 2, 581*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR3, 582*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 583*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 584*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 585*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 586*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 587*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 588*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 589*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 590*eb00b1c8SRobert Mustacchi .idimm_width = 8, 591*eb00b1c8SRobert Mustacchi .idimm_density = 2, 592*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 593*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 594*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 595*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 596*eb00b1c8SRobert Mustacchi }, 597*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 598*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 599*eb00b1c8SRobert Mustacchi 0, 0 }, 600*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 601*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 602*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 603*eb00b1c8SRobert Mustacchi .irle_nways = 1, 604*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 605*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 606*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 607*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 608*eb00b1c8SRobert Mustacchi } 609*eb00b1c8SRobert Mustacchi }, 610*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 611*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 612*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 613*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 614*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 615*eb00b1c8SRobert Mustacchi .idimm_width = 8, 616*eb00b1c8SRobert Mustacchi .idimm_density = 2, 617*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 618*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 619*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 620*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 621*eb00b1c8SRobert Mustacchi }, 622*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 623*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 624*eb00b1c8SRobert Mustacchi 0, 0 }, 625*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 626*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 627*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 628*eb00b1c8SRobert Mustacchi .irle_nways = 1, 629*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 630*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 631*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 632*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 633*eb00b1c8SRobert Mustacchi } 634*eb00b1c8SRobert Mustacchi } 635*eb00b1c8SRobert Mustacchi } 636*eb00b1c8SRobert Mustacchi }, 637*eb00b1c8SRobert Mustacchi .imc_sockets[1] = { 638*eb00b1c8SRobert Mustacchi .isock_nodeid = 1, 639*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 640*eb00b1c8SRobert Mustacchi .isock_sad = { 641*eb00b1c8SRobert Mustacchi .isad_flags = 0, 642*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 643*eb00b1c8SRobert Mustacchi .isad_tolm = 0x80000000, 644*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 645*eb00b1c8SRobert Mustacchi .isad_nrules = 10, 646*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 647*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 648*eb00b1c8SRobert Mustacchi .isr_limit = 0x80000000, 649*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_8t6, 650*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 651*eb00b1c8SRobert Mustacchi .isr_targets = { 0, 4, 1, 5, 0, 4, 1, 5 } 652*eb00b1c8SRobert Mustacchi } 653*eb00b1c8SRobert Mustacchi }, 654*eb00b1c8SRobert Mustacchi .isock_ntad = 2, 655*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 656*eb00b1c8SRobert Mustacchi .itad_flags = 0, 657*eb00b1c8SRobert Mustacchi .itad_nrules = 12, 658*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 659*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 660*eb00b1c8SRobert Mustacchi .itr_limit = 0x200000000ULL, 661*eb00b1c8SRobert Mustacchi .itr_sock_way = 4, 662*eb00b1c8SRobert Mustacchi .itr_chan_way = 2, 663*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 664*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 665*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 666*eb00b1c8SRobert Mustacchi .itr_targets = { 1, 0, 0, 0 } 667*eb00b1c8SRobert Mustacchi } 668*eb00b1c8SRobert Mustacchi }, 669*eb00b1c8SRobert Mustacchi .isock_tad[1] = { 670*eb00b1c8SRobert Mustacchi .itad_flags = 0, 671*eb00b1c8SRobert Mustacchi .itad_nrules = 12, 672*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 673*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 674*eb00b1c8SRobert Mustacchi .itr_limit = 0x200000000ULL, 675*eb00b1c8SRobert Mustacchi .itr_sock_way = 4, 676*eb00b1c8SRobert Mustacchi .itr_chan_way = 2, 677*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 678*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 679*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 680*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 1, 0, 0 } 681*eb00b1c8SRobert Mustacchi } 682*eb00b1c8SRobert Mustacchi }, 683*eb00b1c8SRobert Mustacchi .isock_nimc = 2, 684*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 685*eb00b1c8SRobert Mustacchi .icn_nchannels = 2, 686*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR3, 687*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 688*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 689*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 690*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 691*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 692*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 693*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 694*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 695*eb00b1c8SRobert Mustacchi .idimm_width = 8, 696*eb00b1c8SRobert Mustacchi .idimm_density = 2, 697*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 698*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 699*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 700*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 701*eb00b1c8SRobert Mustacchi }, 702*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 703*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 704*eb00b1c8SRobert Mustacchi 0, 0 }, 705*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 706*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 707*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 708*eb00b1c8SRobert Mustacchi .irle_nways = 1, 709*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 710*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 711*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 712*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 713*eb00b1c8SRobert Mustacchi } 714*eb00b1c8SRobert Mustacchi }, 715*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 716*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 717*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 718*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 719*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 720*eb00b1c8SRobert Mustacchi .idimm_width = 8, 721*eb00b1c8SRobert Mustacchi .idimm_density = 2, 722*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 723*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 724*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 725*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 726*eb00b1c8SRobert Mustacchi }, 727*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 728*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 729*eb00b1c8SRobert Mustacchi 0, 0 }, 730*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 731*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 732*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 733*eb00b1c8SRobert Mustacchi .irle_nways = 1, 734*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 735*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 736*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 737*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 738*eb00b1c8SRobert Mustacchi } 739*eb00b1c8SRobert Mustacchi } 740*eb00b1c8SRobert Mustacchi }, 741*eb00b1c8SRobert Mustacchi .isock_imcs[1] = { 742*eb00b1c8SRobert Mustacchi .icn_nchannels = 2, 743*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR3, 744*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 745*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 746*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 747*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 748*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 749*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 750*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 751*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 752*eb00b1c8SRobert Mustacchi .idimm_width = 8, 753*eb00b1c8SRobert Mustacchi .idimm_density = 2, 754*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 755*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 756*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 757*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 758*eb00b1c8SRobert Mustacchi }, 759*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 760*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 761*eb00b1c8SRobert Mustacchi 0, 0 }, 762*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 763*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 764*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 765*eb00b1c8SRobert Mustacchi .irle_nways = 1, 766*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 767*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 768*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 769*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 770*eb00b1c8SRobert Mustacchi } 771*eb00b1c8SRobert Mustacchi }, 772*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 773*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 774*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 775*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 776*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 777*eb00b1c8SRobert Mustacchi .idimm_width = 8, 778*eb00b1c8SRobert Mustacchi .idimm_density = 2, 779*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 780*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 781*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 782*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 783*eb00b1c8SRobert Mustacchi }, 784*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 785*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 786*eb00b1c8SRobert Mustacchi 0, 0 }, 787*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 8, 788*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 789*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 790*eb00b1c8SRobert Mustacchi .irle_nways = 1, 791*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 792*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 793*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 794*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 795*eb00b1c8SRobert Mustacchi } 796*eb00b1c8SRobert Mustacchi } 797*eb00b1c8SRobert Mustacchi } 798*eb00b1c8SRobert Mustacchi } 799*eb00b1c8SRobert Mustacchi }; 800*eb00b1c8SRobert Mustacchi 801*eb00b1c8SRobert Mustacchi /* 802*eb00b1c8SRobert Mustacchi * This IMC has a single socket with two IMCs and two channels. It uses the 803*eb00b1c8SRobert Mustacchi * default granularities and sizes. This just serves as a basis for the 804*eb00b1c8SRobert Mustacchi * subsequent tests. 805*eb00b1c8SRobert Mustacchi */ 806*eb00b1c8SRobert Mustacchi static const imc_t imc_skx_64b_gran = { 807*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_SKYLAKE, 808*eb00b1c8SRobert Mustacchi .imc_nsockets = 1, 809*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 810*eb00b1c8SRobert Mustacchi .isock_nodeid = 0, 811*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 812*eb00b1c8SRobert Mustacchi .isock_sad = { 813*eb00b1c8SRobert Mustacchi .isad_flags = 0, 814*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 815*eb00b1c8SRobert Mustacchi .isad_tolm = 0x80000000, 816*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 817*eb00b1c8SRobert Mustacchi .isad_nrules = 24, 818*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 819*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 820*eb00b1c8SRobert Mustacchi .isr_limit = 0x80000000, 821*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_8t6, 822*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 823*eb00b1c8SRobert Mustacchi .isr_targets = { 8, 9, 8, 9, 8, 9, 8, 9 } 824*eb00b1c8SRobert Mustacchi }, 825*eb00b1c8SRobert Mustacchi .isad_mcroute = { 826*eb00b1c8SRobert Mustacchi .ismc_nroutes = 6, 827*eb00b1c8SRobert Mustacchi .ismc_mcroutes[0] = { 0, 0 }, 828*eb00b1c8SRobert Mustacchi .ismc_mcroutes[1] = { 0, 1 } 829*eb00b1c8SRobert Mustacchi } 830*eb00b1c8SRobert Mustacchi }, 831*eb00b1c8SRobert Mustacchi .isock_ntad = 1, 832*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 833*eb00b1c8SRobert Mustacchi .itad_flags = 0, 834*eb00b1c8SRobert Mustacchi .itad_nrules = 8, 835*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 836*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 837*eb00b1c8SRobert Mustacchi .itr_limit = 0x80000000, 838*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 839*eb00b1c8SRobert Mustacchi .itr_chan_way = 2, 840*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 841*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 842*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 843*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 844*eb00b1c8SRobert Mustacchi } 845*eb00b1c8SRobert Mustacchi }, 846*eb00b1c8SRobert Mustacchi .isock_nimc = 1, 847*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 848*eb00b1c8SRobert Mustacchi .icn_nchannels = 2, 849*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR4, 850*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 851*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 852*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 853*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 854*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 855*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 856*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 857*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 858*eb00b1c8SRobert Mustacchi .idimm_width = 8, 859*eb00b1c8SRobert Mustacchi .idimm_density = 2, 860*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 861*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 862*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 863*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 864*eb00b1c8SRobert Mustacchi }, 865*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 866*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 867*eb00b1c8SRobert Mustacchi 0, 0 }, 868*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 869*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 870*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 871*eb00b1c8SRobert Mustacchi .irle_nways = 1, 872*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 873*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 874*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 875*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 876*eb00b1c8SRobert Mustacchi } 877*eb00b1c8SRobert Mustacchi }, 878*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 879*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 880*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 881*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 882*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 883*eb00b1c8SRobert Mustacchi .idimm_width = 8, 884*eb00b1c8SRobert Mustacchi .idimm_density = 2, 885*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 886*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 887*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 888*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 889*eb00b1c8SRobert Mustacchi }, 890*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 891*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 892*eb00b1c8SRobert Mustacchi 0, 0 }, 893*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 894*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 895*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 896*eb00b1c8SRobert Mustacchi .irle_nways = 1, 897*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 898*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 899*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 900*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 901*eb00b1c8SRobert Mustacchi } 902*eb00b1c8SRobert Mustacchi } 903*eb00b1c8SRobert Mustacchi } 904*eb00b1c8SRobert Mustacchi } 905*eb00b1c8SRobert Mustacchi }; 906*eb00b1c8SRobert Mustacchi 907*eb00b1c8SRobert Mustacchi /* 908*eb00b1c8SRobert Mustacchi * This tests a different channel granularity. Note the channel and socket 909*eb00b1c8SRobert Mustacchi * granulariites match at this point in time to simplify the test. 910*eb00b1c8SRobert Mustacchi */ 911*eb00b1c8SRobert Mustacchi static const imc_t imc_skx_256b_gran = { 912*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_SKYLAKE, 913*eb00b1c8SRobert Mustacchi .imc_nsockets = 1, 914*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 915*eb00b1c8SRobert Mustacchi .isock_nodeid = 0, 916*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 917*eb00b1c8SRobert Mustacchi .isock_sad = { 918*eb00b1c8SRobert Mustacchi .isad_flags = 0, 919*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 920*eb00b1c8SRobert Mustacchi .isad_tolm = 0x80000000, 921*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 922*eb00b1c8SRobert Mustacchi .isad_nrules = 24, 923*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 924*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 925*eb00b1c8SRobert Mustacchi .isr_limit = 0x80000000, 926*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_10t8, 927*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 928*eb00b1c8SRobert Mustacchi .isr_targets = { 8, 9, 8, 9, 8, 9, 8, 9 } 929*eb00b1c8SRobert Mustacchi }, 930*eb00b1c8SRobert Mustacchi .isad_mcroute = { 931*eb00b1c8SRobert Mustacchi .ismc_nroutes = 6, 932*eb00b1c8SRobert Mustacchi .ismc_mcroutes[0] = { 0, 0 }, 933*eb00b1c8SRobert Mustacchi .ismc_mcroutes[1] = { 0, 1 } 934*eb00b1c8SRobert Mustacchi } 935*eb00b1c8SRobert Mustacchi }, 936*eb00b1c8SRobert Mustacchi .isock_ntad = 1, 937*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 938*eb00b1c8SRobert Mustacchi .itad_flags = 0, 939*eb00b1c8SRobert Mustacchi .itad_nrules = 8, 940*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 941*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 942*eb00b1c8SRobert Mustacchi .itr_limit = 0x80000000, 943*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 944*eb00b1c8SRobert Mustacchi .itr_chan_way = 2, 945*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_256B, 946*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_256B, 947*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 948*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 949*eb00b1c8SRobert Mustacchi } 950*eb00b1c8SRobert Mustacchi }, 951*eb00b1c8SRobert Mustacchi .isock_nimc = 1, 952*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 953*eb00b1c8SRobert Mustacchi .icn_nchannels = 2, 954*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR4, 955*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 956*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 957*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 958*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 959*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 960*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 961*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 962*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 963*eb00b1c8SRobert Mustacchi .idimm_width = 8, 964*eb00b1c8SRobert Mustacchi .idimm_density = 2, 965*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 966*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 967*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 968*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 969*eb00b1c8SRobert Mustacchi }, 970*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 971*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 972*eb00b1c8SRobert Mustacchi 0, 0 }, 973*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 974*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 975*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 976*eb00b1c8SRobert Mustacchi .irle_nways = 1, 977*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 978*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 979*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 980*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 981*eb00b1c8SRobert Mustacchi } 982*eb00b1c8SRobert Mustacchi }, 983*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 984*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 985*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 986*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 987*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 988*eb00b1c8SRobert Mustacchi .idimm_width = 8, 989*eb00b1c8SRobert Mustacchi .idimm_density = 2, 990*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 991*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 992*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 993*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 994*eb00b1c8SRobert Mustacchi }, 995*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 996*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 997*eb00b1c8SRobert Mustacchi 0, 0 }, 998*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 999*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1000*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1001*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1002*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1003*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1004*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1005*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1006*eb00b1c8SRobert Mustacchi } 1007*eb00b1c8SRobert Mustacchi } 1008*eb00b1c8SRobert Mustacchi } 1009*eb00b1c8SRobert Mustacchi } 1010*eb00b1c8SRobert Mustacchi }; 1011*eb00b1c8SRobert Mustacchi 1012*eb00b1c8SRobert Mustacchi /* 1013*eb00b1c8SRobert Mustacchi * This time, use a 4k granularity. 1014*eb00b1c8SRobert Mustacchi */ 1015*eb00b1c8SRobert Mustacchi static const imc_t imc_skx_4k_gran = { 1016*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_SKYLAKE, 1017*eb00b1c8SRobert Mustacchi .imc_nsockets = 1, 1018*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 1019*eb00b1c8SRobert Mustacchi .isock_nodeid = 0, 1020*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 1021*eb00b1c8SRobert Mustacchi .isock_sad = { 1022*eb00b1c8SRobert Mustacchi .isad_flags = 0, 1023*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 1024*eb00b1c8SRobert Mustacchi .isad_tolm = 0x80000000, 1025*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 1026*eb00b1c8SRobert Mustacchi .isad_nrules = 24, 1027*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 1028*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 1029*eb00b1c8SRobert Mustacchi .isr_limit = 0x80000000, 1030*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_14t12, 1031*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 1032*eb00b1c8SRobert Mustacchi .isr_targets = { 8, 9, 8, 9, 8, 9, 8, 9 } 1033*eb00b1c8SRobert Mustacchi }, 1034*eb00b1c8SRobert Mustacchi .isad_mcroute = { 1035*eb00b1c8SRobert Mustacchi .ismc_nroutes = 6, 1036*eb00b1c8SRobert Mustacchi .ismc_mcroutes[0] = { 0, 0 }, 1037*eb00b1c8SRobert Mustacchi .ismc_mcroutes[1] = { 0, 1 } 1038*eb00b1c8SRobert Mustacchi } 1039*eb00b1c8SRobert Mustacchi }, 1040*eb00b1c8SRobert Mustacchi .isock_ntad = 1, 1041*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 1042*eb00b1c8SRobert Mustacchi .itad_flags = 0, 1043*eb00b1c8SRobert Mustacchi .itad_nrules = 8, 1044*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 1045*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 1046*eb00b1c8SRobert Mustacchi .itr_limit = 0x80000000, 1047*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 1048*eb00b1c8SRobert Mustacchi .itr_chan_way = 2, 1049*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_4KB, 1050*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_4KB, 1051*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 1052*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 1053*eb00b1c8SRobert Mustacchi } 1054*eb00b1c8SRobert Mustacchi }, 1055*eb00b1c8SRobert Mustacchi .isock_nimc = 1, 1056*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 1057*eb00b1c8SRobert Mustacchi .icn_nchannels = 2, 1058*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR4, 1059*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 1060*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 1061*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 1062*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 1063*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1064*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1065*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1066*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1067*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1068*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1069*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1070*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1071*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1072*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1073*eb00b1c8SRobert Mustacchi }, 1074*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1075*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1076*eb00b1c8SRobert Mustacchi 0, 0 }, 1077*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1078*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1079*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1080*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1081*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1082*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1083*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1084*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1085*eb00b1c8SRobert Mustacchi } 1086*eb00b1c8SRobert Mustacchi }, 1087*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 1088*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1089*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1090*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1091*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1092*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1093*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1094*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1095*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1096*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1097*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1098*eb00b1c8SRobert Mustacchi }, 1099*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1100*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1101*eb00b1c8SRobert Mustacchi 0, 0 }, 1102*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1103*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1104*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1105*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1106*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1107*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1108*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1109*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1110*eb00b1c8SRobert Mustacchi } 1111*eb00b1c8SRobert Mustacchi } 1112*eb00b1c8SRobert Mustacchi } 1113*eb00b1c8SRobert Mustacchi } 1114*eb00b1c8SRobert Mustacchi }; 1115*eb00b1c8SRobert Mustacchi 1116*eb00b1c8SRobert Mustacchi /* 1117*eb00b1c8SRobert Mustacchi * Once more, with 1 GiB granularity. 1118*eb00b1c8SRobert Mustacchi */ 1119*eb00b1c8SRobert Mustacchi static const imc_t imc_skx_1g_gran = { 1120*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_SKYLAKE, 1121*eb00b1c8SRobert Mustacchi .imc_nsockets = 1, 1122*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 1123*eb00b1c8SRobert Mustacchi .isock_nodeid = 0, 1124*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 1125*eb00b1c8SRobert Mustacchi .isock_sad = { 1126*eb00b1c8SRobert Mustacchi .isad_flags = 0, 1127*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 1128*eb00b1c8SRobert Mustacchi .isad_tolm = 0x80000000, 1129*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 1130*eb00b1c8SRobert Mustacchi .isad_nrules = 24, 1131*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 1132*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 1133*eb00b1c8SRobert Mustacchi .isr_limit = 0x80000000, 1134*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_32t30, 1135*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 1136*eb00b1c8SRobert Mustacchi .isr_targets = { 8, 9, 8, 9, 8, 9, 8, 9 } 1137*eb00b1c8SRobert Mustacchi }, 1138*eb00b1c8SRobert Mustacchi .isad_mcroute = { 1139*eb00b1c8SRobert Mustacchi .ismc_nroutes = 6, 1140*eb00b1c8SRobert Mustacchi .ismc_mcroutes[0] = { 0, 0 }, 1141*eb00b1c8SRobert Mustacchi .ismc_mcroutes[1] = { 0, 1 } 1142*eb00b1c8SRobert Mustacchi } 1143*eb00b1c8SRobert Mustacchi }, 1144*eb00b1c8SRobert Mustacchi .isock_ntad = 1, 1145*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 1146*eb00b1c8SRobert Mustacchi .itad_flags = 0, 1147*eb00b1c8SRobert Mustacchi .itad_nrules = 8, 1148*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 1149*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 1150*eb00b1c8SRobert Mustacchi .itr_limit = 0x80000000, 1151*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 1152*eb00b1c8SRobert Mustacchi .itr_chan_way = 2, 1153*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_1GB, 1154*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_1GB, 1155*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 1156*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 1157*eb00b1c8SRobert Mustacchi } 1158*eb00b1c8SRobert Mustacchi }, 1159*eb00b1c8SRobert Mustacchi .isock_nimc = 1, 1160*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 1161*eb00b1c8SRobert Mustacchi .icn_nchannels = 2, 1162*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR4, 1163*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 1164*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 1165*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 1166*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 1167*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1168*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1169*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1170*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1171*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1172*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1173*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1174*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1175*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1176*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1177*eb00b1c8SRobert Mustacchi }, 1178*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1179*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1180*eb00b1c8SRobert Mustacchi 0, 0 }, 1181*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1182*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1183*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1184*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1185*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1186*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1187*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1188*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1189*eb00b1c8SRobert Mustacchi } 1190*eb00b1c8SRobert Mustacchi }, 1191*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 1192*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1193*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1194*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1195*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1196*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1197*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1198*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1199*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1200*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1201*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1202*eb00b1c8SRobert Mustacchi }, 1203*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1204*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1205*eb00b1c8SRobert Mustacchi 0, 0 }, 1206*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1207*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1208*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1209*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1210*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1211*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1212*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1213*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1214*eb00b1c8SRobert Mustacchi } 1215*eb00b1c8SRobert Mustacchi } 1216*eb00b1c8SRobert Mustacchi } 1217*eb00b1c8SRobert Mustacchi } 1218*eb00b1c8SRobert Mustacchi }; 1219*eb00b1c8SRobert Mustacchi 1220*eb00b1c8SRobert Mustacchi /* 1221*eb00b1c8SRobert Mustacchi * This tests a 1 socket, 4 channel-way configuration. 1222*eb00b1c8SRobert Mustacchi */ 1223*eb00b1c8SRobert Mustacchi static const imc_t imc_tad_1s_4cw = { 1224*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_SKYLAKE, 1225*eb00b1c8SRobert Mustacchi .imc_nsockets = 1, 1226*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 1227*eb00b1c8SRobert Mustacchi .isock_nodeid = 0, 1228*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 1229*eb00b1c8SRobert Mustacchi .isock_sad = { 1230*eb00b1c8SRobert Mustacchi .isad_flags = 0, 1231*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 1232*eb00b1c8SRobert Mustacchi .isad_tolm = 0x100000000ULL, 1233*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 1234*eb00b1c8SRobert Mustacchi .isad_nrules = 24, 1235*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 1236*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 1237*eb00b1c8SRobert Mustacchi .isr_limit = 0x100000000ULL, 1238*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_8t6, 1239*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 1240*eb00b1c8SRobert Mustacchi .isr_targets = { 8, 9, 0xa, 0xb, 8, 9, 0xa, 1241*eb00b1c8SRobert Mustacchi 0xb } 1242*eb00b1c8SRobert Mustacchi }, 1243*eb00b1c8SRobert Mustacchi .isad_mcroute = { 1244*eb00b1c8SRobert Mustacchi .ismc_nroutes = 6, 1245*eb00b1c8SRobert Mustacchi .ismc_mcroutes[0] = { 0, 0 }, 1246*eb00b1c8SRobert Mustacchi .ismc_mcroutes[1] = { 0, 1 }, 1247*eb00b1c8SRobert Mustacchi .ismc_mcroutes[2] = { 1, 1 }, 1248*eb00b1c8SRobert Mustacchi .ismc_mcroutes[3] = { 1, 0 } 1249*eb00b1c8SRobert Mustacchi } 1250*eb00b1c8SRobert Mustacchi }, 1251*eb00b1c8SRobert Mustacchi .isock_ntad = 2, 1252*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 1253*eb00b1c8SRobert Mustacchi .itad_flags = 0, 1254*eb00b1c8SRobert Mustacchi .itad_nrules = 8, 1255*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 1256*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 1257*eb00b1c8SRobert Mustacchi .itr_limit = 0x100000000ULL, 1258*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 1259*eb00b1c8SRobert Mustacchi .itr_chan_way = 4, 1260*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 1261*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 1262*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 1263*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 1264*eb00b1c8SRobert Mustacchi } 1265*eb00b1c8SRobert Mustacchi }, 1266*eb00b1c8SRobert Mustacchi .isock_tad[1] = { 1267*eb00b1c8SRobert Mustacchi .itad_flags = 0, 1268*eb00b1c8SRobert Mustacchi .itad_nrules = 8, 1269*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 1270*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 1271*eb00b1c8SRobert Mustacchi .itr_limit = 0x100000000ULL, 1272*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 1273*eb00b1c8SRobert Mustacchi .itr_chan_way = 4, 1274*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 1275*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 1276*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 1277*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 1278*eb00b1c8SRobert Mustacchi } 1279*eb00b1c8SRobert Mustacchi }, 1280*eb00b1c8SRobert Mustacchi .isock_nimc = 2, 1281*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 1282*eb00b1c8SRobert Mustacchi .icn_nchannels = 2, 1283*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR4, 1284*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 1285*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 1286*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 1287*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 1288*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1289*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1290*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1291*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1292*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1293*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1294*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1295*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1296*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1297*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1298*eb00b1c8SRobert Mustacchi }, 1299*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1300*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301*eb00b1c8SRobert Mustacchi 0, 0 }, 1302*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1303*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1304*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1305*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1306*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1307*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1308*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1309*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1310*eb00b1c8SRobert Mustacchi } 1311*eb00b1c8SRobert Mustacchi }, 1312*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 1313*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1314*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1315*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1316*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1317*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1318*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1319*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1320*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1321*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1322*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1323*eb00b1c8SRobert Mustacchi }, 1324*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1325*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1326*eb00b1c8SRobert Mustacchi 0, 0 }, 1327*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1328*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1329*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1330*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1331*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1332*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1333*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1334*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1335*eb00b1c8SRobert Mustacchi } 1336*eb00b1c8SRobert Mustacchi } 1337*eb00b1c8SRobert Mustacchi }, 1338*eb00b1c8SRobert Mustacchi .isock_imcs[1] = { 1339*eb00b1c8SRobert Mustacchi .icn_nchannels = 2, 1340*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR4, 1341*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 1342*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 1343*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 1344*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 1345*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1346*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1347*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1348*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1349*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1350*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1351*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1352*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1353*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1354*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1355*eb00b1c8SRobert Mustacchi }, 1356*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1357*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1358*eb00b1c8SRobert Mustacchi 0, 0 }, 1359*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1360*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1361*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1362*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1363*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1364*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1365*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1366*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1367*eb00b1c8SRobert Mustacchi } 1368*eb00b1c8SRobert Mustacchi }, 1369*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 1370*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1371*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1372*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1373*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1374*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1375*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1376*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1377*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1378*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1379*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1380*eb00b1c8SRobert Mustacchi }, 1381*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1382*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383*eb00b1c8SRobert Mustacchi 0, 0 }, 1384*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1385*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1386*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1387*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1388*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1389*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1390*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1391*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1392*eb00b1c8SRobert Mustacchi } 1393*eb00b1c8SRobert Mustacchi } 1394*eb00b1c8SRobert Mustacchi } 1395*eb00b1c8SRobert Mustacchi } 1396*eb00b1c8SRobert Mustacchi }; 1397*eb00b1c8SRobert Mustacchi 1398*eb00b1c8SRobert Mustacchi /* 1399*eb00b1c8SRobert Mustacchi * A variant on 1imc_tad_1s_4cw that uses Skylake mod3 rules to change how the 1400*eb00b1c8SRobert Mustacchi * target channel is determined. While we have six channels here, technically 1401*eb00b1c8SRobert Mustacchi * this configuration has wasted memory. This is on purpose to simplify the 1402*eb00b1c8SRobert Mustacchi * rules below. 1403*eb00b1c8SRobert Mustacchi */ 1404*eb00b1c8SRobert Mustacchi static const imc_t imc_tad_skx_mod3_45t6 = { 1405*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_SKYLAKE, 1406*eb00b1c8SRobert Mustacchi .imc_nsockets = 1, 1407*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 1408*eb00b1c8SRobert Mustacchi .isock_nodeid = 0, 1409*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 1410*eb00b1c8SRobert Mustacchi .isock_sad = { 1411*eb00b1c8SRobert Mustacchi .isad_flags = 0, 1412*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 1413*eb00b1c8SRobert Mustacchi .isad_tolm = 0x100000000ULL, 1414*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 1415*eb00b1c8SRobert Mustacchi .isad_nrules = 24, 1416*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 1417*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 1418*eb00b1c8SRobert Mustacchi .isr_limit = 0x100000000ULL, 1419*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_8t6, 1420*eb00b1c8SRobert Mustacchi .isr_need_mod3 = B_TRUE, 1421*eb00b1c8SRobert Mustacchi .isr_mod_mode = IMC_SAD_MOD_MODE_45t6, 1422*eb00b1c8SRobert Mustacchi .isr_mod_type = IMC_SAD_MOD_TYPE_MOD3, 1423*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 1424*eb00b1c8SRobert Mustacchi .isr_targets = { 8, 9, 0xa, 0xb, 8, 9, 0xa, 1425*eb00b1c8SRobert Mustacchi 0xb } 1426*eb00b1c8SRobert Mustacchi }, 1427*eb00b1c8SRobert Mustacchi .isad_mcroute = { 1428*eb00b1c8SRobert Mustacchi .ismc_nroutes = 6, 1429*eb00b1c8SRobert Mustacchi .ismc_mcroutes[0] = { 0, 0 }, 1430*eb00b1c8SRobert Mustacchi .ismc_mcroutes[1] = { 0, 1 }, 1431*eb00b1c8SRobert Mustacchi .ismc_mcroutes[2] = { 0, 2 }, 1432*eb00b1c8SRobert Mustacchi .ismc_mcroutes[3] = { 1, 2 }, 1433*eb00b1c8SRobert Mustacchi .ismc_mcroutes[4] = { 1, 1 }, 1434*eb00b1c8SRobert Mustacchi .ismc_mcroutes[5] = { 1, 0 } 1435*eb00b1c8SRobert Mustacchi } 1436*eb00b1c8SRobert Mustacchi }, 1437*eb00b1c8SRobert Mustacchi .isock_ntad = 2, 1438*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 1439*eb00b1c8SRobert Mustacchi .itad_flags = 0, 1440*eb00b1c8SRobert Mustacchi .itad_nrules = 8, 1441*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 1442*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 1443*eb00b1c8SRobert Mustacchi .itr_limit = 0x100000000ULL, 1444*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 1445*eb00b1c8SRobert Mustacchi .itr_chan_way = 4, 1446*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 1447*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 1448*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 1449*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 1450*eb00b1c8SRobert Mustacchi } 1451*eb00b1c8SRobert Mustacchi }, 1452*eb00b1c8SRobert Mustacchi .isock_tad[1] = { 1453*eb00b1c8SRobert Mustacchi .itad_flags = 0, 1454*eb00b1c8SRobert Mustacchi .itad_nrules = 8, 1455*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 1456*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 1457*eb00b1c8SRobert Mustacchi .itr_limit = 0x100000000ULL, 1458*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 1459*eb00b1c8SRobert Mustacchi .itr_chan_way = 4, 1460*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 1461*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 1462*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 1463*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 1464*eb00b1c8SRobert Mustacchi } 1465*eb00b1c8SRobert Mustacchi }, 1466*eb00b1c8SRobert Mustacchi .isock_nimc = 2, 1467*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 1468*eb00b1c8SRobert Mustacchi .icn_nchannels = 3, 1469*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR4, 1470*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 1471*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 1472*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 1473*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 1474*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1475*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1476*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1477*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1478*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1479*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1480*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1481*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1482*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1483*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1484*eb00b1c8SRobert Mustacchi }, 1485*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1486*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1487*eb00b1c8SRobert Mustacchi 0, 0 }, 1488*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1489*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1490*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1491*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1492*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1493*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1494*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1495*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1496*eb00b1c8SRobert Mustacchi } 1497*eb00b1c8SRobert Mustacchi }, 1498*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 1499*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1500*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1501*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1502*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1503*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1504*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1505*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1506*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1507*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1508*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1509*eb00b1c8SRobert Mustacchi }, 1510*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1511*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1512*eb00b1c8SRobert Mustacchi 0, 0 }, 1513*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1514*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1515*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1516*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1517*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1518*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1519*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1520*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1521*eb00b1c8SRobert Mustacchi } 1522*eb00b1c8SRobert Mustacchi }, 1523*eb00b1c8SRobert Mustacchi .icn_channels[2] = { 1524*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1525*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1526*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1527*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1528*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1529*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1530*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1531*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1532*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1533*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1534*eb00b1c8SRobert Mustacchi }, 1535*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1536*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1537*eb00b1c8SRobert Mustacchi 0, 0 }, 1538*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1539*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1540*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1541*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1542*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1543*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1544*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1545*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1546*eb00b1c8SRobert Mustacchi } 1547*eb00b1c8SRobert Mustacchi } 1548*eb00b1c8SRobert Mustacchi }, 1549*eb00b1c8SRobert Mustacchi .isock_imcs[1] = { 1550*eb00b1c8SRobert Mustacchi .icn_nchannels = 3, 1551*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR4, 1552*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 1553*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 1554*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 1555*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 1556*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1557*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1558*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1559*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1560*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1561*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1562*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1563*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1564*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1565*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1566*eb00b1c8SRobert Mustacchi }, 1567*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1568*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1569*eb00b1c8SRobert Mustacchi 0, 0 }, 1570*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1571*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1572*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1573*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1574*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1575*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1576*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1577*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1578*eb00b1c8SRobert Mustacchi } 1579*eb00b1c8SRobert Mustacchi }, 1580*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 1581*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1582*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1583*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1584*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1585*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1586*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1587*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1588*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1589*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1590*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1591*eb00b1c8SRobert Mustacchi }, 1592*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1593*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1594*eb00b1c8SRobert Mustacchi 0, 0 }, 1595*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1596*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1597*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1598*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1599*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1600*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1601*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1602*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1603*eb00b1c8SRobert Mustacchi } 1604*eb00b1c8SRobert Mustacchi }, 1605*eb00b1c8SRobert Mustacchi .icn_channels[2] = { 1606*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1607*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1608*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1609*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1610*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1611*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1612*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1613*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1614*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1615*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1616*eb00b1c8SRobert Mustacchi }, 1617*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1618*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1619*eb00b1c8SRobert Mustacchi 0, 0 }, 1620*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1621*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1622*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1623*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1624*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1625*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1626*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1627*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1628*eb00b1c8SRobert Mustacchi } 1629*eb00b1c8SRobert Mustacchi } 1630*eb00b1c8SRobert Mustacchi } 1631*eb00b1c8SRobert Mustacchi } 1632*eb00b1c8SRobert Mustacchi }; 1633*eb00b1c8SRobert Mustacchi 1634*eb00b1c8SRobert Mustacchi /* 1635*eb00b1c8SRobert Mustacchi * A variant on imc_tad_skx_mod3_45t6, but here we test the 45t8 mod variant. 1636*eb00b1c8SRobert Mustacchi */ 1637*eb00b1c8SRobert Mustacchi static const imc_t imc_tad_skx_mod3_45t8 = { 1638*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_SKYLAKE, 1639*eb00b1c8SRobert Mustacchi .imc_nsockets = 1, 1640*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 1641*eb00b1c8SRobert Mustacchi .isock_nodeid = 0, 1642*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 1643*eb00b1c8SRobert Mustacchi .isock_sad = { 1644*eb00b1c8SRobert Mustacchi .isad_flags = 0, 1645*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 1646*eb00b1c8SRobert Mustacchi .isad_tolm = 0x100000000ULL, 1647*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 1648*eb00b1c8SRobert Mustacchi .isad_nrules = 24, 1649*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 1650*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 1651*eb00b1c8SRobert Mustacchi .isr_limit = 0x100000000ULL, 1652*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_8t6, 1653*eb00b1c8SRobert Mustacchi .isr_need_mod3 = B_TRUE, 1654*eb00b1c8SRobert Mustacchi .isr_mod_mode = IMC_SAD_MOD_MODE_45t8, 1655*eb00b1c8SRobert Mustacchi .isr_mod_type = IMC_SAD_MOD_TYPE_MOD3, 1656*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 1657*eb00b1c8SRobert Mustacchi .isr_targets = { 8, 9, 0xa, 0xb, 8, 9, 0xa, 1658*eb00b1c8SRobert Mustacchi 0xb } 1659*eb00b1c8SRobert Mustacchi }, 1660*eb00b1c8SRobert Mustacchi .isad_mcroute = { 1661*eb00b1c8SRobert Mustacchi .ismc_nroutes = 6, 1662*eb00b1c8SRobert Mustacchi .ismc_mcroutes[0] = { 0, 0 }, 1663*eb00b1c8SRobert Mustacchi .ismc_mcroutes[1] = { 0, 1 }, 1664*eb00b1c8SRobert Mustacchi .ismc_mcroutes[2] = { 0, 2 }, 1665*eb00b1c8SRobert Mustacchi .ismc_mcroutes[3] = { 1, 2 }, 1666*eb00b1c8SRobert Mustacchi .ismc_mcroutes[4] = { 1, 1 }, 1667*eb00b1c8SRobert Mustacchi .ismc_mcroutes[5] = { 1, 0 } 1668*eb00b1c8SRobert Mustacchi } 1669*eb00b1c8SRobert Mustacchi }, 1670*eb00b1c8SRobert Mustacchi .isock_ntad = 2, 1671*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 1672*eb00b1c8SRobert Mustacchi .itad_flags = 0, 1673*eb00b1c8SRobert Mustacchi .itad_nrules = 8, 1674*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 1675*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 1676*eb00b1c8SRobert Mustacchi .itr_limit = 0x100000000ULL, 1677*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 1678*eb00b1c8SRobert Mustacchi .itr_chan_way = 4, 1679*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 1680*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 1681*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 1682*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 1683*eb00b1c8SRobert Mustacchi } 1684*eb00b1c8SRobert Mustacchi }, 1685*eb00b1c8SRobert Mustacchi .isock_tad[1] = { 1686*eb00b1c8SRobert Mustacchi .itad_flags = 0, 1687*eb00b1c8SRobert Mustacchi .itad_nrules = 8, 1688*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 1689*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 1690*eb00b1c8SRobert Mustacchi .itr_limit = 0x100000000ULL, 1691*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 1692*eb00b1c8SRobert Mustacchi .itr_chan_way = 4, 1693*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 1694*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 1695*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 1696*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 1697*eb00b1c8SRobert Mustacchi } 1698*eb00b1c8SRobert Mustacchi }, 1699*eb00b1c8SRobert Mustacchi .isock_nimc = 2, 1700*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 1701*eb00b1c8SRobert Mustacchi .icn_nchannels = 3, 1702*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR4, 1703*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 1704*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 1705*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 1706*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 1707*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1708*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1709*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1710*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1711*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1712*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1713*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1714*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1715*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1716*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1717*eb00b1c8SRobert Mustacchi }, 1718*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1719*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1720*eb00b1c8SRobert Mustacchi 0, 0 }, 1721*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1722*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1723*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1724*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1725*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1726*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1727*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1728*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1729*eb00b1c8SRobert Mustacchi } 1730*eb00b1c8SRobert Mustacchi }, 1731*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 1732*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1733*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1734*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1735*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1736*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1737*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1738*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1739*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1740*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1741*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1742*eb00b1c8SRobert Mustacchi }, 1743*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1744*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1745*eb00b1c8SRobert Mustacchi 0, 0 }, 1746*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1747*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1748*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1749*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1750*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1751*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1752*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1753*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1754*eb00b1c8SRobert Mustacchi } 1755*eb00b1c8SRobert Mustacchi }, 1756*eb00b1c8SRobert Mustacchi .icn_channels[2] = { 1757*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1758*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1759*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1760*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1761*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1762*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1763*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1764*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1765*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1766*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1767*eb00b1c8SRobert Mustacchi }, 1768*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1769*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1770*eb00b1c8SRobert Mustacchi 0, 0 }, 1771*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1772*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1773*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1774*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1775*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1776*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1777*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1778*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1779*eb00b1c8SRobert Mustacchi } 1780*eb00b1c8SRobert Mustacchi } 1781*eb00b1c8SRobert Mustacchi }, 1782*eb00b1c8SRobert Mustacchi .isock_imcs[1] = { 1783*eb00b1c8SRobert Mustacchi .icn_nchannels = 3, 1784*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR4, 1785*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 1786*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 1787*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 1788*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 1789*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1790*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1791*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1792*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1793*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1794*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1795*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1796*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1797*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1798*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1799*eb00b1c8SRobert Mustacchi }, 1800*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1801*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1802*eb00b1c8SRobert Mustacchi 0, 0 }, 1803*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1804*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1805*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1806*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1807*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1808*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1809*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1810*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1811*eb00b1c8SRobert Mustacchi } 1812*eb00b1c8SRobert Mustacchi }, 1813*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 1814*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1815*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1816*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1817*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1818*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1819*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1820*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1821*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1822*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1823*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1824*eb00b1c8SRobert Mustacchi }, 1825*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1826*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1827*eb00b1c8SRobert Mustacchi 0, 0 }, 1828*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1829*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1830*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1831*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1832*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1833*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1834*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1835*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1836*eb00b1c8SRobert Mustacchi } 1837*eb00b1c8SRobert Mustacchi }, 1838*eb00b1c8SRobert Mustacchi .icn_channels[2] = { 1839*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1840*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1841*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1842*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1843*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1844*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1845*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1846*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1847*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1848*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1849*eb00b1c8SRobert Mustacchi }, 1850*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1851*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1852*eb00b1c8SRobert Mustacchi 0, 0 }, 1853*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1854*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1855*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1856*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1857*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1858*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1859*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1860*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1861*eb00b1c8SRobert Mustacchi } 1862*eb00b1c8SRobert Mustacchi } 1863*eb00b1c8SRobert Mustacchi } 1864*eb00b1c8SRobert Mustacchi } 1865*eb00b1c8SRobert Mustacchi }; 1866*eb00b1c8SRobert Mustacchi 1867*eb00b1c8SRobert Mustacchi /* 1868*eb00b1c8SRobert Mustacchi * A variant on imc_tad_skx_mod3_45t6, but here we test the 45t12 mod variant. 1869*eb00b1c8SRobert Mustacchi */ 1870*eb00b1c8SRobert Mustacchi static const imc_t imc_tad_skx_mod3_45t12 = { 1871*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_SKYLAKE, 1872*eb00b1c8SRobert Mustacchi .imc_nsockets = 1, 1873*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 1874*eb00b1c8SRobert Mustacchi .isock_nodeid = 0, 1875*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 1876*eb00b1c8SRobert Mustacchi .isock_sad = { 1877*eb00b1c8SRobert Mustacchi .isad_flags = 0, 1878*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 1879*eb00b1c8SRobert Mustacchi .isad_tolm = 0x100000000ULL, 1880*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 1881*eb00b1c8SRobert Mustacchi .isad_nrules = 24, 1882*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 1883*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 1884*eb00b1c8SRobert Mustacchi .isr_limit = 0x100000000ULL, 1885*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_8t6, 1886*eb00b1c8SRobert Mustacchi .isr_need_mod3 = B_TRUE, 1887*eb00b1c8SRobert Mustacchi .isr_mod_mode = IMC_SAD_MOD_MODE_45t12, 1888*eb00b1c8SRobert Mustacchi .isr_mod_type = IMC_SAD_MOD_TYPE_MOD3, 1889*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 1890*eb00b1c8SRobert Mustacchi .isr_targets = { 8, 9, 0xa, 0xb, 8, 9, 0xa, 1891*eb00b1c8SRobert Mustacchi 0xb } 1892*eb00b1c8SRobert Mustacchi }, 1893*eb00b1c8SRobert Mustacchi .isad_mcroute = { 1894*eb00b1c8SRobert Mustacchi .ismc_nroutes = 6, 1895*eb00b1c8SRobert Mustacchi .ismc_mcroutes[0] = { 0, 0 }, 1896*eb00b1c8SRobert Mustacchi .ismc_mcroutes[1] = { 0, 1 }, 1897*eb00b1c8SRobert Mustacchi .ismc_mcroutes[2] = { 0, 2 }, 1898*eb00b1c8SRobert Mustacchi .ismc_mcroutes[3] = { 1, 2 }, 1899*eb00b1c8SRobert Mustacchi .ismc_mcroutes[4] = { 1, 1 }, 1900*eb00b1c8SRobert Mustacchi .ismc_mcroutes[5] = { 1, 0 } 1901*eb00b1c8SRobert Mustacchi } 1902*eb00b1c8SRobert Mustacchi }, 1903*eb00b1c8SRobert Mustacchi .isock_ntad = 2, 1904*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 1905*eb00b1c8SRobert Mustacchi .itad_flags = 0, 1906*eb00b1c8SRobert Mustacchi .itad_nrules = 8, 1907*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 1908*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 1909*eb00b1c8SRobert Mustacchi .itr_limit = 0x100000000ULL, 1910*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 1911*eb00b1c8SRobert Mustacchi .itr_chan_way = 4, 1912*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 1913*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 1914*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 1915*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 1916*eb00b1c8SRobert Mustacchi } 1917*eb00b1c8SRobert Mustacchi }, 1918*eb00b1c8SRobert Mustacchi .isock_tad[1] = { 1919*eb00b1c8SRobert Mustacchi .itad_flags = 0, 1920*eb00b1c8SRobert Mustacchi .itad_nrules = 8, 1921*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 1922*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 1923*eb00b1c8SRobert Mustacchi .itr_limit = 0x100000000ULL, 1924*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 1925*eb00b1c8SRobert Mustacchi .itr_chan_way = 4, 1926*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 1927*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 1928*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 1929*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 1930*eb00b1c8SRobert Mustacchi } 1931*eb00b1c8SRobert Mustacchi }, 1932*eb00b1c8SRobert Mustacchi .isock_nimc = 2, 1933*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 1934*eb00b1c8SRobert Mustacchi .icn_nchannels = 3, 1935*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR4, 1936*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 1937*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 1938*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 1939*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 1940*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1941*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1942*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1943*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1944*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1945*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1946*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1947*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1948*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1949*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1950*eb00b1c8SRobert Mustacchi }, 1951*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1952*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1953*eb00b1c8SRobert Mustacchi 0, 0 }, 1954*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1955*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1956*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1957*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1958*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1959*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1960*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1961*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1962*eb00b1c8SRobert Mustacchi } 1963*eb00b1c8SRobert Mustacchi }, 1964*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 1965*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1966*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1967*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1968*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1969*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1970*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1971*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1972*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1973*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1974*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 1975*eb00b1c8SRobert Mustacchi }, 1976*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 1977*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1978*eb00b1c8SRobert Mustacchi 0, 0 }, 1979*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 1980*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 1981*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 1982*eb00b1c8SRobert Mustacchi .irle_nways = 1, 1983*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 1984*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 1985*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 1986*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 1987*eb00b1c8SRobert Mustacchi } 1988*eb00b1c8SRobert Mustacchi }, 1989*eb00b1c8SRobert Mustacchi .icn_channels[2] = { 1990*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 1991*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 1992*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 1993*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 1994*eb00b1c8SRobert Mustacchi .idimm_width = 8, 1995*eb00b1c8SRobert Mustacchi .idimm_density = 2, 1996*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 1997*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 1998*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 1999*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2000*eb00b1c8SRobert Mustacchi }, 2001*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2002*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2003*eb00b1c8SRobert Mustacchi 0, 0 }, 2004*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2005*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2006*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2007*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2008*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2009*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2010*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2011*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2012*eb00b1c8SRobert Mustacchi } 2013*eb00b1c8SRobert Mustacchi } 2014*eb00b1c8SRobert Mustacchi }, 2015*eb00b1c8SRobert Mustacchi .isock_imcs[1] = { 2016*eb00b1c8SRobert Mustacchi .icn_nchannels = 3, 2017*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR4, 2018*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 2019*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 2020*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 2021*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 2022*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2023*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2024*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2025*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2026*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2027*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2028*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2029*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2030*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2031*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2032*eb00b1c8SRobert Mustacchi }, 2033*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2034*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2035*eb00b1c8SRobert Mustacchi 0, 0 }, 2036*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2037*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2038*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2039*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2040*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2041*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2042*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2043*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2044*eb00b1c8SRobert Mustacchi } 2045*eb00b1c8SRobert Mustacchi }, 2046*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 2047*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2048*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2049*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2050*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2051*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2052*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2053*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2054*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2055*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2056*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2057*eb00b1c8SRobert Mustacchi }, 2058*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2059*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2060*eb00b1c8SRobert Mustacchi 0, 0 }, 2061*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2062*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2063*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2064*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2065*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2066*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2067*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2068*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2069*eb00b1c8SRobert Mustacchi } 2070*eb00b1c8SRobert Mustacchi }, 2071*eb00b1c8SRobert Mustacchi .icn_channels[2] = { 2072*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2073*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2074*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2075*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2076*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2077*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2078*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2079*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2080*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2081*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2082*eb00b1c8SRobert Mustacchi }, 2083*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2084*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2085*eb00b1c8SRobert Mustacchi 0, 0 }, 2086*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2087*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2088*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2089*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2090*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2091*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2092*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2093*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2094*eb00b1c8SRobert Mustacchi } 2095*eb00b1c8SRobert Mustacchi } 2096*eb00b1c8SRobert Mustacchi } 2097*eb00b1c8SRobert Mustacchi } 2098*eb00b1c8SRobert Mustacchi }; 2099*eb00b1c8SRobert Mustacchi 2100*eb00b1c8SRobert Mustacchi /* 2101*eb00b1c8SRobert Mustacchi * A variant on imc_tad_skx_mod3_45t12, but instead of using mod3, we use the 2102*eb00b1c8SRobert Mustacchi * mod2 variant that favors 0/1. This menas we can only output route entries, 0, 2103*eb00b1c8SRobert Mustacchi * 1, 2, and 3. 2104*eb00b1c8SRobert Mustacchi */ 2105*eb00b1c8SRobert Mustacchi static const imc_t imc_tad_skx_mod2_01_45t12 = { 2106*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_SKYLAKE, 2107*eb00b1c8SRobert Mustacchi .imc_nsockets = 1, 2108*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 2109*eb00b1c8SRobert Mustacchi .isock_nodeid = 0, 2110*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 2111*eb00b1c8SRobert Mustacchi .isock_sad = { 2112*eb00b1c8SRobert Mustacchi .isad_flags = 0, 2113*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 2114*eb00b1c8SRobert Mustacchi .isad_tolm = 0x100000000ULL, 2115*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 2116*eb00b1c8SRobert Mustacchi .isad_nrules = 24, 2117*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 2118*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 2119*eb00b1c8SRobert Mustacchi .isr_limit = 0x100000000ULL, 2120*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_8t6, 2121*eb00b1c8SRobert Mustacchi .isr_need_mod3 = B_TRUE, 2122*eb00b1c8SRobert Mustacchi .isr_mod_mode = IMC_SAD_MOD_MODE_45t12, 2123*eb00b1c8SRobert Mustacchi .isr_mod_type = IMC_SAD_MOD_TYPE_MOD2_01, 2124*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 2125*eb00b1c8SRobert Mustacchi .isr_targets = { 8, 9, 0xa, 0xb, 8, 9, 0xa, 2126*eb00b1c8SRobert Mustacchi 0xb } 2127*eb00b1c8SRobert Mustacchi }, 2128*eb00b1c8SRobert Mustacchi .isad_mcroute = { 2129*eb00b1c8SRobert Mustacchi .ismc_nroutes = 6, 2130*eb00b1c8SRobert Mustacchi .ismc_mcroutes[0] = { 0, 0 }, 2131*eb00b1c8SRobert Mustacchi .ismc_mcroutes[1] = { 0, 1 }, 2132*eb00b1c8SRobert Mustacchi .ismc_mcroutes[2] = { 0, 2 }, 2133*eb00b1c8SRobert Mustacchi .ismc_mcroutes[3] = { 1, 2 }, 2134*eb00b1c8SRobert Mustacchi .ismc_mcroutes[4] = { 1, 1 }, 2135*eb00b1c8SRobert Mustacchi .ismc_mcroutes[5] = { 1, 0 } 2136*eb00b1c8SRobert Mustacchi } 2137*eb00b1c8SRobert Mustacchi }, 2138*eb00b1c8SRobert Mustacchi .isock_ntad = 2, 2139*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 2140*eb00b1c8SRobert Mustacchi .itad_flags = 0, 2141*eb00b1c8SRobert Mustacchi .itad_nrules = 8, 2142*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 2143*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 2144*eb00b1c8SRobert Mustacchi .itr_limit = 0x100000000ULL, 2145*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 2146*eb00b1c8SRobert Mustacchi .itr_chan_way = 4, 2147*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 2148*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 2149*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 2150*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 2151*eb00b1c8SRobert Mustacchi } 2152*eb00b1c8SRobert Mustacchi }, 2153*eb00b1c8SRobert Mustacchi .isock_tad[1] = { 2154*eb00b1c8SRobert Mustacchi .itad_flags = 0, 2155*eb00b1c8SRobert Mustacchi .itad_nrules = 8, 2156*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 2157*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 2158*eb00b1c8SRobert Mustacchi .itr_limit = 0x100000000ULL, 2159*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 2160*eb00b1c8SRobert Mustacchi .itr_chan_way = 4, 2161*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 2162*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 2163*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 2164*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 2165*eb00b1c8SRobert Mustacchi } 2166*eb00b1c8SRobert Mustacchi }, 2167*eb00b1c8SRobert Mustacchi .isock_nimc = 2, 2168*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 2169*eb00b1c8SRobert Mustacchi .icn_nchannels = 3, 2170*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR4, 2171*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 2172*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 2173*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 2174*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 2175*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2176*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2177*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2178*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2179*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2180*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2181*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2182*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2183*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2184*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2185*eb00b1c8SRobert Mustacchi }, 2186*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2187*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2188*eb00b1c8SRobert Mustacchi 0, 0 }, 2189*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2190*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2191*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2192*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2193*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2194*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2195*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2196*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2197*eb00b1c8SRobert Mustacchi } 2198*eb00b1c8SRobert Mustacchi }, 2199*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 2200*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2201*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2202*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2203*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2204*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2205*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2206*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2207*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2208*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2209*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2210*eb00b1c8SRobert Mustacchi }, 2211*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2212*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2213*eb00b1c8SRobert Mustacchi 0, 0 }, 2214*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2215*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2216*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2217*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2218*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2219*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2220*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2221*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2222*eb00b1c8SRobert Mustacchi } 2223*eb00b1c8SRobert Mustacchi }, 2224*eb00b1c8SRobert Mustacchi .icn_channels[2] = { 2225*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2226*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2227*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2228*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2229*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2230*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2231*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2232*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2233*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2234*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2235*eb00b1c8SRobert Mustacchi }, 2236*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2237*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2238*eb00b1c8SRobert Mustacchi 0, 0 }, 2239*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2240*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2241*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2242*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2243*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2244*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2245*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2246*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2247*eb00b1c8SRobert Mustacchi } 2248*eb00b1c8SRobert Mustacchi } 2249*eb00b1c8SRobert Mustacchi }, 2250*eb00b1c8SRobert Mustacchi .isock_imcs[1] = { 2251*eb00b1c8SRobert Mustacchi .icn_nchannels = 3, 2252*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR4, 2253*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 2254*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 2255*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 2256*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 2257*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2258*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2259*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2260*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2261*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2262*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2263*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2264*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2265*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2266*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2267*eb00b1c8SRobert Mustacchi }, 2268*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2269*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2270*eb00b1c8SRobert Mustacchi 0, 0 }, 2271*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2272*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2273*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2274*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2275*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2276*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2277*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2278*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2279*eb00b1c8SRobert Mustacchi } 2280*eb00b1c8SRobert Mustacchi }, 2281*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 2282*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2283*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2284*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2285*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2286*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2287*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2288*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2289*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2290*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2291*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2292*eb00b1c8SRobert Mustacchi }, 2293*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2294*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2295*eb00b1c8SRobert Mustacchi 0, 0 }, 2296*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2297*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2298*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2299*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2300*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2301*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2302*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2303*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2304*eb00b1c8SRobert Mustacchi } 2305*eb00b1c8SRobert Mustacchi }, 2306*eb00b1c8SRobert Mustacchi .icn_channels[2] = { 2307*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2308*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2309*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2310*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2311*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2312*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2313*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2314*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2315*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2316*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2317*eb00b1c8SRobert Mustacchi }, 2318*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2319*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2320*eb00b1c8SRobert Mustacchi 0, 0 }, 2321*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2322*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2323*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2324*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2325*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2326*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2327*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2328*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2329*eb00b1c8SRobert Mustacchi } 2330*eb00b1c8SRobert Mustacchi } 2331*eb00b1c8SRobert Mustacchi } 2332*eb00b1c8SRobert Mustacchi } 2333*eb00b1c8SRobert Mustacchi }; 2334*eb00b1c8SRobert Mustacchi 2335*eb00b1c8SRobert Mustacchi /* 2336*eb00b1c8SRobert Mustacchi * A variant on imc_tad_skx_mod3_45t12, but instead of using mod3, we use the 2337*eb00b1c8SRobert Mustacchi * mod2 variant that favors 1/2. This menas we can only output route entries, 2, 2338*eb00b1c8SRobert Mustacchi * 3, 4, and 5. 2339*eb00b1c8SRobert Mustacchi */ 2340*eb00b1c8SRobert Mustacchi static const imc_t imc_tad_skx_mod2_12_45t12 = { 2341*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_SKYLAKE, 2342*eb00b1c8SRobert Mustacchi .imc_nsockets = 1, 2343*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 2344*eb00b1c8SRobert Mustacchi .isock_nodeid = 0, 2345*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 2346*eb00b1c8SRobert Mustacchi .isock_sad = { 2347*eb00b1c8SRobert Mustacchi .isad_flags = 0, 2348*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 2349*eb00b1c8SRobert Mustacchi .isad_tolm = 0x100000000ULL, 2350*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 2351*eb00b1c8SRobert Mustacchi .isad_nrules = 24, 2352*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 2353*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 2354*eb00b1c8SRobert Mustacchi .isr_limit = 0x100000000ULL, 2355*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_8t6, 2356*eb00b1c8SRobert Mustacchi .isr_need_mod3 = B_TRUE, 2357*eb00b1c8SRobert Mustacchi .isr_mod_mode = IMC_SAD_MOD_MODE_45t12, 2358*eb00b1c8SRobert Mustacchi .isr_mod_type = IMC_SAD_MOD_TYPE_MOD2_12, 2359*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 2360*eb00b1c8SRobert Mustacchi .isr_targets = { 8, 9, 0xa, 0xb, 8, 9, 0xa, 2361*eb00b1c8SRobert Mustacchi 0xb } 2362*eb00b1c8SRobert Mustacchi }, 2363*eb00b1c8SRobert Mustacchi .isad_mcroute = { 2364*eb00b1c8SRobert Mustacchi .ismc_nroutes = 6, 2365*eb00b1c8SRobert Mustacchi .ismc_mcroutes[0] = { 0, 0 }, 2366*eb00b1c8SRobert Mustacchi .ismc_mcroutes[1] = { 0, 1 }, 2367*eb00b1c8SRobert Mustacchi .ismc_mcroutes[2] = { 0, 2 }, 2368*eb00b1c8SRobert Mustacchi .ismc_mcroutes[3] = { 1, 2 }, 2369*eb00b1c8SRobert Mustacchi .ismc_mcroutes[4] = { 1, 1 }, 2370*eb00b1c8SRobert Mustacchi .ismc_mcroutes[5] = { 1, 0 } 2371*eb00b1c8SRobert Mustacchi } 2372*eb00b1c8SRobert Mustacchi }, 2373*eb00b1c8SRobert Mustacchi .isock_ntad = 2, 2374*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 2375*eb00b1c8SRobert Mustacchi .itad_flags = 0, 2376*eb00b1c8SRobert Mustacchi .itad_nrules = 8, 2377*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 2378*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 2379*eb00b1c8SRobert Mustacchi .itr_limit = 0x100000000ULL, 2380*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 2381*eb00b1c8SRobert Mustacchi .itr_chan_way = 4, 2382*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 2383*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 2384*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 2385*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 2386*eb00b1c8SRobert Mustacchi } 2387*eb00b1c8SRobert Mustacchi }, 2388*eb00b1c8SRobert Mustacchi .isock_tad[1] = { 2389*eb00b1c8SRobert Mustacchi .itad_flags = 0, 2390*eb00b1c8SRobert Mustacchi .itad_nrules = 8, 2391*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 2392*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 2393*eb00b1c8SRobert Mustacchi .itr_limit = 0x100000000ULL, 2394*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 2395*eb00b1c8SRobert Mustacchi .itr_chan_way = 4, 2396*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 2397*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 2398*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 2399*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 2400*eb00b1c8SRobert Mustacchi } 2401*eb00b1c8SRobert Mustacchi }, 2402*eb00b1c8SRobert Mustacchi .isock_nimc = 2, 2403*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 2404*eb00b1c8SRobert Mustacchi .icn_nchannels = 3, 2405*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR4, 2406*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 2407*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 2408*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 2409*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 2410*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2411*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2412*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2413*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2414*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2415*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2416*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2417*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2418*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2419*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2420*eb00b1c8SRobert Mustacchi }, 2421*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2422*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2423*eb00b1c8SRobert Mustacchi 0, 0 }, 2424*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2425*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2426*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2427*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2428*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2429*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2430*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2431*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2432*eb00b1c8SRobert Mustacchi } 2433*eb00b1c8SRobert Mustacchi }, 2434*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 2435*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2436*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2437*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2438*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2439*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2440*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2441*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2442*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2443*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2444*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2445*eb00b1c8SRobert Mustacchi }, 2446*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2447*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2448*eb00b1c8SRobert Mustacchi 0, 0 }, 2449*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2450*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2451*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2452*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2453*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2454*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2455*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2456*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2457*eb00b1c8SRobert Mustacchi } 2458*eb00b1c8SRobert Mustacchi }, 2459*eb00b1c8SRobert Mustacchi .icn_channels[2] = { 2460*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2461*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2462*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2463*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2464*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2465*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2466*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2467*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2468*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2469*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2470*eb00b1c8SRobert Mustacchi }, 2471*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2472*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2473*eb00b1c8SRobert Mustacchi 0, 0 }, 2474*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2475*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2476*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2477*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2478*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2479*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2480*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2481*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2482*eb00b1c8SRobert Mustacchi } 2483*eb00b1c8SRobert Mustacchi } 2484*eb00b1c8SRobert Mustacchi }, 2485*eb00b1c8SRobert Mustacchi .isock_imcs[1] = { 2486*eb00b1c8SRobert Mustacchi .icn_nchannels = 3, 2487*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR4, 2488*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 2489*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 2490*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 2491*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 2492*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2493*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2494*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2495*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2496*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2497*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2498*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2499*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2500*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2501*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2502*eb00b1c8SRobert Mustacchi }, 2503*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2504*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2505*eb00b1c8SRobert Mustacchi 0, 0 }, 2506*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2507*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2508*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2509*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2510*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2511*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2512*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2513*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2514*eb00b1c8SRobert Mustacchi } 2515*eb00b1c8SRobert Mustacchi }, 2516*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 2517*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2518*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2519*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2520*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2521*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2522*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2523*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2524*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2525*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2526*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2527*eb00b1c8SRobert Mustacchi }, 2528*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2529*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2530*eb00b1c8SRobert Mustacchi 0, 0 }, 2531*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2532*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2533*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2534*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2535*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2536*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2537*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2538*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2539*eb00b1c8SRobert Mustacchi } 2540*eb00b1c8SRobert Mustacchi }, 2541*eb00b1c8SRobert Mustacchi .icn_channels[2] = { 2542*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2543*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2544*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2545*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2546*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2547*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2548*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2549*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2550*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2551*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2552*eb00b1c8SRobert Mustacchi }, 2553*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2554*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2555*eb00b1c8SRobert Mustacchi 0, 0 }, 2556*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2557*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2558*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2559*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2560*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2561*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2562*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2563*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2564*eb00b1c8SRobert Mustacchi } 2565*eb00b1c8SRobert Mustacchi } 2566*eb00b1c8SRobert Mustacchi } 2567*eb00b1c8SRobert Mustacchi } 2568*eb00b1c8SRobert Mustacchi }; 2569*eb00b1c8SRobert Mustacchi 2570*eb00b1c8SRobert Mustacchi /* 2571*eb00b1c8SRobert Mustacchi * A variant on imc_tad_skx_mod3_45t12, but instead of using mod3, we use the 2572*eb00b1c8SRobert Mustacchi * mod2 variant that favors 0/2. This means we can only output route entries, 0, 2573*eb00b1c8SRobert Mustacchi * 1, 4, and 5. 2574*eb00b1c8SRobert Mustacchi */ 2575*eb00b1c8SRobert Mustacchi static const imc_t imc_tad_skx_mod2_02_45t12 = { 2576*eb00b1c8SRobert Mustacchi .imc_gen = IMC_GEN_SKYLAKE, 2577*eb00b1c8SRobert Mustacchi .imc_nsockets = 1, 2578*eb00b1c8SRobert Mustacchi .imc_sockets[0] = { 2579*eb00b1c8SRobert Mustacchi .isock_nodeid = 0, 2580*eb00b1c8SRobert Mustacchi .isock_valid = IMC_SOCKET_V_VALID, 2581*eb00b1c8SRobert Mustacchi .isock_sad = { 2582*eb00b1c8SRobert Mustacchi .isad_flags = 0, 2583*eb00b1c8SRobert Mustacchi .isad_valid = IMC_SAD_V_VALID, 2584*eb00b1c8SRobert Mustacchi .isad_tolm = 0x100000000ULL, 2585*eb00b1c8SRobert Mustacchi .isad_tohm = 0, 2586*eb00b1c8SRobert Mustacchi .isad_nrules = 24, 2587*eb00b1c8SRobert Mustacchi .isad_rules[0] = { 2588*eb00b1c8SRobert Mustacchi .isr_enable = B_TRUE, 2589*eb00b1c8SRobert Mustacchi .isr_limit = 0x100000000ULL, 2590*eb00b1c8SRobert Mustacchi .isr_imode = IMC_SAD_IMODE_8t6, 2591*eb00b1c8SRobert Mustacchi .isr_need_mod3 = B_TRUE, 2592*eb00b1c8SRobert Mustacchi .isr_mod_mode = IMC_SAD_MOD_MODE_45t12, 2593*eb00b1c8SRobert Mustacchi .isr_mod_type = IMC_SAD_MOD_TYPE_MOD2_02, 2594*eb00b1c8SRobert Mustacchi .isr_ntargets = IMC_MAX_SAD_INTERLEAVE, 2595*eb00b1c8SRobert Mustacchi .isr_targets = { 8, 9, 0xa, 0xb, 8, 9, 0xa, 2596*eb00b1c8SRobert Mustacchi 0xb } 2597*eb00b1c8SRobert Mustacchi }, 2598*eb00b1c8SRobert Mustacchi .isad_mcroute = { 2599*eb00b1c8SRobert Mustacchi .ismc_nroutes = 6, 2600*eb00b1c8SRobert Mustacchi .ismc_mcroutes[0] = { 0, 0 }, 2601*eb00b1c8SRobert Mustacchi .ismc_mcroutes[1] = { 0, 1 }, 2602*eb00b1c8SRobert Mustacchi .ismc_mcroutes[2] = { 0, 2 }, 2603*eb00b1c8SRobert Mustacchi .ismc_mcroutes[3] = { 1, 2 }, 2604*eb00b1c8SRobert Mustacchi .ismc_mcroutes[4] = { 1, 1 }, 2605*eb00b1c8SRobert Mustacchi .ismc_mcroutes[5] = { 1, 0 } 2606*eb00b1c8SRobert Mustacchi } 2607*eb00b1c8SRobert Mustacchi }, 2608*eb00b1c8SRobert Mustacchi .isock_ntad = 2, 2609*eb00b1c8SRobert Mustacchi .isock_tad[0] = { 2610*eb00b1c8SRobert Mustacchi .itad_flags = 0, 2611*eb00b1c8SRobert Mustacchi .itad_nrules = 8, 2612*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 2613*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 2614*eb00b1c8SRobert Mustacchi .itr_limit = 0x100000000ULL, 2615*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 2616*eb00b1c8SRobert Mustacchi .itr_chan_way = 4, 2617*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 2618*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 2619*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 2620*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 2621*eb00b1c8SRobert Mustacchi } 2622*eb00b1c8SRobert Mustacchi }, 2623*eb00b1c8SRobert Mustacchi .isock_tad[1] = { 2624*eb00b1c8SRobert Mustacchi .itad_flags = 0, 2625*eb00b1c8SRobert Mustacchi .itad_nrules = 8, 2626*eb00b1c8SRobert Mustacchi .itad_rules[0] = { 2627*eb00b1c8SRobert Mustacchi .itr_base = 0x0, 2628*eb00b1c8SRobert Mustacchi .itr_limit = 0x100000000ULL, 2629*eb00b1c8SRobert Mustacchi .itr_sock_way = 1, 2630*eb00b1c8SRobert Mustacchi .itr_chan_way = 4, 2631*eb00b1c8SRobert Mustacchi .itr_sock_gran = IMC_TAD_GRAN_64B, 2632*eb00b1c8SRobert Mustacchi .itr_chan_gran = IMC_TAD_GRAN_64B, 2633*eb00b1c8SRobert Mustacchi .itr_ntargets = 4, 2634*eb00b1c8SRobert Mustacchi .itr_targets = { 0, 0, 0, 0 } 2635*eb00b1c8SRobert Mustacchi } 2636*eb00b1c8SRobert Mustacchi }, 2637*eb00b1c8SRobert Mustacchi .isock_nimc = 2, 2638*eb00b1c8SRobert Mustacchi .isock_imcs[0] = { 2639*eb00b1c8SRobert Mustacchi .icn_nchannels = 3, 2640*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR4, 2641*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 2642*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 2643*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 2644*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 2645*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2646*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2647*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2648*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2649*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2650*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2651*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2652*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2653*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2654*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2655*eb00b1c8SRobert Mustacchi }, 2656*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2657*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2658*eb00b1c8SRobert Mustacchi 0, 0 }, 2659*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2660*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2661*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2662*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2663*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2664*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2665*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2666*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2667*eb00b1c8SRobert Mustacchi } 2668*eb00b1c8SRobert Mustacchi }, 2669*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 2670*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2671*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2672*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2673*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2674*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2675*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2676*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2677*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2678*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2679*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2680*eb00b1c8SRobert Mustacchi }, 2681*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2682*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2683*eb00b1c8SRobert Mustacchi 0, 0 }, 2684*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2685*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2686*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2687*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2688*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2689*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2690*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2691*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2692*eb00b1c8SRobert Mustacchi } 2693*eb00b1c8SRobert Mustacchi }, 2694*eb00b1c8SRobert Mustacchi .icn_channels[2] = { 2695*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2696*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2697*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2698*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2699*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2700*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2701*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2702*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2703*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2704*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2705*eb00b1c8SRobert Mustacchi }, 2706*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2707*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2708*eb00b1c8SRobert Mustacchi 0, 0 }, 2709*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2710*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2711*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2712*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2713*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2714*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2715*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2716*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2717*eb00b1c8SRobert Mustacchi } 2718*eb00b1c8SRobert Mustacchi } 2719*eb00b1c8SRobert Mustacchi }, 2720*eb00b1c8SRobert Mustacchi .isock_imcs[1] = { 2721*eb00b1c8SRobert Mustacchi .icn_nchannels = 3, 2722*eb00b1c8SRobert Mustacchi .icn_dimm_type = IMC_DIMM_DDR4, 2723*eb00b1c8SRobert Mustacchi .icn_ecc = B_TRUE, 2724*eb00b1c8SRobert Mustacchi .icn_lockstep = B_FALSE, 2725*eb00b1c8SRobert Mustacchi .icn_closed = B_FALSE, 2726*eb00b1c8SRobert Mustacchi .icn_channels[0] = { 2727*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2728*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2729*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2730*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2731*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2732*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2733*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2734*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2735*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2736*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2737*eb00b1c8SRobert Mustacchi }, 2738*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2739*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2740*eb00b1c8SRobert Mustacchi 0, 0 }, 2741*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2742*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2743*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2744*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2745*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2746*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2747*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2748*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2749*eb00b1c8SRobert Mustacchi } 2750*eb00b1c8SRobert Mustacchi }, 2751*eb00b1c8SRobert Mustacchi .icn_channels[1] = { 2752*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2753*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2754*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2755*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2756*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2757*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2758*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2759*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2760*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2761*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2762*eb00b1c8SRobert Mustacchi }, 2763*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2764*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2765*eb00b1c8SRobert Mustacchi 0, 0 }, 2766*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2767*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2768*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2769*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2770*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2771*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2772*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2773*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2774*eb00b1c8SRobert Mustacchi } 2775*eb00b1c8SRobert Mustacchi }, 2776*eb00b1c8SRobert Mustacchi .icn_channels[2] = { 2777*eb00b1c8SRobert Mustacchi .ich_ndimms = 1, 2778*eb00b1c8SRobert Mustacchi .ich_dimms[0] = { 2779*eb00b1c8SRobert Mustacchi .idimm_present = B_TRUE, 2780*eb00b1c8SRobert Mustacchi .idimm_nbanks = 3, 2781*eb00b1c8SRobert Mustacchi .idimm_width = 8, 2782*eb00b1c8SRobert Mustacchi .idimm_density = 2, 2783*eb00b1c8SRobert Mustacchi .idimm_nranks = 2, 2784*eb00b1c8SRobert Mustacchi .idimm_nrows = 14, 2785*eb00b1c8SRobert Mustacchi .idimm_ncolumns = 10, 2786*eb00b1c8SRobert Mustacchi .idimm_size = 0x40000000 2787*eb00b1c8SRobert Mustacchi }, 2788*eb00b1c8SRobert Mustacchi .ich_ntad_offsets = 12, 2789*eb00b1c8SRobert Mustacchi .ich_tad_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2790*eb00b1c8SRobert Mustacchi 0, 0 }, 2791*eb00b1c8SRobert Mustacchi .ich_nrankileaves = 4, 2792*eb00b1c8SRobert Mustacchi .ich_rankileaves[0] = { 2793*eb00b1c8SRobert Mustacchi .irle_enabled = B_TRUE, 2794*eb00b1c8SRobert Mustacchi .irle_nways = 1, 2795*eb00b1c8SRobert Mustacchi .irle_nwaysbits = 1, 2796*eb00b1c8SRobert Mustacchi .irle_limit = 0x40000000, 2797*eb00b1c8SRobert Mustacchi .irle_nentries = 8, 2798*eb00b1c8SRobert Mustacchi .irle_entries[0] = { 0x0, 0x0 }, 2799*eb00b1c8SRobert Mustacchi } 2800*eb00b1c8SRobert Mustacchi } 2801*eb00b1c8SRobert Mustacchi } 2802*eb00b1c8SRobert Mustacchi } 2803*eb00b1c8SRobert Mustacchi }; 2804*eb00b1c8SRobert Mustacchi 2805*eb00b1c8SRobert Mustacchi const imc_test_case_t imc_test_tad[] = { 2806*eb00b1c8SRobert Mustacchi /* 2807*eb00b1c8SRobert Mustacchi * These tests come in pairs. The first two verify that we can get the same 2808*eb00b1c8SRobert Mustacchi * address on the channel and interleave. The second set verifies that we end up 2809*eb00b1c8SRobert Mustacchi * in the same channel when we're within interleaving. The third set shows that 2810*eb00b1c8SRobert Mustacchi * we interleave again and will be used as a point of comparison in the next 2811*eb00b1c8SRobert Mustacchi * group of tests. The fourth set varies this and makes sure that we can end up 2812*eb00b1c8SRobert Mustacchi * on the right channel at different address ranges. 2813*eb00b1c8SRobert Mustacchi */ 2814*eb00b1c8SRobert Mustacchi { 2815*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way (1)", 2816*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw, 2817*eb00b1c8SRobert Mustacchi .itc_pa = 0x33333333, 2818*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 2819*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 2820*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 2821*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 2822*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x199999b3, 2823*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 2824*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 2825*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x199999b3 2826*eb00b1c8SRobert Mustacchi }, { 2827*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way (2)", 2828*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw, 2829*eb00b1c8SRobert Mustacchi .itc_pa = 0x33333373, 2830*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 2831*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 2832*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 2833*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 2834*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x199999b3, 2835*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 2836*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 2837*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x199999b3 2838*eb00b1c8SRobert Mustacchi }, { 2839*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way (3)", 2840*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw, 2841*eb00b1c8SRobert Mustacchi .itc_pa = 0x3333331a, 2842*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 2843*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 2844*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 2845*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 2846*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x1999999a, 2847*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 2848*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 2849*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x1999999a 2850*eb00b1c8SRobert Mustacchi }, { 2851*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way (4)", 2852*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw, 2853*eb00b1c8SRobert Mustacchi .itc_pa = 0x33333342, 2854*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 2855*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 2856*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 2857*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 2858*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x19999982, 2859*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 2860*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 2861*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x19999982 2862*eb00b1c8SRobert Mustacchi }, { 2863*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way (5)", 2864*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw, 2865*eb00b1c8SRobert Mustacchi .itc_pa = 0x333333b3, 2866*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 2867*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 2868*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 2869*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 2870*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x199999f3, 2871*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 2872*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 2873*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x199999f3 2874*eb00b1c8SRobert Mustacchi }, { 2875*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way (6)", 2876*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw, 2877*eb00b1c8SRobert Mustacchi .itc_pa = 0x333333f3, 2878*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 2879*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 2880*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 2881*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 2882*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x199999f3, 2883*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 2884*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 2885*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x199999f3 2886*eb00b1c8SRobert Mustacchi }, { 2887*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way (7)", 2888*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw, 2889*eb00b1c8SRobert Mustacchi .itc_pa = 0x22222222, 2890*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 2891*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 2892*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 2893*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 2894*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x11111122, 2895*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 2896*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 2897*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x11111122 2898*eb00b1c8SRobert Mustacchi }, { 2899*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way (8)", 2900*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw, 2901*eb00b1c8SRobert Mustacchi .itc_pa = 0x77777777, 2902*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 2903*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 2904*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 2905*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 2906*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3bbbbbb7, 2907*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 2908*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 2909*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3bbbbbb7 2910*eb00b1c8SRobert Mustacchi }, 2911*eb00b1c8SRobert Mustacchi /* 2912*eb00b1c8SRobert Mustacchi * This next set of tests is similar to the previous one, except we have the 2913*eb00b1c8SRobert Mustacchi * a7mode / McChanShiftUp enabled, which means that we use 7-bits to index into 2914*eb00b1c8SRobert Mustacchi * the channel by default rather than 6. We have tests that compare this 2915*eb00b1c8SRobert Mustacchi * behavior that would have varied in the previous case, but does not now. We do 2916*eb00b1c8SRobert Mustacchi * this mostly by using the same initial set of addresses (tests 1-6 of the 2917*eb00b1c8SRobert Mustacchi * previous set). 2918*eb00b1c8SRobert Mustacchi */ 2919*eb00b1c8SRobert Mustacchi { 2920*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way, Shift Up (1)", 2921*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw_shiftup, 2922*eb00b1c8SRobert Mustacchi .itc_pa = 0x33333333, 2923*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 2924*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 2925*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 2926*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 2927*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x199999b3, 2928*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 2929*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 2930*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x199999b3 2931*eb00b1c8SRobert Mustacchi }, { 2932*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way, Shift Up (2)", 2933*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw_shiftup, 2934*eb00b1c8SRobert Mustacchi .itc_pa = 0x33333373, 2935*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 2936*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 2937*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 2938*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 2939*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x199999f3, 2940*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 2941*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 2942*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x199999f3 2943*eb00b1c8SRobert Mustacchi }, { 2944*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way, Shift Up (3)", 2945*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw_shiftup, 2946*eb00b1c8SRobert Mustacchi .itc_pa = 0x3333331a, 2947*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 2948*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 2949*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 2950*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 2951*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x1999999a, 2952*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 2953*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 2954*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x1999999a 2955*eb00b1c8SRobert Mustacchi }, { 2956*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way, Shift Up (4)", 2957*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw_shiftup, 2958*eb00b1c8SRobert Mustacchi .itc_pa = 0x33333342, 2959*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 2960*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 2961*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 2962*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 2963*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x199999c2, 2964*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 2965*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 2966*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x199999c2 2967*eb00b1c8SRobert Mustacchi }, { 2968*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way, Shift Up (5)", 2969*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw_shiftup, 2970*eb00b1c8SRobert Mustacchi .itc_pa = 0x333333b3, 2971*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 2972*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 2973*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 2974*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 2975*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x199999b3, 2976*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 2977*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 2978*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x199999b3 2979*eb00b1c8SRobert Mustacchi }, { 2980*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way, Shift Up (6)", 2981*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw_shiftup, 2982*eb00b1c8SRobert Mustacchi .itc_pa = 0x333333f3, 2983*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 2984*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 2985*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 2986*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 2987*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x199999f3, 2988*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 2989*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 2990*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x199999f3 2991*eb00b1c8SRobert Mustacchi }, 2992*eb00b1c8SRobert Mustacchi /* 2993*eb00b1c8SRobert Mustacchi * This next set of tests focuses on channel hashing. This is when we take the 2994*eb00b1c8SRobert Mustacchi * upper bits of the system addrses and use that to influence which channel 2995*eb00b1c8SRobert Mustacchi * something should be directed to. To see this, we take addresses that have the 2996*eb00b1c8SRobert Mustacchi * same base address (using bits 0-11) and see that they channels based on the 2997*eb00b1c8SRobert Mustacchi * different upper bits, where as without channel hashing, we shouldn't expect 2998*eb00b1c8SRobert Mustacchi * that. 2999*eb00b1c8SRobert Mustacchi */ 3000*eb00b1c8SRobert Mustacchi { 3001*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way, Hashing (1)", 3002*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw_chanhash, 3003*eb00b1c8SRobert Mustacchi .itc_pa = 0x00000bad, 3004*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3005*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3006*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3007*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3008*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x000005ed, 3009*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3010*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3011*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x000005ed 3012*eb00b1c8SRobert Mustacchi }, { 3013*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way, Hashing (2)", 3014*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw_chanhash, 3015*eb00b1c8SRobert Mustacchi .itc_pa = 0x00001bad, 3016*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3017*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3018*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3019*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3020*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x00000ded, 3021*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3022*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3023*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x00000ded 3024*eb00b1c8SRobert Mustacchi }, { 3025*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way, Hashing (3)", 3026*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw_chanhash, 3027*eb00b1c8SRobert Mustacchi .itc_pa = 0x00011bad, 3028*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3029*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3030*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3031*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3032*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x00008ded, 3033*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3034*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3035*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x00008ded 3036*eb00b1c8SRobert Mustacchi }, { 3037*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way, Hashing (4)", 3038*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw_chanhash, 3039*eb00b1c8SRobert Mustacchi .itc_pa = 0x00111bad, 3040*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3041*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3042*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3043*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3044*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x00088ded, 3045*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3046*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3047*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x00088ded 3048*eb00b1c8SRobert Mustacchi }, { 3049*eb00b1c8SRobert Mustacchi /* The channel shouldn't change as it's not a bit we index on */ 3050*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way, Hashing (5)", 3051*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw_chanhash, 3052*eb00b1c8SRobert Mustacchi .itc_pa = 0x00311bad, 3053*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3054*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3055*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3056*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3057*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x00188ded, 3058*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3059*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3060*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x00188ded 3061*eb00b1c8SRobert Mustacchi }, { 3062*eb00b1c8SRobert Mustacchi /* This one shouldn't change as the 1 is > bit 28 */ 3063*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way, Hashing (6)", 3064*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw_chanhash, 3065*eb00b1c8SRobert Mustacchi .itc_pa = 0x20111bad, 3066*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3067*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3068*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3069*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3070*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x10088ded, 3071*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3072*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3073*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x10088ded 3074*eb00b1c8SRobert Mustacchi }, { 3075*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way, Hashing (7)", 3076*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw_chanhash, 3077*eb00b1c8SRobert Mustacchi .itc_pa = 0x00000bed, 3078*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3079*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3080*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3081*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3082*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x000005ed, 3083*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3084*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3085*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x000005ed 3086*eb00b1c8SRobert Mustacchi }, { 3087*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way, Hashing (8)", 3088*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw_chanhash, 3089*eb00b1c8SRobert Mustacchi .itc_pa = 0x00100bed, 3090*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3091*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3092*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3093*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3094*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x000805ed, 3095*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3096*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3097*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x000805ed 3098*eb00b1c8SRobert Mustacchi }, { 3099*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way, Hashing (9)", 3100*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw_chanhash, 3101*eb00b1c8SRobert Mustacchi .itc_pa = 0x00300bed, 3102*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3103*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3104*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3105*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3106*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x001805ed, 3107*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3108*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3109*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x001805ed 3110*eb00b1c8SRobert Mustacchi }, { 3111*eb00b1c8SRobert Mustacchi .itc_desc = "1 Socket, 2 Channel way, Hashing (10)", 3112*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_2cw_chanhash, 3113*eb00b1c8SRobert Mustacchi .itc_pa = 0x00500bed, 3114*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3115*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3116*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3117*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3118*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x002805ed, 3119*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3120*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3121*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x002805ed 3122*eb00b1c8SRobert Mustacchi }, 3123*eb00b1c8SRobert Mustacchi /* 3124*eb00b1c8SRobert Mustacchi * This range of tests basically checks how we interleave in the multi-rule 3125*eb00b1c8SRobert Mustacchi * system that we've put together. We have regions that should be direct mapped 3126*eb00b1c8SRobert Mustacchi * an others that should be interleaved. 3127*eb00b1c8SRobert Mustacchi */ 3128*eb00b1c8SRobert Mustacchi { 3129*eb00b1c8SRobert Mustacchi .itc_desc = "1s Multi-rule (1)", 3130*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_multirule, 3131*eb00b1c8SRobert Mustacchi .itc_pa = 0x07654321, 3132*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3133*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3134*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3135*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3136*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03b2a1a1, 3137*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3138*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3139*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03b2a1a1 3140*eb00b1c8SRobert Mustacchi }, { 3141*eb00b1c8SRobert Mustacchi .itc_desc = "1s Multi-rule (2)", 3142*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_multirule, 3143*eb00b1c8SRobert Mustacchi .itc_pa = 0x07654361, 3144*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3145*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3146*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3147*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3148*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03b2a1a1, 3149*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3150*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3151*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03b2a1a1 3152*eb00b1c8SRobert Mustacchi }, { 3153*eb00b1c8SRobert Mustacchi .itc_desc = "1s Multi-rule (3)", 3154*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_multirule, 3155*eb00b1c8SRobert Mustacchi .itc_pa = 0x17654321, 3156*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3157*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3158*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3159*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3160*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0bb2a1a1, 3161*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3162*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3163*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0bb2a1a1 3164*eb00b1c8SRobert Mustacchi }, { 3165*eb00b1c8SRobert Mustacchi .itc_desc = "1s Multi-rule (4)", 3166*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_multirule, 3167*eb00b1c8SRobert Mustacchi .itc_pa = 0x17654361, 3168*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3169*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3170*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3171*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3172*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0bb2a1a1, 3173*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3174*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3175*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0bb2a1a1 3176*eb00b1c8SRobert Mustacchi }, { 3177*eb00b1c8SRobert Mustacchi .itc_desc = "1s Multi-rule (5)", 3178*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_multirule, 3179*eb00b1c8SRobert Mustacchi .itc_pa = 0x27654321, 3180*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3181*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3182*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3183*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3184*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x17654321, 3185*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3186*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3187*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x17654321 3188*eb00b1c8SRobert Mustacchi }, { 3189*eb00b1c8SRobert Mustacchi .itc_desc = "1s Multi-rule (6)", 3190*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_multirule, 3191*eb00b1c8SRobert Mustacchi .itc_pa = 0x27654361, 3192*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3193*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3194*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3195*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3196*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x17654361, 3197*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3198*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3199*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x17654361 3200*eb00b1c8SRobert Mustacchi }, { 3201*eb00b1c8SRobert Mustacchi .itc_desc = "1s Multi-rule (7)", 3202*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_multirule, 3203*eb00b1c8SRobert Mustacchi .itc_pa = 0x37654321, 3204*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3205*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3206*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3207*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3208*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x27654321, 3209*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3210*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3211*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x27654321 3212*eb00b1c8SRobert Mustacchi }, { 3213*eb00b1c8SRobert Mustacchi .itc_desc = "1s Multi-rule (8)", 3214*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_multirule, 3215*eb00b1c8SRobert Mustacchi .itc_pa = 0x37654361, 3216*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3217*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3218*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3219*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3220*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x27654361, 3221*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3222*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3223*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x27654361 3224*eb00b1c8SRobert Mustacchi }, { 3225*eb00b1c8SRobert Mustacchi .itc_desc = "1s Multi-rule (9)", 3226*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_multirule, 3227*eb00b1c8SRobert Mustacchi .itc_pa = 0x47654321, 3228*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3229*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3230*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3231*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3232*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x17654321, 3233*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3234*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3235*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x17654321 3236*eb00b1c8SRobert Mustacchi }, { 3237*eb00b1c8SRobert Mustacchi .itc_desc = "1s Multi-rule (10)", 3238*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_multirule, 3239*eb00b1c8SRobert Mustacchi .itc_pa = 0x47654361, 3240*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3241*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3242*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3243*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3244*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x17654361, 3245*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3246*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3247*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x17654361 3248*eb00b1c8SRobert Mustacchi }, { 3249*eb00b1c8SRobert Mustacchi .itc_desc = "1s Multi-rule (11)", 3250*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_multirule, 3251*eb00b1c8SRobert Mustacchi .itc_pa = 0x57654321, 3252*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3253*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3254*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3255*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3256*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x27654321, 3257*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3258*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3259*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x27654321 3260*eb00b1c8SRobert Mustacchi }, { 3261*eb00b1c8SRobert Mustacchi .itc_desc = "1s Multi-rule (12)", 3262*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_multirule, 3263*eb00b1c8SRobert Mustacchi .itc_pa = 0x57654361, 3264*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3265*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3266*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3267*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3268*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x27654361, 3269*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3270*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3271*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x27654361 3272*eb00b1c8SRobert Mustacchi }, { 3273*eb00b1c8SRobert Mustacchi .itc_desc = "1s Multi-rule (13)", 3274*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_multirule, 3275*eb00b1c8SRobert Mustacchi .itc_pa = 0x67654321, 3276*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3277*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3278*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3279*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3280*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x33b2a1a1, 3281*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3282*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3283*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x33b2a1a1 3284*eb00b1c8SRobert Mustacchi }, { 3285*eb00b1c8SRobert Mustacchi .itc_desc = "1s Multi-rule (14)", 3286*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_multirule, 3287*eb00b1c8SRobert Mustacchi .itc_pa = 0x67654361, 3288*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3289*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3290*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3291*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3292*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x33b2a1a1, 3293*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3294*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3295*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x33b2a1a1 3296*eb00b1c8SRobert Mustacchi }, { 3297*eb00b1c8SRobert Mustacchi .itc_desc = "1s Multi-rule (15)", 3298*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_multirule, 3299*eb00b1c8SRobert Mustacchi .itc_pa = 0x77654321, 3300*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3301*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3302*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3303*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3304*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3bb2a1a1, 3305*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3306*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3307*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3bb2a1a1 3308*eb00b1c8SRobert Mustacchi }, { 3309*eb00b1c8SRobert Mustacchi .itc_desc = "1s Multi-rule (16)", 3310*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_multirule, 3311*eb00b1c8SRobert Mustacchi .itc_pa = 0x77654361, 3312*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3313*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3314*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3315*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3316*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3bb2a1a1, 3317*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3318*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3319*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3bb2a1a1 3320*eb00b1c8SRobert Mustacchi }, 3321*eb00b1c8SRobert Mustacchi /* 3322*eb00b1c8SRobert Mustacchi * This set of tests looks at using a combination of channel interleaving and 3323*eb00b1c8SRobert Mustacchi * socket interleaving and makes sure that we handle that correctly when across 3324*eb00b1c8SRobert Mustacchi * multiple IMCs and sockets. We have four tests per dimm. Two that show that we 3325*eb00b1c8SRobert Mustacchi * are consistent within the cache line. Two that show that we are consistent 3326*eb00b1c8SRobert Mustacchi * when we go to a different line. 3327*eb00b1c8SRobert Mustacchi */ 3328*eb00b1c8SRobert Mustacchi { 3329*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (1)", 3330*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3331*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff60007, 3332*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3333*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3334*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3335*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3336*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fec007, 3337*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3338*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3339*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fec007 3340*eb00b1c8SRobert Mustacchi }, { 3341*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (2)", 3342*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3343*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff60023, 3344*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3345*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3346*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3347*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3348*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fec023, 3349*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3350*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3351*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fec023 3352*eb00b1c8SRobert Mustacchi }, { 3353*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (3)", 3354*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3355*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff150007ULL, 3356*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3357*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3358*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3359*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3360*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3fe2a007, 3361*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3362*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3363*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3fe2a007 3364*eb00b1c8SRobert Mustacchi }, { 3365*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (4)", 3366*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3367*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff150023ULL, 3368*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3369*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3370*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3371*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3372*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3fe2a023, 3373*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3374*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3375*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3fe2a023 3376*eb00b1c8SRobert Mustacchi }, { 3377*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (5)", 3378*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3379*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff60047, 3380*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3381*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3382*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 3383*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3384*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fec007, 3385*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3386*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3387*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fec007 3388*eb00b1c8SRobert Mustacchi }, { 3389*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (6)", 3390*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3391*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff60063, 3392*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3393*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3394*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 3395*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3396*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fec023, 3397*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3398*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3399*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fec023 3400*eb00b1c8SRobert Mustacchi }, { 3401*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (7)", 3402*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3403*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff150047ULL, 3404*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3405*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3406*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 3407*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3408*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3fe2a007, 3409*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3410*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3411*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3fe2a007 3412*eb00b1c8SRobert Mustacchi }, { 3413*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (8)", 3414*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3415*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff150063ULL, 3416*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3417*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3418*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 3419*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3420*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3fe2a023, 3421*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3422*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3423*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3fe2a023 3424*eb00b1c8SRobert Mustacchi }, { 3425*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (9)", 3426*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3427*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff60087, 3428*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3429*eb00b1c8SRobert Mustacchi .itc_nodeid = 1, 3430*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3431*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3432*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fec007, 3433*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3434*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3435*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fec007 3436*eb00b1c8SRobert Mustacchi }, { 3437*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (10)", 3438*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3439*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff600a3, 3440*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3441*eb00b1c8SRobert Mustacchi .itc_nodeid = 1, 3442*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3443*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3444*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fec023, 3445*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3446*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3447*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fec023 3448*eb00b1c8SRobert Mustacchi }, { 3449*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (11)", 3450*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3451*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff150087ULL, 3452*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3453*eb00b1c8SRobert Mustacchi .itc_nodeid = 1, 3454*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3455*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3456*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3fe2a007, 3457*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3458*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3459*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3fe2a007 3460*eb00b1c8SRobert Mustacchi }, { 3461*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (12)", 3462*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3463*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff1500a3ULL, 3464*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3465*eb00b1c8SRobert Mustacchi .itc_nodeid = 1, 3466*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3467*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3468*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3fe2a023, 3469*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3470*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3471*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3fe2a023 3472*eb00b1c8SRobert Mustacchi }, { 3473*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (13)", 3474*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3475*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff600c7, 3476*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3477*eb00b1c8SRobert Mustacchi .itc_nodeid = 1, 3478*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 3479*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3480*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fec007, 3481*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3482*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3483*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fec007 3484*eb00b1c8SRobert Mustacchi }, { 3485*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (14)", 3486*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3487*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff600f3, 3488*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3489*eb00b1c8SRobert Mustacchi .itc_nodeid = 1, 3490*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 3491*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3492*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fec033, 3493*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3494*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3495*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fec033 3496*eb00b1c8SRobert Mustacchi }, { 3497*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (15)", 3498*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3499*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff1500c7ULL, 3500*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3501*eb00b1c8SRobert Mustacchi .itc_nodeid = 1, 3502*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 3503*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3504*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3fe2a007, 3505*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3506*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3507*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3fe2a007 3508*eb00b1c8SRobert Mustacchi }, { 3509*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (16)", 3510*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3511*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff1500f3ULL, 3512*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3513*eb00b1c8SRobert Mustacchi .itc_nodeid = 1, 3514*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 3515*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3516*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3fe2a033, 3517*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3518*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3519*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3fe2a033 3520*eb00b1c8SRobert Mustacchi }, { 3521*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (17)", 3522*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3523*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff60107, 3524*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3525*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3526*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3527*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3528*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fec007, 3529*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3530*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3531*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fec007 3532*eb00b1c8SRobert Mustacchi }, { 3533*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (18)", 3534*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3535*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff60123, 3536*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3537*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3538*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3539*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3540*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fec023, 3541*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3542*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3543*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fec023 3544*eb00b1c8SRobert Mustacchi }, { 3545*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (19)", 3546*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3547*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff150107ULL, 3548*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3549*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3550*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3551*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3552*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3fe2a007, 3553*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3554*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3555*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3fe2a007 3556*eb00b1c8SRobert Mustacchi }, { 3557*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (20)", 3558*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3559*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff150123ULL, 3560*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3561*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3562*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3563*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3564*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3fe2a023, 3565*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3566*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3567*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3fe2a023 3568*eb00b1c8SRobert Mustacchi }, { 3569*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (21)", 3570*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3571*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff60147, 3572*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3573*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3574*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 3575*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3576*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fec007, 3577*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3578*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3579*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fec007 3580*eb00b1c8SRobert Mustacchi }, { 3581*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (22)", 3582*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3583*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff60163, 3584*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3585*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3586*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 3587*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3588*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fec023, 3589*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3590*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3591*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fec023 3592*eb00b1c8SRobert Mustacchi }, { 3593*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (23)", 3594*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3595*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff150147ULL, 3596*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3597*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3598*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 3599*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3600*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3fe2a007, 3601*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3602*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3603*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3fe2a007 3604*eb00b1c8SRobert Mustacchi }, { 3605*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (24)", 3606*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3607*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff150163ULL, 3608*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3609*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3610*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 3611*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3612*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3fe2a023, 3613*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3614*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3615*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3fe2a023 3616*eb00b1c8SRobert Mustacchi }, { 3617*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (25)", 3618*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3619*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff60187, 3620*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3621*eb00b1c8SRobert Mustacchi .itc_nodeid = 1, 3622*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3623*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3624*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fec007, 3625*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3626*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3627*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fec007 3628*eb00b1c8SRobert Mustacchi }, { 3629*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (26)", 3630*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3631*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff601a3, 3632*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3633*eb00b1c8SRobert Mustacchi .itc_nodeid = 1, 3634*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3635*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3636*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fec023, 3637*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3638*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3639*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fec023 3640*eb00b1c8SRobert Mustacchi }, { 3641*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (27)", 3642*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3643*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff150187ULL, 3644*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3645*eb00b1c8SRobert Mustacchi .itc_nodeid = 1, 3646*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3647*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3648*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3fe2a007, 3649*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3650*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3651*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3fe2a007 3652*eb00b1c8SRobert Mustacchi }, { 3653*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (28)", 3654*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3655*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff1501a3ULL, 3656*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3657*eb00b1c8SRobert Mustacchi .itc_nodeid = 1, 3658*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3659*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3660*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3fe2a023, 3661*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3662*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3663*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3fe2a023 3664*eb00b1c8SRobert Mustacchi }, { 3665*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (29)", 3666*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3667*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff601c7, 3668*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3669*eb00b1c8SRobert Mustacchi .itc_nodeid = 1, 3670*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 3671*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3672*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fec007, 3673*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3674*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3675*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fec007 3676*eb00b1c8SRobert Mustacchi }, { 3677*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (30)", 3678*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3679*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff601f3, 3680*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3681*eb00b1c8SRobert Mustacchi .itc_nodeid = 1, 3682*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 3683*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3684*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fec033, 3685*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3686*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3687*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fec033 3688*eb00b1c8SRobert Mustacchi }, { 3689*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (31)", 3690*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3691*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff1501c7ULL, 3692*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3693*eb00b1c8SRobert Mustacchi .itc_nodeid = 1, 3694*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 3695*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3696*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3fe2a007, 3697*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3698*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3699*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3fe2a007 3700*eb00b1c8SRobert Mustacchi }, { 3701*eb00b1c8SRobert Mustacchi .itc_desc = "2 socket, 4-sock way, 2-channel way (32)", 3702*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_2s_2cw_4sw, 3703*eb00b1c8SRobert Mustacchi .itc_pa = 0x1ff1501f3ULL, 3704*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3705*eb00b1c8SRobert Mustacchi .itc_nodeid = 1, 3706*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 3707*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3708*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3fe2a033, 3709*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3710*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3711*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3fe2a033 3712*eb00b1c8SRobert Mustacchi }, 3713*eb00b1c8SRobert Mustacchi /* 3714*eb00b1c8SRobert Mustacchi * This begins a series of tests related to Skylake channel granularities. 3715*eb00b1c8SRobert Mustacchi */ 3716*eb00b1c8SRobert Mustacchi { 3717*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 64b chan gran (1)", 3718*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_64b_gran, 3719*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120000, 3720*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3721*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3722*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3723*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3724*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090000, 3725*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3726*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3727*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090000 3728*eb00b1c8SRobert Mustacchi }, { 3729*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 64b chan gran (2)", 3730*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_64b_gran, 3731*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120040, 3732*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3733*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3734*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3735*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3736*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090000, 3737*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3738*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3739*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090000 3740*eb00b1c8SRobert Mustacchi }, { 3741*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 64b chan gran (3)", 3742*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_64b_gran, 3743*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120023, 3744*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3745*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3746*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3747*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3748*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090023, 3749*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3750*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3751*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090023 3752*eb00b1c8SRobert Mustacchi }, { 3753*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 64b chan gran (4)", 3754*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_64b_gran, 3755*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120068, 3756*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3757*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3758*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3759*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3760*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090028, 3761*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3762*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3763*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090028 3764*eb00b1c8SRobert Mustacchi }, 3765*eb00b1c8SRobert Mustacchi /* 3766*eb00b1c8SRobert Mustacchi * Move onto a 256 byte granularity and repeat. 3767*eb00b1c8SRobert Mustacchi */ 3768*eb00b1c8SRobert Mustacchi { 3769*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 256b chan gran (1)", 3770*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_256b_gran, 3771*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120000, 3772*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3773*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3774*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3775*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3776*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090000, 3777*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3778*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3779*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090000 3780*eb00b1c8SRobert Mustacchi }, { 3781*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 256b chan gran (2)", 3782*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_256b_gran, 3783*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120040, 3784*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3785*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3786*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3787*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3788*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090040, 3789*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3790*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3791*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090040 3792*eb00b1c8SRobert Mustacchi }, { 3793*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 256b chan gran (3)", 3794*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_256b_gran, 3795*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120023, 3796*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3797*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3798*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3799*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3800*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090023, 3801*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3802*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3803*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090023 3804*eb00b1c8SRobert Mustacchi }, { 3805*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 256b chan gran (4)", 3806*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_256b_gran, 3807*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120068, 3808*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3809*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3810*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3811*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3812*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090068, 3813*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3814*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3815*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090068 3816*eb00b1c8SRobert Mustacchi }, { 3817*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 256b chan gran (5)", 3818*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_256b_gran, 3819*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120300, 3820*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3821*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3822*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3823*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3824*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090100, 3825*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3826*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3827*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090100 3828*eb00b1c8SRobert Mustacchi }, { 3829*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 256b chan gran (6)", 3830*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_256b_gran, 3831*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120140, 3832*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3833*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3834*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3835*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3836*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090040, 3837*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3838*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3839*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090040 3840*eb00b1c8SRobert Mustacchi }, { 3841*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 256b chan gran (7)", 3842*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_256b_gran, 3843*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120123, 3844*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3845*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3846*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3847*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3848*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090023, 3849*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3850*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3851*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090023 3852*eb00b1c8SRobert Mustacchi }, { 3853*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 256b chan gran (8)", 3854*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_256b_gran, 3855*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120368, 3856*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3857*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3858*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3859*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3860*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090168, 3861*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3862*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3863*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090168 3864*eb00b1c8SRobert Mustacchi }, 3865*eb00b1c8SRobert Mustacchi /* 3866*eb00b1c8SRobert Mustacchi * Now, use 4k granularities. 3867*eb00b1c8SRobert Mustacchi */ 3868*eb00b1c8SRobert Mustacchi { 3869*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 4k chan gran (1)", 3870*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_4k_gran, 3871*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120000, 3872*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3873*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3874*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3875*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3876*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090000, 3877*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3878*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3879*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090000 3880*eb00b1c8SRobert Mustacchi }, { 3881*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 4k chan gran (2)", 3882*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_4k_gran, 3883*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120040, 3884*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3885*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3886*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3887*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3888*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090040, 3889*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3890*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3891*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090040 3892*eb00b1c8SRobert Mustacchi }, { 3893*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 4k chan gran (3)", 3894*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_4k_gran, 3895*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120023, 3896*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3897*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3898*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3899*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3900*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090023, 3901*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3902*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3903*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090023 3904*eb00b1c8SRobert Mustacchi }, { 3905*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 4k chan gran (4)", 3906*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_4k_gran, 3907*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120068, 3908*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3909*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3910*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3911*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3912*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090068, 3913*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3914*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3915*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090068 3916*eb00b1c8SRobert Mustacchi }, { 3917*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 4k chan gran (5)", 3918*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_4k_gran, 3919*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120300, 3920*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3921*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3922*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3923*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3924*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090300, 3925*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3926*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3927*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090300 3928*eb00b1c8SRobert Mustacchi }, { 3929*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 4k chan gran (6)", 3930*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_4k_gran, 3931*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120140, 3932*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3933*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3934*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3935*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3936*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090140, 3937*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3938*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3939*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090140 3940*eb00b1c8SRobert Mustacchi }, { 3941*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 4k chan gran (7)", 3942*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_4k_gran, 3943*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120123, 3944*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3945*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3946*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3947*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3948*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090123, 3949*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3950*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3951*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090123 3952*eb00b1c8SRobert Mustacchi }, { 3953*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 4k chan gran (8)", 3954*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_4k_gran, 3955*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120368, 3956*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3957*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3958*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3959*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 3960*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090368, 3961*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3962*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3963*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090368 3964*eb00b1c8SRobert Mustacchi }, { 3965*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 4k chan gran (9)", 3966*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_4k_gran, 3967*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c121000, 3968*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3969*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3970*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3971*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3972*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090000, 3973*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3974*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3975*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090000 3976*eb00b1c8SRobert Mustacchi }, { 3977*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 4k chan gran (10)", 3978*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_4k_gran, 3979*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c123040, 3980*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3981*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3982*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3983*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3984*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06091040, 3985*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3986*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3987*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06091040 3988*eb00b1c8SRobert Mustacchi }, { 3989*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 4k chan gran (11)", 3990*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_4k_gran, 3991*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c121023, 3992*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 3993*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 3994*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 3995*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 3996*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090023, 3997*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 3998*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 3999*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090023 4000*eb00b1c8SRobert Mustacchi }, { 4001*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 4k chan gran (12)", 4002*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_4k_gran, 4003*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c121068, 4004*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4005*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4006*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4007*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4008*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090068, 4009*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4010*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4011*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090068 4012*eb00b1c8SRobert Mustacchi }, { 4013*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 4k chan gran (13)", 4014*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_4k_gran, 4015*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c121300, 4016*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4017*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4018*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4019*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4020*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090300, 4021*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4022*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4023*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090300 4024*eb00b1c8SRobert Mustacchi }, { 4025*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 4k chan gran (14)", 4026*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_4k_gran, 4027*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c121140, 4028*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4029*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4030*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4031*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4032*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090140, 4033*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4034*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4035*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090140 4036*eb00b1c8SRobert Mustacchi }, { 4037*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 4k chan gran (15)", 4038*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_4k_gran, 4039*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c123123, 4040*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4041*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4042*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4043*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4044*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06091123, 4045*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4046*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4047*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06091123 4048*eb00b1c8SRobert Mustacchi }, { 4049*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 4k chan gran (16)", 4050*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_4k_gran, 4051*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c121368, 4052*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4053*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4054*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4055*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4056*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x06090368, 4057*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4058*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4059*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x06090368 4060*eb00b1c8SRobert Mustacchi }, 4061*eb00b1c8SRobert Mustacchi /* 4062*eb00b1c8SRobert Mustacchi * Use a 1 GiB Interleaving next. 4063*eb00b1c8SRobert Mustacchi */ 4064*eb00b1c8SRobert Mustacchi { 4065*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (1)", 4066*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4067*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120000, 4068*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4069*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4070*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4071*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4072*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c120000, 4073*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4074*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4075*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c120000 4076*eb00b1c8SRobert Mustacchi }, { 4077*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (2)", 4078*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4079*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120040, 4080*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4081*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4082*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4083*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4084*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c120040, 4085*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4086*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4087*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c120040 4088*eb00b1c8SRobert Mustacchi }, { 4089*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (3)", 4090*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4091*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120023, 4092*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4093*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4094*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4095*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4096*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c120023, 4097*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4098*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4099*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c120023 4100*eb00b1c8SRobert Mustacchi }, { 4101*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (4)", 4102*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4103*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120068, 4104*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4105*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4106*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4107*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4108*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c120068, 4109*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4110*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4111*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c120068 4112*eb00b1c8SRobert Mustacchi }, { 4113*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (5)", 4114*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4115*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120300, 4116*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4117*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4118*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4119*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4120*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c120300, 4121*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4122*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4123*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c120300 4124*eb00b1c8SRobert Mustacchi }, { 4125*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (6)", 4126*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4127*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120140, 4128*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4129*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4130*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4131*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4132*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c120140, 4133*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4134*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4135*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c120140 4136*eb00b1c8SRobert Mustacchi }, { 4137*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (7)", 4138*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4139*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120123, 4140*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4141*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4142*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4143*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4144*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c120123, 4145*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4146*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4147*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c120123 4148*eb00b1c8SRobert Mustacchi }, { 4149*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (8)", 4150*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4151*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c120368, 4152*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4153*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4154*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4155*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4156*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c120368, 4157*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4158*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4159*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c120368 4160*eb00b1c8SRobert Mustacchi }, { 4161*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (9)", 4162*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4163*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c121000, 4164*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4165*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4166*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4167*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4168*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c121000, 4169*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4170*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4171*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c121000 4172*eb00b1c8SRobert Mustacchi }, { 4173*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (10)", 4174*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4175*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c123040, 4176*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4177*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4178*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4179*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4180*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c123040, 4181*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4182*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4183*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c123040 4184*eb00b1c8SRobert Mustacchi }, { 4185*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (11)", 4186*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4187*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c121023, 4188*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4189*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4190*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4191*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4192*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c121023, 4193*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4194*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4195*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c121023 4196*eb00b1c8SRobert Mustacchi }, { 4197*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (12)", 4198*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4199*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c121068, 4200*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4201*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4202*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4203*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4204*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c121068, 4205*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4206*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4207*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c121068 4208*eb00b1c8SRobert Mustacchi }, { 4209*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (13)", 4210*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4211*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c121300, 4212*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4213*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4214*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4215*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4216*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c121300, 4217*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4218*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4219*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c121300 4220*eb00b1c8SRobert Mustacchi }, { 4221*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (14)", 4222*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4223*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c121140, 4224*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4225*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4226*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4227*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4228*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c121140, 4229*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4230*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4231*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c121140 4232*eb00b1c8SRobert Mustacchi }, { 4233*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (15)", 4234*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4235*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c123123, 4236*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4237*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4238*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4239*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4240*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c123123, 4241*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4242*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4243*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c123123 4244*eb00b1c8SRobert Mustacchi }, { 4245*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (16)", 4246*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4247*eb00b1c8SRobert Mustacchi .itc_pa = 0x0c121368, 4248*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4249*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4250*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4251*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4252*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c121368, 4253*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4254*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4255*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c121368 4256*eb00b1c8SRobert Mustacchi }, { 4257*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (1)", 4258*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4259*eb00b1c8SRobert Mustacchi .itc_pa = 0x4c120000, 4260*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4261*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4262*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4263*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4264*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c120000, 4265*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4266*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4267*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c120000 4268*eb00b1c8SRobert Mustacchi }, { 4269*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (2)", 4270*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4271*eb00b1c8SRobert Mustacchi .itc_pa = 0x4c120040, 4272*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4273*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4274*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4275*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4276*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c120040, 4277*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4278*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4279*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c120040 4280*eb00b1c8SRobert Mustacchi }, { 4281*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (3)", 4282*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4283*eb00b1c8SRobert Mustacchi .itc_pa = 0x5c120023, 4284*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4285*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4286*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4287*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4288*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x1c120023, 4289*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4290*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4291*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x1c120023 4292*eb00b1c8SRobert Mustacchi }, { 4293*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (4)", 4294*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4295*eb00b1c8SRobert Mustacchi .itc_pa = 0x6c120068, 4296*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4297*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4298*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4299*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4300*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x2c120068, 4301*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4302*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4303*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x2c120068 4304*eb00b1c8SRobert Mustacchi }, { 4305*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (5)", 4306*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4307*eb00b1c8SRobert Mustacchi .itc_pa = 0x7c120300, 4308*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4309*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4310*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4311*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4312*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3c120300, 4313*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4314*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4315*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3c120300 4316*eb00b1c8SRobert Mustacchi }, { 4317*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (6)", 4318*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4319*eb00b1c8SRobert Mustacchi .itc_pa = 0x4c120140, 4320*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4321*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4322*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4323*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4324*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c120140, 4325*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4326*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4327*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c120140 4328*eb00b1c8SRobert Mustacchi }, { 4329*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (7)", 4330*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4331*eb00b1c8SRobert Mustacchi .itc_pa = 0x5c120123, 4332*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4333*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4334*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4335*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4336*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x1c120123, 4337*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4338*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4339*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x1c120123 4340*eb00b1c8SRobert Mustacchi }, { 4341*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (8)", 4342*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4343*eb00b1c8SRobert Mustacchi .itc_pa = 0x6c120368, 4344*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4345*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4346*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4347*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4348*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x2c120368, 4349*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4350*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4351*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x2c120368 4352*eb00b1c8SRobert Mustacchi }, { 4353*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (9)", 4354*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4355*eb00b1c8SRobert Mustacchi .itc_pa = 0x7c121000, 4356*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4357*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4358*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4359*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4360*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3c121000, 4361*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4362*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4363*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3c121000 4364*eb00b1c8SRobert Mustacchi }, { 4365*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (10)", 4366*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4367*eb00b1c8SRobert Mustacchi .itc_pa = 0x4c123040, 4368*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4369*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4370*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4371*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4372*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0c123040, 4373*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4374*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4375*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0c123040 4376*eb00b1c8SRobert Mustacchi }, { 4377*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (11)", 4378*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4379*eb00b1c8SRobert Mustacchi .itc_pa = 0x5c121023, 4380*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4381*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4382*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4383*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4384*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x1c121023, 4385*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4386*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4387*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x1c121023 4388*eb00b1c8SRobert Mustacchi }, { 4389*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (12)", 4390*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4391*eb00b1c8SRobert Mustacchi .itc_pa = 0x6c121068, 4392*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4393*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4394*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4395*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4396*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x2c121068, 4397*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4398*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4399*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x2c121068 4400*eb00b1c8SRobert Mustacchi }, { 4401*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (13)", 4402*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4403*eb00b1c8SRobert Mustacchi .itc_pa = 0x7c121300, 4404*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4405*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4406*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4407*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4408*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3c121300, 4409*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4410*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4411*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3c121300 4412*eb00b1c8SRobert Mustacchi }, { 4413*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (14)", 4414*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4415*eb00b1c8SRobert Mustacchi .itc_pa = 0x7c121140, 4416*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4417*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4418*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4419*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4420*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3c121140, 4421*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4422*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4423*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3c121140 4424*eb00b1c8SRobert Mustacchi }, { 4425*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (15)", 4426*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4427*eb00b1c8SRobert Mustacchi .itc_pa = 0x6c123123, 4428*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4429*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4430*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4431*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4432*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x2c123123, 4433*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4434*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4435*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x2c123123 4436*eb00b1c8SRobert Mustacchi }, { 4437*eb00b1c8SRobert Mustacchi .itc_desc = "SKX 2ch 1g chan gran (16)", 4438*eb00b1c8SRobert Mustacchi .itc_imc = &imc_skx_1g_gran, 4439*eb00b1c8SRobert Mustacchi .itc_pa = 0x5c121368, 4440*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4441*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4442*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4443*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4444*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x1c121368, 4445*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4446*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4447*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x1c121368 4448*eb00b1c8SRobert Mustacchi }, 4449*eb00b1c8SRobert Mustacchi /* 4450*eb00b1c8SRobert Mustacchi * This round of tests puts together a 1 socekt configuration with 4 channel way 4451*eb00b1c8SRobert Mustacchi * interleaving. This means that we're interleaving across two IMCs in the same 4452*eb00b1c8SRobert Mustacchi * socket. 4453*eb00b1c8SRobert Mustacchi */ 4454*eb00b1c8SRobert Mustacchi { 4455*eb00b1c8SRobert Mustacchi .itc_desc = "1 socket, 4-channel way (1)", 4456*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_4cw, 4457*eb00b1c8SRobert Mustacchi .itc_pa = 0x0ff13006, 4458*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4459*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4460*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4461*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4462*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fc4c06, 4463*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4464*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4465*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fc4c06 4466*eb00b1c8SRobert Mustacchi }, { 4467*eb00b1c8SRobert Mustacchi .itc_desc = "1 socket, 4-channel way (2)", 4468*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_4cw, 4469*eb00b1c8SRobert Mustacchi .itc_pa = 0x0ff13046, 4470*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4471*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4472*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4473*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4474*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fc4c06, 4475*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4476*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4477*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fc4c06 4478*eb00b1c8SRobert Mustacchi }, { 4479*eb00b1c8SRobert Mustacchi .itc_desc = "1 socket, 4-channel way (3)", 4480*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_4cw, 4481*eb00b1c8SRobert Mustacchi .itc_pa = 0x0ff13086, 4482*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4483*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4484*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4485*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4486*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fc4c06, 4487*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4488*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4489*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fc4c06 4490*eb00b1c8SRobert Mustacchi }, { 4491*eb00b1c8SRobert Mustacchi .itc_desc = "1 socket, 4-channel way (4)", 4492*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_4cw, 4493*eb00b1c8SRobert Mustacchi .itc_pa = 0x0ff130c6, 4494*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4495*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4496*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4497*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4498*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fc4c06, 4499*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4500*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4501*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fc4c06 4502*eb00b1c8SRobert Mustacchi }, { 4503*eb00b1c8SRobert Mustacchi .itc_desc = "1 socket, 4-channel way (5)", 4504*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_4cw, 4505*eb00b1c8SRobert Mustacchi .itc_pa = 0x0ff13026, 4506*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4507*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4508*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4509*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4510*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fc4c26, 4511*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4512*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4513*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fc4c26 4514*eb00b1c8SRobert Mustacchi }, { 4515*eb00b1c8SRobert Mustacchi .itc_desc = "1 socket, 4-channel way (6)", 4516*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_4cw, 4517*eb00b1c8SRobert Mustacchi .itc_pa = 0x0ff13077, 4518*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4519*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4520*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4521*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4522*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fc4c37, 4523*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4524*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4525*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fc4c37 4526*eb00b1c8SRobert Mustacchi }, { 4527*eb00b1c8SRobert Mustacchi .itc_desc = "1 socket, 4-channel way (7)", 4528*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_4cw, 4529*eb00b1c8SRobert Mustacchi .itc_pa = 0x0ff13099, 4530*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4531*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4532*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4533*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4534*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fc4c19, 4535*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4536*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4537*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fc4c19 4538*eb00b1c8SRobert Mustacchi }, { 4539*eb00b1c8SRobert Mustacchi .itc_desc = "1 socket, 4-channel way (8)", 4540*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_4cw, 4541*eb00b1c8SRobert Mustacchi .itc_pa = 0x0ff130ff, 4542*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4543*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4544*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4545*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4546*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fc4c3f, 4547*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4548*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4549*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fc4c3f 4550*eb00b1c8SRobert Mustacchi }, { 4551*eb00b1c8SRobert Mustacchi .itc_desc = "1 socket, 4-channel way (9)", 4552*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_4cw, 4553*eb00b1c8SRobert Mustacchi .itc_pa = 0x8ff13006, 4554*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4555*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4556*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4557*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4558*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x23fc4c06, 4559*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4560*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4561*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x23fc4c06 4562*eb00b1c8SRobert Mustacchi }, { 4563*eb00b1c8SRobert Mustacchi .itc_desc = "1 socket, 4-channel way (10)", 4564*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_4cw, 4565*eb00b1c8SRobert Mustacchi .itc_pa = 0x3ff13046, 4566*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4567*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4568*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4569*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4570*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0ffc4c06, 4571*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4572*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4573*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0ffc4c06 4574*eb00b1c8SRobert Mustacchi }, { 4575*eb00b1c8SRobert Mustacchi .itc_desc = "1 socket, 4-channel way (11)", 4576*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_4cw, 4577*eb00b1c8SRobert Mustacchi .itc_pa = 0x4ff13086, 4578*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4579*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4580*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4581*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4582*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x13fc4c06, 4583*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4584*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4585*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x13fc4c06 4586*eb00b1c8SRobert Mustacchi }, { 4587*eb00b1c8SRobert Mustacchi .itc_desc = "1 socket, 4-channel way (12)", 4588*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_4cw, 4589*eb00b1c8SRobert Mustacchi .itc_pa = 0x9ff130c6, 4590*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4591*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4592*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4593*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4594*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x27fc4c06, 4595*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4596*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4597*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x27fc4c06 4598*eb00b1c8SRobert Mustacchi }, { 4599*eb00b1c8SRobert Mustacchi .itc_desc = "1 socket, 4-channel way (13)", 4600*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_4cw, 4601*eb00b1c8SRobert Mustacchi .itc_pa = 0xdff13026, 4602*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4603*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4604*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4605*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4606*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x37fc4c26, 4607*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4608*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4609*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x37fc4c26 4610*eb00b1c8SRobert Mustacchi }, { 4611*eb00b1c8SRobert Mustacchi .itc_desc = "1 socket, 4-channel way (14)", 4612*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_4cw, 4613*eb00b1c8SRobert Mustacchi .itc_pa = 0xeff13077, 4614*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4615*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4616*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4617*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4618*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3bfc4c37, 4619*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4620*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4621*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3bfc4c37 4622*eb00b1c8SRobert Mustacchi }, { 4623*eb00b1c8SRobert Mustacchi .itc_desc = "1 socket, 4-channel way (15)", 4624*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_4cw, 4625*eb00b1c8SRobert Mustacchi .itc_pa = 0x4ff13099, 4626*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4627*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4628*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4629*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4630*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x13fc4c19, 4631*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4632*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4633*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x13fc4c19 4634*eb00b1c8SRobert Mustacchi }, { 4635*eb00b1c8SRobert Mustacchi .itc_desc = "1 socket, 4-channel way (16)", 4636*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_1s_4cw, 4637*eb00b1c8SRobert Mustacchi .itc_pa = 0x8ff130ff, 4638*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4639*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4640*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4641*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4642*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x23fc4c3f, 4643*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4644*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4645*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x23fc4c3f 4646*eb00b1c8SRobert Mustacchi }, 4647*eb00b1c8SRobert Mustacchi /* 4648*eb00b1c8SRobert Mustacchi * Test the first variation of mod3 rules. We basically try to find addresses 4649*eb00b1c8SRobert Mustacchi * that map to all 6 channels and then do different variations thereof. We 4650*eb00b1c8SRobert Mustacchi * mostly use the addresses from the previous test run to get a good random 4651*eb00b1c8SRobert Mustacchi * smattering of addresses. 4652*eb00b1c8SRobert Mustacchi */ 4653*eb00b1c8SRobert Mustacchi { 4654*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t6 (1)", 4655*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t6, 4656*eb00b1c8SRobert Mustacchi .itc_pa = 0x0ff13006, 4657*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4658*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4659*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4660*eb00b1c8SRobert Mustacchi .itc_channelid = 2, 4661*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fc4c06, 4662*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4663*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4664*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fc4c06 4665*eb00b1c8SRobert Mustacchi }, { 4666*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t6 (2)", 4667*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t6, 4668*eb00b1c8SRobert Mustacchi .itc_pa = 0x0ff13046, 4669*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4670*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4671*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4672*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4673*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fc4c06, 4674*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4675*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4676*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fc4c06 4677*eb00b1c8SRobert Mustacchi }, { 4678*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t6 (3)", 4679*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t6, 4680*eb00b1c8SRobert Mustacchi .itc_pa = 0x0ff13086, 4681*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4682*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4683*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4684*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4685*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fc4c06, 4686*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4687*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4688*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fc4c06 4689*eb00b1c8SRobert Mustacchi }, { 4690*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t6 (4)", 4691*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t6, 4692*eb00b1c8SRobert Mustacchi .itc_pa = 0x0ff130c6, 4693*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4694*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4695*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4696*eb00b1c8SRobert Mustacchi .itc_channelid = 2, 4697*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fc4c06, 4698*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4699*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4700*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fc4c06 4701*eb00b1c8SRobert Mustacchi }, { 4702*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t6 (5)", 4703*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t6, 4704*eb00b1c8SRobert Mustacchi .itc_pa = 0x0ff13026, 4705*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4706*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4707*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4708*eb00b1c8SRobert Mustacchi .itc_channelid = 2, 4709*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fc4c26, 4710*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4711*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4712*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fc4c26 4713*eb00b1c8SRobert Mustacchi }, { 4714*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t6 (6)", 4715*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t6, 4716*eb00b1c8SRobert Mustacchi .itc_pa = 0x0ff13077, 4717*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4718*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4719*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4720*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4721*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fc4c37, 4722*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4723*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4724*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fc4c37 4725*eb00b1c8SRobert Mustacchi }, { 4726*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t6 (7)", 4727*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t6, 4728*eb00b1c8SRobert Mustacchi .itc_pa = 0x0ff13099, 4729*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4730*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4731*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4732*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4733*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fc4c19, 4734*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4735*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4736*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fc4c19 4737*eb00b1c8SRobert Mustacchi }, { 4738*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t6 (8)", 4739*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t6, 4740*eb00b1c8SRobert Mustacchi .itc_pa = 0x0ff130ff, 4741*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4742*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4743*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4744*eb00b1c8SRobert Mustacchi .itc_channelid = 2, 4745*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x03fc4c3f, 4746*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4747*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4748*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x03fc4c3f 4749*eb00b1c8SRobert Mustacchi }, { 4750*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t6 (9)", 4751*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t6, 4752*eb00b1c8SRobert Mustacchi .itc_pa = 0x8ff13006, 4753*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4754*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4755*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4756*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4757*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x23fc4c06, 4758*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4759*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4760*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x23fc4c06 4761*eb00b1c8SRobert Mustacchi }, { 4762*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t6 (10)", 4763*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t6, 4764*eb00b1c8SRobert Mustacchi .itc_pa = 0x3ff13046, 4765*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4766*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4767*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4768*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4769*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0ffc4c06, 4770*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4771*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4772*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0ffc4c06 4773*eb00b1c8SRobert Mustacchi }, { 4774*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t6 (11)", 4775*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t6, 4776*eb00b1c8SRobert Mustacchi .itc_pa = 0x4ff13086, 4777*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4778*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4779*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4780*eb00b1c8SRobert Mustacchi .itc_channelid = 2, 4781*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x13fc4c06, 4782*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4783*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4784*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x13fc4c06 4785*eb00b1c8SRobert Mustacchi }, { 4786*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t6 (12)", 4787*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t6, 4788*eb00b1c8SRobert Mustacchi .itc_pa = 0x9ff130c6, 4789*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4790*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4791*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4792*eb00b1c8SRobert Mustacchi .itc_channelid = 2, 4793*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x27fc4c06, 4794*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4795*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4796*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x27fc4c06 4797*eb00b1c8SRobert Mustacchi }, { 4798*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t6 (13)", 4799*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t6, 4800*eb00b1c8SRobert Mustacchi .itc_pa = 0xdff13026, 4801*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4802*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4803*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4804*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4805*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x37fc4c26, 4806*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4807*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4808*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x37fc4c26 4809*eb00b1c8SRobert Mustacchi }, { 4810*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t6 (14)", 4811*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t6, 4812*eb00b1c8SRobert Mustacchi .itc_pa = 0xeff13077, 4813*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4814*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4815*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4816*eb00b1c8SRobert Mustacchi .itc_channelid = 2, 4817*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x3bfc4c37, 4818*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4819*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4820*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x3bfc4c37 4821*eb00b1c8SRobert Mustacchi }, { 4822*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t6 (15)", 4823*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t6, 4824*eb00b1c8SRobert Mustacchi .itc_pa = 0x4ff13099, 4825*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4826*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4827*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4828*eb00b1c8SRobert Mustacchi .itc_channelid = 2, 4829*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x13fc4c19, 4830*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4831*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4832*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x13fc4c19 4833*eb00b1c8SRobert Mustacchi }, { 4834*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t6 (16)", 4835*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t6, 4836*eb00b1c8SRobert Mustacchi .itc_pa = 0x8ff130ff, 4837*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4838*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4839*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4840*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4841*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x23fc4c3f, 4842*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4843*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4844*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x23fc4c3f 4845*eb00b1c8SRobert Mustacchi }, 4846*eb00b1c8SRobert Mustacchi /* 4847*eb00b1c8SRobert Mustacchi * Now use PA bits 45:8 to determine the basic mod3 rule. We make sure that we 4848*eb00b1c8SRobert Mustacchi * can construct addresses that hit every routing table entry. 4849*eb00b1c8SRobert Mustacchi */ 4850*eb00b1c8SRobert Mustacchi { 4851*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t8 (1)", 4852*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t8, 4853*eb00b1c8SRobert Mustacchi .itc_pa = 0x00000000, 4854*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4855*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4856*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4857*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4858*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0, 4859*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4860*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4861*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0 4862*eb00b1c8SRobert Mustacchi }, { 4863*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t8 (2)", 4864*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t8, 4865*eb00b1c8SRobert Mustacchi .itc_pa = 0x00000040, 4866*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4867*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4868*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4869*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4870*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0, 4871*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4872*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4873*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0 4874*eb00b1c8SRobert Mustacchi }, { 4875*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t8 (3)", 4876*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t8, 4877*eb00b1c8SRobert Mustacchi .itc_pa = 0x00000100, 4878*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4879*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4880*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4881*eb00b1c8SRobert Mustacchi .itc_channelid = 2, 4882*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x40, 4883*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4884*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4885*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x40 4886*eb00b1c8SRobert Mustacchi }, { 4887*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t8 (4)", 4888*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t8, 4889*eb00b1c8SRobert Mustacchi .itc_pa = 0x00000140, 4890*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4891*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4892*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4893*eb00b1c8SRobert Mustacchi .itc_channelid = 2, 4894*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x40, 4895*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4896*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4897*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x40 4898*eb00b1c8SRobert Mustacchi }, { 4899*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t8 (5)", 4900*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t8, 4901*eb00b1c8SRobert Mustacchi .itc_pa = 0x00000280, 4902*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4903*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4904*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4905*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4906*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x80, 4907*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4908*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4909*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x80 4910*eb00b1c8SRobert Mustacchi }, { 4911*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t8 (6)", 4912*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t8, 4913*eb00b1c8SRobert Mustacchi .itc_pa = 0x00000240, 4914*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4915*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4916*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4917*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4918*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x80, 4919*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4920*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4921*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x80 4922*eb00b1c8SRobert Mustacchi }, 4923*eb00b1c8SRobert Mustacchi /* 4924*eb00b1c8SRobert Mustacchi * Hit every valid routing table entry with a 45:12 rule. 4925*eb00b1c8SRobert Mustacchi */ 4926*eb00b1c8SRobert Mustacchi { 4927*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t12 (1)", 4928*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t12, 4929*eb00b1c8SRobert Mustacchi .itc_pa = 0x00000000, 4930*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4931*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4932*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4933*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4934*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0, 4935*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4936*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4937*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0 4938*eb00b1c8SRobert Mustacchi }, { 4939*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t12 (2)", 4940*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t12, 4941*eb00b1c8SRobert Mustacchi .itc_pa = 0x00000040, 4942*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4943*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4944*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4945*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4946*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0, 4947*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4948*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4949*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0 4950*eb00b1c8SRobert Mustacchi }, { 4951*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t12 (3)", 4952*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t12, 4953*eb00b1c8SRobert Mustacchi .itc_pa = 0x00001000, 4954*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4955*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4956*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 4957*eb00b1c8SRobert Mustacchi .itc_channelid = 2, 4958*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x400, 4959*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4960*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4961*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x400 4962*eb00b1c8SRobert Mustacchi }, { 4963*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t12 (4)", 4964*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t12, 4965*eb00b1c8SRobert Mustacchi .itc_pa = 0x00001040, 4966*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4967*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4968*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4969*eb00b1c8SRobert Mustacchi .itc_channelid = 2, 4970*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x400, 4971*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4972*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4973*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x400 4974*eb00b1c8SRobert Mustacchi }, { 4975*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t12 (5)", 4976*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t12, 4977*eb00b1c8SRobert Mustacchi .itc_pa = 0x00002080, 4978*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4979*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4980*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4981*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 4982*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x800, 4983*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4984*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4985*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x800 4986*eb00b1c8SRobert Mustacchi }, { 4987*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod 3 45t12 (6)", 4988*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod3_45t12, 4989*eb00b1c8SRobert Mustacchi .itc_pa = 0x00002040, 4990*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 4991*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 4992*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 4993*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 4994*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x800, 4995*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 4996*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 4997*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x800 4998*eb00b1c8SRobert Mustacchi }, 4999*eb00b1c8SRobert Mustacchi /* 5000*eb00b1c8SRobert Mustacchi * Test to make sure we can trigger all variants of mod2 favoring 0/1. 5001*eb00b1c8SRobert Mustacchi */ 5002*eb00b1c8SRobert Mustacchi { 5003*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod2_01 45t12 (1)", 5004*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod2_01_45t12, 5005*eb00b1c8SRobert Mustacchi .itc_pa = 0x00000000, 5006*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 5007*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 5008*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 5009*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 5010*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0, 5011*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 5012*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 5013*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0 5014*eb00b1c8SRobert Mustacchi }, { 5015*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod2_01 45t12 (2)", 5016*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod2_01_45t12, 5017*eb00b1c8SRobert Mustacchi .itc_pa = 0x00000040, 5018*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 5019*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 5020*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 5021*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 5022*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0, 5023*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 5024*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 5025*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0 5026*eb00b1c8SRobert Mustacchi }, { 5027*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod2_01 45t12 (3)", 5028*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod2_01_45t12, 5029*eb00b1c8SRobert Mustacchi .itc_pa = 0x00001000, 5030*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 5031*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 5032*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 5033*eb00b1c8SRobert Mustacchi .itc_channelid = 2, 5034*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x400, 5035*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 5036*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 5037*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x400 5038*eb00b1c8SRobert Mustacchi }, { 5039*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod2_01 45t12 (4)", 5040*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod2_01_45t12, 5041*eb00b1c8SRobert Mustacchi .itc_pa = 0x00001040, 5042*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 5043*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 5044*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 5045*eb00b1c8SRobert Mustacchi .itc_channelid = 2, 5046*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x400, 5047*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 5048*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 5049*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x400 5050*eb00b1c8SRobert Mustacchi }, { 5051*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod2_01 45t12 (5)", 5052*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod2_01_45t12, 5053*eb00b1c8SRobert Mustacchi .itc_pa = 0x00002080, 5054*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 5055*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 5056*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 5057*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 5058*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x800, 5059*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 5060*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 5061*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x800 5062*eb00b1c8SRobert Mustacchi }, { 5063*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod2_01 45t12 (6)", 5064*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod2_01_45t12, 5065*eb00b1c8SRobert Mustacchi .itc_pa = 0x00002040, 5066*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 5067*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 5068*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 5069*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 5070*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x800, 5071*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 5072*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 5073*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x800 5074*eb00b1c8SRobert Mustacchi }, 5075*eb00b1c8SRobert Mustacchi /* 5076*eb00b1c8SRobert Mustacchi * Test to make sure we can trigger all variants of mod2 favoring 1/2. 5077*eb00b1c8SRobert Mustacchi */ 5078*eb00b1c8SRobert Mustacchi { 5079*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod2_12 45t12 (1)", 5080*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod2_12_45t12, 5081*eb00b1c8SRobert Mustacchi .itc_pa = 0x00000000, 5082*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 5083*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 5084*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 5085*eb00b1c8SRobert Mustacchi .itc_channelid = 2, 5086*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0, 5087*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 5088*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 5089*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0 5090*eb00b1c8SRobert Mustacchi }, { 5091*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod2_12 45t12 (2)", 5092*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod2_12_45t12, 5093*eb00b1c8SRobert Mustacchi .itc_pa = 0x00000040, 5094*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 5095*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 5096*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 5097*eb00b1c8SRobert Mustacchi .itc_channelid = 2, 5098*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0, 5099*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 5100*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 5101*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0 5102*eb00b1c8SRobert Mustacchi }, { 5103*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod2_12 45t12 (3)", 5104*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod2_12_45t12, 5105*eb00b1c8SRobert Mustacchi .itc_pa = 0x00001000, 5106*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 5107*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 5108*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 5109*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 5110*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x400, 5111*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 5112*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 5113*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x400 5114*eb00b1c8SRobert Mustacchi }, { 5115*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod2_12 45t12 (4)", 5116*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod2_12_45t12, 5117*eb00b1c8SRobert Mustacchi .itc_pa = 0x00001040, 5118*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 5119*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 5120*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 5121*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 5122*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x400, 5123*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 5124*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 5125*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x400 5126*eb00b1c8SRobert Mustacchi }, { 5127*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod2_12 45t12 (5)", 5128*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod2_12_45t12, 5129*eb00b1c8SRobert Mustacchi .itc_pa = 0x00002080, 5130*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 5131*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 5132*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 5133*eb00b1c8SRobert Mustacchi .itc_channelid = 2, 5134*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x800, 5135*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 5136*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 5137*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x800 5138*eb00b1c8SRobert Mustacchi }, { 5139*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod2_12 45t12 (6)", 5140*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod2_12_45t12, 5141*eb00b1c8SRobert Mustacchi .itc_pa = 0x00002040, 5142*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 5143*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 5144*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 5145*eb00b1c8SRobert Mustacchi .itc_channelid = 2, 5146*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x800, 5147*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 5148*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 5149*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x800 5150*eb00b1c8SRobert Mustacchi }, 5151*eb00b1c8SRobert Mustacchi /* 5152*eb00b1c8SRobert Mustacchi * Test to make sure we can trigger all variants of mod2 favoring 0/2. 5153*eb00b1c8SRobert Mustacchi */ 5154*eb00b1c8SRobert Mustacchi { 5155*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod2_02 45t12 (1)", 5156*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod2_02_45t12, 5157*eb00b1c8SRobert Mustacchi .itc_pa = 0x00000000, 5158*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 5159*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 5160*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 5161*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 5162*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0, 5163*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 5164*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 5165*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0 5166*eb00b1c8SRobert Mustacchi }, { 5167*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod2_02 45t12 (2)", 5168*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod2_02_45t12, 5169*eb00b1c8SRobert Mustacchi .itc_pa = 0x00000040, 5170*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 5171*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 5172*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 5173*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 5174*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x0, 5175*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 5176*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 5177*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x0 5178*eb00b1c8SRobert Mustacchi }, { 5179*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod2_02 45t12 (3)", 5180*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod2_02_45t12, 5181*eb00b1c8SRobert Mustacchi .itc_pa = 0x00001000, 5182*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 5183*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 5184*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 5185*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 5186*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x400, 5187*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 5188*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 5189*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x400 5190*eb00b1c8SRobert Mustacchi }, { 5191*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod2_02 45t12 (4)", 5192*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod2_02_45t12, 5193*eb00b1c8SRobert Mustacchi .itc_pa = 0x00001040, 5194*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 5195*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 5196*eb00b1c8SRobert Mustacchi .itc_tadid = 1, 5197*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 5198*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x400, 5199*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 5200*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 5201*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x400 5202*eb00b1c8SRobert Mustacchi }, { 5203*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod2_02 45t12 (5)", 5204*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod2_02_45t12, 5205*eb00b1c8SRobert Mustacchi .itc_pa = 0x00002080, 5206*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 5207*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 5208*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 5209*eb00b1c8SRobert Mustacchi .itc_channelid = 0, 5210*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x800, 5211*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 5212*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 5213*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x800 5214*eb00b1c8SRobert Mustacchi }, { 5215*eb00b1c8SRobert Mustacchi .itc_desc = "1s mod2_02 45t12 (6)", 5216*eb00b1c8SRobert Mustacchi .itc_imc = &imc_tad_skx_mod2_02_45t12, 5217*eb00b1c8SRobert Mustacchi .itc_pa = 0x00002040, 5218*eb00b1c8SRobert Mustacchi .itc_pass = B_TRUE, 5219*eb00b1c8SRobert Mustacchi .itc_nodeid = 0, 5220*eb00b1c8SRobert Mustacchi .itc_tadid = 0, 5221*eb00b1c8SRobert Mustacchi .itc_channelid = 1, 5222*eb00b1c8SRobert Mustacchi .itc_chanaddr = 0x800, 5223*eb00b1c8SRobert Mustacchi .itc_dimmid = 0, 5224*eb00b1c8SRobert Mustacchi .itc_rankid = 0, 5225*eb00b1c8SRobert Mustacchi .itc_rankaddr = 0x800 5226*eb00b1c8SRobert Mustacchi }, { 5227*eb00b1c8SRobert Mustacchi .itc_desc = NULL 5228*eb00b1c8SRobert Mustacchi } }; 5229