diff options
author | Stanley Zheng <jiezheng@us.ibm.com> | 2018-10-12 11:59:40 -0400 |
---|---|---|
committer | Christian R. Geddes <crgeddes@us.ibm.com> | 2019-03-01 10:17:25 -0600 |
commit | c23e99369c5027c80330ce4269e9e9bef1896b93 (patch) | |
tree | d740f79e07a2cd12b14e54cd196c261e0cf20c2d /src/import/chips/ocmb/procedures | |
parent | 8eb0494af6a14c4caac58c045d293cb65f62f977 (diff) | |
download | talos-hostboot-c23e99369c5027c80330ce4269e9e9bef1896b93.tar.gz talos-hostboot-c23e99369c5027c80330ce4269e9e9bef1896b93.zip |
add address xlate to initfile
Change-Id: Id401d46d86c7df44a6bc02a007b2ed3b6fa9e420
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67424
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com>
Reviewed-by: ANDRE A. MARIN <aamarin@us.ibm.com>
Reviewed-by: Louis Stermole <stermole@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72564
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/import/chips/ocmb/procedures')
-rw-r--r-- | src/import/chips/ocmb/procedures/hwp/initfiles/explorer_scom.C | 1218 |
1 files changed, 1180 insertions, 38 deletions
diff --git a/src/import/chips/ocmb/procedures/hwp/initfiles/explorer_scom.C b/src/import/chips/ocmb/procedures/hwp/initfiles/explorer_scom.C index 0a31633d7..764f38274 100644 --- a/src/import/chips/ocmb/procedures/hwp/initfiles/explorer_scom.C +++ b/src/import/chips/ocmb/procedures/hwp/initfiles/explorer_scom.C @@ -33,49 +33,78 @@ constexpr uint64_t literal_1 = 1; constexpr uint64_t literal_3 = 3; constexpr uint64_t literal_0 = 0; constexpr uint64_t literal_9 = 9; +constexpr uint64_t literal_4 = 4; constexpr uint64_t literal_14 = 14; constexpr uint64_t literal_7 = 7; +constexpr uint64_t literal_2 = 2; constexpr uint64_t literal_24 = 24; constexpr uint64_t literal_5 = 5; constexpr uint64_t literal_266 = 266; constexpr uint64_t literal_1866 = 1866; -constexpr uint64_t literal_4 = 4; constexpr uint64_t literal_2668 = 2668; constexpr uint64_t literal_11 = 11; constexpr uint64_t literal_2934 = 2934; constexpr uint64_t literal_12 = 12; constexpr uint64_t literal_13 = 13; constexpr uint64_t literal_0b1000 = 0b1000; +constexpr uint64_t literal_0x0 = 0x0; +constexpr uint64_t literal_511 = 511; +constexpr uint64_t literal_132 = 132; +constexpr uint64_t literal_8 = 8; +constexpr uint64_t literal_100 = 100; constexpr uint64_t literal_0x02 = 0x02; constexpr uint64_t literal_0b1 = 0b1; constexpr uint64_t literal_0x01 = 0x01; constexpr uint64_t literal_0b0 = 0b0; constexpr uint64_t literal_0x00 = 0x00; +constexpr uint64_t literal_64 = 64; +constexpr uint64_t literal_32 = 32; +constexpr uint64_t literal_16 = 16; constexpr uint64_t literal_0b000 = 0b000; constexpr uint64_t literal_0b100 = 0b100; constexpr uint64_t literal_0b010 = 0b010; -constexpr uint64_t literal_0b110 = 0b110; -constexpr uint64_t literal_8 = 8; -constexpr uint64_t literal_0x0 = 0x0; constexpr uint64_t literal_0b001 = 0b001; -constexpr uint64_t literal_0b101 = 0b101; +constexpr uint64_t literal_0b110 = 0b110; constexpr uint64_t literal_0b011 = 0b011; +constexpr uint64_t literal_0b101 = 0b101; constexpr uint64_t literal_0b111 = 0b111; constexpr uint64_t literal_6 = 6; -constexpr uint64_t literal_2 = 2; constexpr uint64_t literal_10 = 10; constexpr uint64_t literal_15 = 15; -constexpr uint64_t literal_16 = 16; constexpr uint64_t literal_854 = 854; constexpr uint64_t literal_940 = 940; constexpr uint64_t literal_1024 = 1024; +constexpr uint64_t literal_0b01011 = 0b01011; +constexpr uint64_t literal_0b01100 = 0b01100; +constexpr uint64_t literal_0b01101 = 0b01101; +constexpr uint64_t literal_0b01110 = 0b01110; +constexpr uint64_t literal_0b01111 = 0b01111; +constexpr uint64_t literal_17 = 17; +constexpr uint64_t literal_18 = 18; +constexpr uint64_t literal_0b00110 = 0b00110; +constexpr uint64_t literal_0b10000 = 0b10000; +constexpr uint64_t literal_0b10001 = 0b10001; +constexpr uint64_t literal_0b10010 = 0b10010; +constexpr uint64_t literal_0b10011 = 0b10011; +constexpr uint64_t literal_0b00100 = 0b00100; +constexpr uint64_t literal_0b00001 = 0b00001; +constexpr uint64_t literal_0b00101 = 0b00101; +constexpr uint64_t literal_0b00111 = 0b00111; +constexpr uint64_t literal_0b01000 = 0b01000; +constexpr uint64_t literal_0b01001 = 0b01001; +constexpr uint64_t literal_0b01010 = 0b01010; +constexpr uint64_t literal_0b00000 = 0b00000; +constexpr uint64_t literal_0b00010 = 0b00010; +constexpr uint64_t literal_0b00011 = 0b00011; fapi2::ReturnCode explorer_scom(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>& TGT0, const fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT>& TGT1, const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT2, const fapi2::Target<fapi2::TARGET_TYPE_MC>& TGT3) { { - uint64_t l_def_IS_MICROSEMI_SIM = literal_1; + fapi2::ATTR_IS_SIMULATION_Type l_TGT2_ATTR_IS_SIMULATION; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_IS_SIMULATION, TGT2, l_TGT2_ATTR_IS_SIMULATION)); + uint64_t l_def_IS_MICROSEMI_SIM = (l_TGT2_ATTR_IS_SIMULATION == literal_1); fapi2::ATTR_MEM_RDIMM_BUFFER_DELAY_Type l_TGT1_ATTR_MEM_RDIMM_BUFFER_DELAY; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MEM_RDIMM_BUFFER_DELAY, TGT1, l_TGT1_ATTR_MEM_RDIMM_BUFFER_DELAY)); fapi2::ATTR_MEM_EFF_DIMM_TYPE_Type l_TGT1_ATTR_MEM_EFF_DIMM_TYPE; @@ -85,6 +114,7 @@ fapi2::ReturnCode explorer_scom(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP uint64_t l_def_RDIMM_Add_latency = (l_def_RDIMM_TYPE * l_TGT1_ATTR_MEM_RDIMM_BUFFER_DELAY); fapi2::ATTR_MEM_EFF_DRAM_CL_Type l_TGT1_ATTR_MEM_EFF_DRAM_CL; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MEM_EFF_DRAM_CL, TGT1, l_TGT1_ATTR_MEM_EFF_DRAM_CL)); + uint64_t l_def_IS_IBM_SIM = literal_0; fapi2::ATTR_MEM_DRAM_CWL_Type l_TGT1_ATTR_MEM_DRAM_CWL; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MEM_DRAM_CWL, TGT1, l_TGT1_ATTR_MEM_DRAM_CWL)); fapi2::ATTR_MEM_EFF_FREQ_Type l_TGT1_ATTR_MEM_EFF_FREQ; @@ -119,17 +149,43 @@ fapi2::ReturnCode explorer_scom(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP uint64_t l_def_MEM_EFF_FREQ_EQ_3200 = (l_TGT1_ATTR_MEM_EFF_FREQ >= literal_2934); fapi2::ATTR_MEM_REORDER_QUEUE_SETTING_Type l_TGT0_ATTR_MEM_REORDER_QUEUE_SETTING; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MEM_REORDER_QUEUE_SETTING, TGT0, l_TGT0_ATTR_MEM_REORDER_QUEUE_SETTING)); + fapi2::ATTR_MSS_OCMB_HALF_DIMM_MODE_OVERRIDE_Type l_TGT0_ATTR_MSS_OCMB_HALF_DIMM_MODE_OVERRIDE; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MSS_OCMB_HALF_DIMM_MODE_OVERRIDE, TGT0, + l_TGT0_ATTR_MSS_OCMB_HALF_DIMM_MODE_OVERRIDE)); + fapi2::ATTR_MSS_OCMB_HALF_DIMM_MODE_Type l_TGT0_ATTR_MSS_OCMB_HALF_DIMM_MODE; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MSS_OCMB_HALF_DIMM_MODE, TGT0, l_TGT0_ATTR_MSS_OCMB_HALF_DIMM_MODE)); + fapi2::ATTR_MSS_OCMB_NONENTERPRISE_MODE_OVERRIDE_Type l_TGT0_ATTR_MSS_OCMB_NONENTERPRISE_MODE_OVERRIDE; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MSS_OCMB_NONENTERPRISE_MODE_OVERRIDE, TGT0, + l_TGT0_ATTR_MSS_OCMB_NONENTERPRISE_MODE_OVERRIDE)); + fapi2::ATTR_MSS_OCMB_ENTERPRISE_MODE_Type l_TGT0_ATTR_MSS_OCMB_ENTERPRISE_MODE; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MSS_OCMB_ENTERPRISE_MODE, TGT0, l_TGT0_ATTR_MSS_OCMB_ENTERPRISE_MODE)); + uint64_t l_def_enterprise_mode = ((l_TGT0_ATTR_MSS_OCMB_ENTERPRISE_MODE == literal_1) + && (l_TGT0_ATTR_MSS_OCMB_NONENTERPRISE_MODE_OVERRIDE == literal_1)); + uint64_t l_def_half_dimm_mode = ((l_def_enterprise_mode == literal_1) + && (((l_TGT0_ATTR_MSS_OCMB_HALF_DIMM_MODE == literal_1) && (l_TGT0_ATTR_MSS_OCMB_HALF_DIMM_MODE_OVERRIDE != literal_1)) + || ((l_TGT0_ATTR_MSS_OCMB_HALF_DIMM_MODE == literal_0) + && (l_TGT0_ATTR_MSS_OCMB_HALF_DIMM_MODE_OVERRIDE == literal_2)))); + fapi2::ATTR_MEM_EFF_NUM_MASTER_RANKS_PER_DIMM_Type l_TGT1_ATTR_MEM_EFF_NUM_MASTER_RANKS_PER_DIMM; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MEM_EFF_NUM_MASTER_RANKS_PER_DIMM, TGT1, + l_TGT1_ATTR_MEM_EFF_NUM_MASTER_RANKS_PER_DIMM)); + uint64_t l_def_NUM_MRANKS_1 = ((l_TGT1_ATTR_MEM_EFF_NUM_MASTER_RANKS_PER_DIMM[literal_1] == literal_0x0) | + l_TGT1_ATTR_MEM_EFF_NUM_MASTER_RANKS_PER_DIMM[literal_1]); + uint64_t l_def_NUM_MRANKS_0 = ((l_TGT1_ATTR_MEM_EFF_NUM_MASTER_RANKS_PER_DIMM[literal_0] == literal_0x0) | + l_TGT1_ATTR_MEM_EFF_NUM_MASTER_RANKS_PER_DIMM[literal_0]); + fapi2::ATTR_MEM_EFF_NUM_RANKS_PER_DIMM_Type l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MEM_EFF_NUM_RANKS_PER_DIMM, TGT1, l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM)); + uint64_t l_def_NUM_SRANKS_1 = (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] / l_def_NUM_MRANKS_1); + uint64_t l_def_NUM_SRANKS_0 = (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] / l_def_NUM_MRANKS_0); + uint64_t l_def_disable_fast_act = ((((l_def_NUM_SRANKS_0 > literal_1) || (l_def_NUM_SRANKS_1 > literal_1)) + && ((l_def_NUM_MRANKS_0 == literal_4) || (l_def_NUM_MRANKS_1 == literal_4))) || l_def_half_dimm_mode); fapi2::ATTR_MSS_MRW_DRAM_2N_MODE_Type l_TGT2_ATTR_MSS_MRW_DRAM_2N_MODE; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MSS_MRW_DRAM_2N_MODE, TGT2, l_TGT2_ATTR_MSS_MRW_DRAM_2N_MODE)); fapi2::ATTR_MEM_2N_MODE_Type l_TGT0_ATTR_MEM_2N_MODE; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MEM_2N_MODE, TGT0, l_TGT0_ATTR_MEM_2N_MODE)); - fapi2::ATTR_MEM_EFF_NUM_MASTER_RANKS_PER_DIMM_Type l_TGT1_ATTR_MEM_EFF_NUM_MASTER_RANKS_PER_DIMM; - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MEM_EFF_NUM_MASTER_RANKS_PER_DIMM, TGT1, - l_TGT1_ATTR_MEM_EFF_NUM_MASTER_RANKS_PER_DIMM)); + fapi2::ATTR_MEM_MRW_IS_PLANAR_Type l_TGT0_ATTR_MEM_MRW_IS_PLANAR; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MEM_MRW_IS_PLANAR, TGT0, l_TGT0_ATTR_MEM_MRW_IS_PLANAR)); uint64_t l_def_SLOT0_DENOMINATOR = ((l_TGT1_ATTR_MEM_EFF_NUM_MASTER_RANKS_PER_DIMM[literal_0] == literal_0x0) | l_TGT1_ATTR_MEM_EFF_NUM_MASTER_RANKS_PER_DIMM[literal_0]); - fapi2::ATTR_MEM_EFF_NUM_RANKS_PER_DIMM_Type l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM; - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MEM_EFF_NUM_RANKS_PER_DIMM, TGT1, l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM)); uint64_t l_def_SLOT0_DRAM_STACK_HEIGHT = (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] / l_def_SLOT0_DENOMINATOR); uint64_t l_def_SLOT1_DENOMINATOR = ((l_TGT1_ATTR_MEM_EFF_NUM_MASTER_RANKS_PER_DIMM[literal_1] == literal_0x0) | l_TGT1_ATTR_MEM_EFF_NUM_MASTER_RANKS_PER_DIMM[literal_1]); @@ -149,6 +205,30 @@ fapi2::ReturnCode explorer_scom(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP fapi2::ATTR_MEM_EFF_DRAM_TRFC_DLR_Type l_TGT1_ATTR_MEM_EFF_DRAM_TRFC_DLR; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MEM_EFF_DRAM_TRFC_DLR, TGT1, l_TGT1_ATTR_MEM_EFF_DRAM_TRFC_DLR)); uint64_t l_def_REFR_CHECK_INTERVAL = (((l_def_REFRESH_INTERVAL * l_def_NUM_RANKS) * literal_6) / literal_5); + uint64_t l_def_s0_val_0 = (l_def_NUM_SRANKS_0 > literal_4); + uint64_t l_def_s1_val_0 = (l_def_NUM_SRANKS_0 >= literal_4); + uint64_t l_def_s2_val_0 = (l_def_NUM_SRANKS_0 >= literal_2); + uint64_t l_def_s0_val_1 = (l_def_NUM_SRANKS_1 > literal_4); + uint64_t l_def_s1_val_1 = (l_def_NUM_SRANKS_1 >= literal_4); + uint64_t l_def_s2_val_1 = (l_def_NUM_SRANKS_1 >= literal_2); + fapi2::ATTR_MEM_EFF_DRAM_ROW_BITS_Type l_TGT1_ATTR_MEM_EFF_DRAM_ROW_BITS; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MEM_EFF_DRAM_ROW_BITS, TGT1, l_TGT1_ATTR_MEM_EFF_DRAM_ROW_BITS)); + uint64_t l_def_row_bit15_val_0 = (l_TGT1_ATTR_MEM_EFF_DRAM_ROW_BITS[literal_0] >= literal_16); + uint64_t l_def_row_bit15_val_1 = (l_TGT1_ATTR_MEM_EFF_DRAM_ROW_BITS[literal_1] >= literal_16); + uint64_t l_def_row_bit16_val_0 = (l_TGT1_ATTR_MEM_EFF_DRAM_ROW_BITS[literal_0] >= literal_17); + uint64_t l_def_row_bit16_val_1 = (l_TGT1_ATTR_MEM_EFF_DRAM_ROW_BITS[literal_1] >= literal_17); + uint64_t l_def_row_bit17_val_0 = (l_TGT1_ATTR_MEM_EFF_DRAM_ROW_BITS[literal_0] >= literal_18); + uint64_t l_def_row_bit17_val_1 = (l_TGT1_ATTR_MEM_EFF_DRAM_ROW_BITS[literal_1] >= literal_18); + uint64_t l_def_slot_val_0 = (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] > literal_0); + uint64_t l_def_slot_val_1 = (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] > literal_0); + uint64_t l_def_m0_val_0 = (l_def_NUM_MRANKS_0 > literal_2); + uint64_t l_def_m1_val_0 = (l_def_NUM_MRANKS_0 >= literal_2); + uint64_t l_def_m0_val_1 = (l_def_NUM_MRANKS_1 > literal_2); + uint64_t l_def_m1_val_1 = (l_def_NUM_MRANKS_1 >= literal_2); + uint64_t l_def_num_of_bitvals_0 = (((((((l_def_row_bit17_val_0 + l_def_row_bit16_val_0) + l_def_row_bit15_val_0) + + l_def_m0_val_0) + l_def_m1_val_0) + l_def_s0_val_0) + l_def_s1_val_0) + l_def_s2_val_0); + uint64_t l_def_num_of_bitvals_1 = (((((((l_def_row_bit17_val_1 + l_def_row_bit16_val_1) + l_def_row_bit15_val_1) + + l_def_m0_val_1) + l_def_m1_val_1) + l_def_s0_val_1) + l_def_s1_val_1) + l_def_s2_val_1); fapi2::buffer<uint64_t> l_scom_buffer; { FAPI_TRY(fapi2::getScom( TGT0, 0x801140cull, l_scom_buffer )); @@ -157,28 +237,55 @@ fapi2::ReturnCode explorer_scom(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP { l_scom_buffer.insert<36, 6, 58, uint64_t>(((l_TGT1_ATTR_MEM_EFF_DRAM_CL - literal_9) + l_def_RDIMM_Add_latency) ); } + else if (l_def_IS_IBM_SIM) + { + l_scom_buffer.insert<36, 6, 58, uint64_t>(((l_TGT1_ATTR_MEM_EFF_DRAM_CL - literal_4) + l_def_RDIMM_Add_latency) ); + } if (l_def_IS_MICROSEMI_SIM) { l_scom_buffer.insert<47, 5, 59, uint64_t>(((l_TGT1_ATTR_MEM_EFF_DRAM_CL - literal_9) + l_def_RDIMM_Add_latency) ); } + else if (l_def_IS_IBM_SIM) + { + l_scom_buffer.insert<47, 5, 59, uint64_t>(((l_TGT1_ATTR_MEM_EFF_DRAM_CL - literal_4) + l_def_RDIMM_Add_latency) ); + } if (l_def_IS_MICROSEMI_SIM) { l_scom_buffer.insert<42, 5, 59, uint64_t>(((l_TGT1_ATTR_MEM_EFF_DRAM_CL - literal_9) + l_def_RDIMM_Add_latency) ); } + else if (l_def_IS_IBM_SIM) + { + l_scom_buffer.insert<42, 5, 59, uint64_t>(((l_TGT1_ATTR_MEM_EFF_DRAM_CL - literal_4) + l_def_RDIMM_Add_latency) ); + } - l_scom_buffer.insert<30, 6, 58, uint64_t>(((l_TGT1_ATTR_MEM_DRAM_CWL - literal_14) + l_def_RDIMM_Add_latency) ); + if (l_def_IS_MICROSEMI_SIM) + { + l_scom_buffer.insert<30, 6, 58, uint64_t>(((l_TGT1_ATTR_MEM_DRAM_CWL - literal_14) + l_def_RDIMM_Add_latency) ); + } + else if (l_def_IS_IBM_SIM) + { + l_scom_buffer.insert<30, 6, 58, uint64_t>(((l_TGT1_ATTR_MEM_DRAM_CWL - literal_9) + l_def_RDIMM_Add_latency) ); + } if (l_def_IS_MICROSEMI_SIM) { l_scom_buffer.insert<57, 5, 59, uint64_t>(((l_TGT1_ATTR_MEM_DRAM_CWL - literal_7) + l_def_RDIMM_Add_latency) ); } + else if (l_def_IS_IBM_SIM) + { + l_scom_buffer.insert<57, 5, 59, uint64_t>(((l_TGT1_ATTR_MEM_DRAM_CWL - literal_2) + l_def_RDIMM_Add_latency) ); + } if (l_def_IS_MICROSEMI_SIM) { l_scom_buffer.insert<52, 5, 59, uint64_t>(((l_TGT1_ATTR_MEM_DRAM_CWL - literal_7) + l_def_RDIMM_Add_latency) ); } + else if (l_def_IS_IBM_SIM) + { + l_scom_buffer.insert<52, 5, 59, uint64_t>(((l_TGT1_ATTR_MEM_DRAM_CWL - literal_2) + l_def_RDIMM_Add_latency) ); + } l_scom_buffer.insert<24, 6, 58, uint64_t>(literal_24 ); l_scom_buffer.insert<0, 6, 58, uint64_t>(((l_TGT1_ATTR_MEM_EFF_DRAM_CL - l_TGT1_ATTR_MEM_DRAM_CWL) + @@ -252,14 +359,38 @@ fapi2::ReturnCode explorer_scom(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP FAPI_TRY(fapi2::getScom( TGT0, 0x8011410ull, l_scom_buffer )); l_scom_buffer.insert<6, 1, 63, uint64_t>(l_TGT0_ATTR_MEM_REORDER_QUEUE_SETTING ); + l_scom_buffer.insert<12, 1, 63, uint64_t>(l_def_disable_fast_act ); l_scom_buffer.insert<57, 4, 60, uint64_t>(literal_0b1000 ); FAPI_TRY(fapi2::putScom(TGT0, 0x8011410ull, l_scom_buffer)); } { + FAPI_TRY(fapi2::getScom( TGT0, 0x8011411ull, l_scom_buffer )); + + l_scom_buffer.insert<1, 2, 62, uint64_t>(literal_2 ); + l_scom_buffer.insert<3, 9, 55, uint64_t>(literal_511 ); + l_scom_buffer.insert<13, 8, 56, uint64_t>(literal_132 ); + l_scom_buffer.insert<21, 2, 62, uint64_t>(literal_0 ); + l_scom_buffer.insert<33, 2, 62, uint64_t>(literal_2 ); + l_scom_buffer.insert<35, 9, 55, uint64_t>(literal_8 ); + l_scom_buffer.insert<44, 1, 63, uint64_t>(literal_0 ); + l_scom_buffer.insert<55, 9, 55, uint64_t>(literal_100 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x8011411ull, l_scom_buffer)); + } + { FAPI_TRY(fapi2::getScom( TGT0, 0x8011415ull, l_scom_buffer )); - constexpr auto l_MB_SIM_SRQ_MBA_FARB0Q_CFG_PARITY_AFTER_CMD_ON = 0x1; - l_scom_buffer.insert<38, 1, 63, uint64_t>(l_MB_SIM_SRQ_MBA_FARB0Q_CFG_PARITY_AFTER_CMD_ON ); + l_scom_buffer.insert<38, 1, 63, uint64_t>(literal_1 ); + + if ((((l_def_NUM_MRANKS_0 == literal_4) && (l_def_NUM_SRANKS_0 == literal_4)) || ((l_def_NUM_MRANKS_1 == literal_4) + && (l_def_NUM_SRANKS_1 == literal_4)))) + { + l_scom_buffer.insert<0, 1, 63, uint64_t>(literal_1 ); + } + + if (((l_def_NUM_MRANKS_0 == literal_4) || (l_def_NUM_MRANKS_1 == literal_4))) + { + l_scom_buffer.insert<1, 1, 63, uint64_t>(literal_1 ); + } if ((l_TGT2_ATTR_MSS_MRW_DRAM_2N_MODE == literal_0x02)) { @@ -278,92 +409,178 @@ fapi2::ReturnCode explorer_scom(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP l_scom_buffer.insert<17, 1, 63, uint64_t>(literal_0b0 ); } + l_scom_buffer.insert<19, 1, 63, uint64_t>(l_TGT0_ATTR_MEM_MRW_IS_PLANAR ); + l_scom_buffer.insert<20, 4, 60, uint64_t>(literal_8 ); + l_scom_buffer.insert<24, 7, 57, uint64_t>(literal_64 ); + l_scom_buffer.insert<31, 7, 57, uint64_t>(literal_32 ); + l_scom_buffer.insert<48, 6, 58, uint64_t>(literal_16 ); + l_scom_buffer.insert<60, 1, 63, uint64_t>(literal_1 ); FAPI_TRY(fapi2::putScom(TGT0, 0x8011415ull, l_scom_buffer)); } { FAPI_TRY(fapi2::getScom( TGT0, 0x8011416ull, l_scom_buffer )); l_scom_buffer.insert<0, 3, 61, uint64_t>(literal_0b000 ); - l_scom_buffer.insert<3, 3, 61, uint64_t>(literal_0b100 ); - l_scom_buffer.insert<6, 3, 61, uint64_t>(literal_0b010 ); - l_scom_buffer.insert<9, 3, 61, uint64_t>(literal_0b110 ); - if ((l_def_SLOT0_DRAM_STACK_HEIGHT == literal_8)) + if ((l_def_NUM_MRANKS_0 != literal_4)) + { + l_scom_buffer.insert<3, 3, 61, uint64_t>(literal_0b100 ); + } + else if ((l_def_NUM_MRANKS_0 == literal_4)) + { + l_scom_buffer.insert<3, 3, 61, uint64_t>(literal_0b010 ); + } + + if ((l_def_NUM_MRANKS_0 != literal_4)) + { + l_scom_buffer.insert<6, 3, 61, uint64_t>(literal_0b010 ); + } + else if ((l_def_NUM_MRANKS_0 == literal_4)) + { + l_scom_buffer.insert<6, 3, 61, uint64_t>(literal_0b001 ); + } + + if ((l_def_NUM_MRANKS_0 != literal_4)) + { + l_scom_buffer.insert<9, 3, 61, uint64_t>(literal_0b110 ); + } + else if ((l_def_NUM_MRANKS_0 == literal_4)) + { + l_scom_buffer.insert<9, 3, 61, uint64_t>(literal_0b011 ); + } + + if (((l_def_SLOT0_DRAM_STACK_HEIGHT == literal_8) && (l_def_NUM_MRANKS_0 != literal_4))) { l_scom_buffer.insert<12, 3, 61, uint64_t>(literal_0b001 ); } - else if ((l_def_SLOT0_DRAM_STACK_HEIGHT != literal_8)) + else if (((l_def_SLOT0_DRAM_STACK_HEIGHT != literal_8) && (l_def_NUM_MRANKS_0 != literal_4))) { l_scom_buffer.insert<12, 3, 61, uint64_t>(literal_0b000 ); } + else if ((l_def_NUM_MRANKS_0 == literal_4)) + { + l_scom_buffer.insert<12, 3, 61, uint64_t>(literal_0b100 ); + } - if ((l_def_SLOT0_DRAM_STACK_HEIGHT == literal_8)) + if (((l_def_SLOT0_DRAM_STACK_HEIGHT == literal_8) && (l_def_NUM_MRANKS_0 != literal_4))) { l_scom_buffer.insert<15, 3, 61, uint64_t>(literal_0b101 ); } - else if ((l_def_SLOT0_DRAM_STACK_HEIGHT != literal_8)) + else if (((l_def_SLOT0_DRAM_STACK_HEIGHT != literal_8) && (l_def_NUM_MRANKS_0 != literal_4))) { l_scom_buffer.insert<15, 3, 61, uint64_t>(literal_0b100 ); } + else if ((l_def_NUM_MRANKS_0 == literal_4)) + { + l_scom_buffer.insert<15, 3, 61, uint64_t>(literal_0b110 ); + } - if ((l_def_SLOT0_DRAM_STACK_HEIGHT == literal_8)) + if (((l_def_SLOT0_DRAM_STACK_HEIGHT == literal_8) && (l_def_NUM_MRANKS_0 != literal_4))) { l_scom_buffer.insert<18, 3, 61, uint64_t>(literal_0b011 ); } - else if ((l_def_SLOT0_DRAM_STACK_HEIGHT != literal_8)) + else if (((l_def_SLOT0_DRAM_STACK_HEIGHT != literal_8) && (l_def_NUM_MRANKS_0 != literal_4))) { l_scom_buffer.insert<18, 3, 61, uint64_t>(literal_0b010 ); } + else if ((l_def_NUM_MRANKS_0 == literal_4)) + { + l_scom_buffer.insert<18, 3, 61, uint64_t>(literal_0b101 ); + } - if ((l_def_SLOT0_DRAM_STACK_HEIGHT == literal_8)) + if (((l_def_SLOT0_DRAM_STACK_HEIGHT == literal_8) && (l_def_NUM_MRANKS_0 != literal_4))) { l_scom_buffer.insert<21, 3, 61, uint64_t>(literal_0b111 ); } - else if ((l_def_SLOT0_DRAM_STACK_HEIGHT != literal_8)) + else if (((l_def_SLOT0_DRAM_STACK_HEIGHT != literal_8) && (l_def_NUM_MRANKS_0 != literal_4))) { l_scom_buffer.insert<21, 3, 61, uint64_t>(literal_0b110 ); } + else if ((l_def_NUM_MRANKS_0 == literal_4)) + { + l_scom_buffer.insert<21, 3, 61, uint64_t>(literal_0b111 ); + } l_scom_buffer.insert<24, 3, 61, uint64_t>(literal_0b000 ); - l_scom_buffer.insert<27, 3, 61, uint64_t>(literal_0b100 ); - l_scom_buffer.insert<30, 3, 61, uint64_t>(literal_0b010 ); - l_scom_buffer.insert<33, 3, 61, uint64_t>(literal_0b110 ); - if ((l_def_SLOT1_DRAM_STACK_HEIGHT == literal_8)) + if ((l_def_NUM_MRANKS_1 != literal_4)) + { + l_scom_buffer.insert<27, 3, 61, uint64_t>(literal_0b100 ); + } + else if ((l_def_NUM_MRANKS_1 == literal_4)) + { + l_scom_buffer.insert<27, 3, 61, uint64_t>(literal_0b010 ); + } + + if ((l_def_NUM_MRANKS_1 != literal_4)) + { + l_scom_buffer.insert<30, 3, 61, uint64_t>(literal_0b010 ); + } + else if ((l_def_NUM_MRANKS_1 == literal_4)) + { + l_scom_buffer.insert<30, 3, 61, uint64_t>(literal_0b001 ); + } + + if ((l_def_NUM_MRANKS_1 != literal_4)) + { + l_scom_buffer.insert<33, 3, 61, uint64_t>(literal_0b110 ); + } + else if ((l_def_NUM_MRANKS_1 == literal_4)) + { + l_scom_buffer.insert<33, 3, 61, uint64_t>(literal_0b011 ); + } + + if (((l_def_SLOT1_DRAM_STACK_HEIGHT == literal_8) && (l_def_NUM_MRANKS_1 != literal_4))) { l_scom_buffer.insert<36, 3, 61, uint64_t>(literal_0b001 ); } - else if ((l_def_SLOT1_DRAM_STACK_HEIGHT != literal_8)) + else if (((l_def_SLOT1_DRAM_STACK_HEIGHT != literal_8) && (l_def_NUM_MRANKS_1 != literal_4))) { l_scom_buffer.insert<36, 3, 61, uint64_t>(literal_0b000 ); } + else if ((l_def_NUM_MRANKS_1 == literal_4)) + { + l_scom_buffer.insert<36, 3, 61, uint64_t>(literal_0b100 ); + } - if ((l_def_SLOT1_DRAM_STACK_HEIGHT == literal_8)) + if (((l_def_SLOT1_DRAM_STACK_HEIGHT == literal_8) && (l_def_NUM_MRANKS_1 != literal_4))) { l_scom_buffer.insert<39, 3, 61, uint64_t>(literal_0b101 ); } - else if ((l_def_SLOT1_DRAM_STACK_HEIGHT != literal_8)) + else if (((l_def_SLOT1_DRAM_STACK_HEIGHT != literal_8) && (l_def_NUM_MRANKS_1 != literal_4))) { l_scom_buffer.insert<39, 3, 61, uint64_t>(literal_0b100 ); } + else if ((l_def_NUM_MRANKS_1 == literal_4)) + { + l_scom_buffer.insert<39, 3, 61, uint64_t>(literal_0b110 ); + } - if ((l_def_SLOT1_DRAM_STACK_HEIGHT == literal_8)) + if (((l_def_SLOT1_DRAM_STACK_HEIGHT == literal_8) && (l_def_NUM_MRANKS_1 != literal_4))) { l_scom_buffer.insert<42, 3, 61, uint64_t>(literal_0b011 ); } - else if ((l_def_SLOT1_DRAM_STACK_HEIGHT != literal_8)) + else if (((l_def_SLOT1_DRAM_STACK_HEIGHT != literal_8) && (l_def_NUM_MRANKS_1 != literal_4))) { l_scom_buffer.insert<42, 3, 61, uint64_t>(literal_0b010 ); } + else if ((l_def_NUM_MRANKS_1 == literal_4)) + { + l_scom_buffer.insert<42, 3, 61, uint64_t>(literal_0b101 ); + } - if ((l_def_SLOT1_DRAM_STACK_HEIGHT == literal_8)) + if (((l_def_SLOT1_DRAM_STACK_HEIGHT == literal_8) && (l_def_NUM_MRANKS_1 != literal_4))) { l_scom_buffer.insert<45, 3, 61, uint64_t>(literal_0b111 ); } - else if ((l_def_SLOT1_DRAM_STACK_HEIGHT != literal_8)) + else if (((l_def_SLOT1_DRAM_STACK_HEIGHT != literal_8) && (l_def_NUM_MRANKS_1 != literal_4))) { l_scom_buffer.insert<45, 3, 61, uint64_t>(literal_0b110 ); } + else if ((l_def_NUM_MRANKS_1 == literal_4)) + { + l_scom_buffer.insert<45, 3, 61, uint64_t>(literal_0b111 ); + } FAPI_TRY(fapi2::putScom(TGT0, 0x8011416ull, l_scom_buffer)); } @@ -437,6 +654,13 @@ fapi2::ReturnCode explorer_scom(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP FAPI_TRY(fapi2::putScom(TGT0, 0x8011417ull, l_scom_buffer)); } { + FAPI_TRY(fapi2::getScom( TGT0, 0x801141aull, l_scom_buffer )); + + l_scom_buffer.insert<4, 1, 63, uint64_t>(literal_1 ); + l_scom_buffer.insert<5, 1, 63, uint64_t>(literal_0 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x801141aull, l_scom_buffer)); + } + { FAPI_TRY(fapi2::getScom( TGT0, 0x8011434ull, l_scom_buffer )); l_scom_buffer.insert<8, 11, 53, uint64_t>(l_def_REFRESH_INTERVAL ); @@ -488,6 +712,11 @@ fapi2::ReturnCode explorer_scom(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP l_scom_buffer.insert<6, 5, 59, uint64_t>(literal_10 ); } + if (((l_def_NUM_MRANKS_0 == literal_4) || (l_def_NUM_MRANKS_1 == literal_4))) + { + l_scom_buffer.insert<21, 1, 63, uint64_t>(literal_1 ); + } + FAPI_TRY(fapi2::putScom(TGT0, 0x8011436ull, l_scom_buffer)); } { @@ -548,6 +777,919 @@ fapi2::ReturnCode explorer_scom(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP l_scom_buffer.insert<46, 11, 53, uint64_t>(l_def_REFRESH_INTERVAL ); FAPI_TRY(fapi2::putScom(TGT0, 0x8011437ull, l_scom_buffer)); } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x801186full, l_scom_buffer )); + + if (((l_def_half_dimm_mode == literal_1) && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] == literal_1) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] == literal_1)))) + { + l_scom_buffer.insert<59, 5, 59, uint64_t>(literal_0b01011 ); + } + else if ((((l_def_half_dimm_mode == literal_1) && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] != literal_1)) + && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] != literal_1))) + { + l_scom_buffer.insert<59, 5, 59, uint64_t>(literal_0b01100 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] == literal_1) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] == literal_1)))) + { + l_scom_buffer.insert<59, 5, 59, uint64_t>(literal_0b01100 ); + } + else if ((((l_def_half_dimm_mode == literal_0) && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] != literal_1)) + && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] != literal_1))) + { + l_scom_buffer.insert<59, 5, 59, uint64_t>(literal_0b01101 ); + } + + if (((l_def_half_dimm_mode == literal_1) && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] == literal_1) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] == literal_1)))) + { + l_scom_buffer.insert<54, 5, 59, uint64_t>(literal_0b01100 ); + } + else if ((((l_def_half_dimm_mode == literal_1) && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] != literal_1)) + && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] != literal_1))) + { + l_scom_buffer.insert<54, 5, 59, uint64_t>(literal_0b01101 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] == literal_1) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] == literal_1)))) + { + l_scom_buffer.insert<54, 5, 59, uint64_t>(literal_0b01101 ); + } + else if ((((l_def_half_dimm_mode == literal_0) && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] != literal_1)) + && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] != literal_1))) + { + l_scom_buffer.insert<54, 5, 59, uint64_t>(literal_0b01110 ); + } + + if (((l_def_half_dimm_mode == literal_1) && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] == literal_1) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] == literal_1)))) + { + l_scom_buffer.insert<49, 5, 59, uint64_t>(literal_0b01101 ); + } + else if ((((l_def_half_dimm_mode == literal_1) && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] != literal_1)) + && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] != literal_1))) + { + l_scom_buffer.insert<49, 5, 59, uint64_t>(literal_0b01110 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] == literal_1) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] == literal_1)))) + { + l_scom_buffer.insert<49, 5, 59, uint64_t>(literal_0b01110 ); + } + else if ((((l_def_half_dimm_mode == literal_0) && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] != literal_1)) + && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] != literal_1))) + { + l_scom_buffer.insert<49, 5, 59, uint64_t>(literal_0b01111 ); + } + + l_scom_buffer.insert<9, 1, 63, uint64_t>(l_def_s0_val_0 ); + l_scom_buffer.insert<10, 1, 63, uint64_t>(l_def_s1_val_0 ); + l_scom_buffer.insert<11, 1, 63, uint64_t>(l_def_s2_val_0 ); + l_scom_buffer.insert<25, 1, 63, uint64_t>(l_def_s0_val_1 ); + l_scom_buffer.insert<26, 1, 63, uint64_t>(l_def_s1_val_1 ); + l_scom_buffer.insert<27, 1, 63, uint64_t>(l_def_s2_val_1 ); + l_scom_buffer.insert<13, 1, 63, uint64_t>(l_def_row_bit15_val_0 ); + l_scom_buffer.insert<29, 1, 63, uint64_t>(l_def_row_bit15_val_1 ); + l_scom_buffer.insert<14, 1, 63, uint64_t>(l_def_row_bit16_val_0 ); + l_scom_buffer.insert<30, 1, 63, uint64_t>(l_def_row_bit16_val_1 ); + l_scom_buffer.insert<15, 1, 63, uint64_t>(l_def_row_bit17_val_0 ); + l_scom_buffer.insert<31, 1, 63, uint64_t>(l_def_row_bit17_val_1 ); + l_scom_buffer.insert<0, 1, 63, uint64_t>(l_def_slot_val_0 ); + l_scom_buffer.insert<16, 1, 63, uint64_t>(l_def_slot_val_1 ); + l_scom_buffer.insert<5, 1, 63, uint64_t>(l_def_m0_val_0 ); + l_scom_buffer.insert<6, 1, 63, uint64_t>(l_def_m1_val_0 ); + l_scom_buffer.insert<21, 1, 63, uint64_t>(l_def_m0_val_1 ); + l_scom_buffer.insert<22, 1, 63, uint64_t>(l_def_m1_val_1 ); + + if (((l_def_s2_val_0 == literal_0) && (l_def_s2_val_1 == literal_0))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b00110 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((((l_def_row_bit15_val_0 == literal_0) + && (l_def_row_bit15_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_0) && (l_def_s1_val_1 == literal_0))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b01100 ); + } + else if (((l_def_half_dimm_mode == literal_1) && (((((l_def_row_bit15_val_0 == literal_0) + && (l_def_row_bit15_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_0) + && (l_def_s0_val_1 == literal_0))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b01101 ); + } + else if (((l_def_half_dimm_mode == literal_1) && (((((l_def_row_bit15_val_0 == literal_0) + && (l_def_row_bit15_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_1) + || (l_def_s0_val_1 == literal_1))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b01110 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_0)) && (l_def_row_bit16_val_0 == literal_0)) + && (l_def_row_bit16_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_0) && (l_def_s1_val_1 == literal_0))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b01111 ); + } + else if (((l_def_half_dimm_mode == literal_1) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_0)) && (l_def_row_bit16_val_0 == literal_0)) + && (l_def_row_bit16_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_0) + && (l_def_s0_val_1 == literal_0))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b01110 ); + } + else if (((l_def_half_dimm_mode == literal_1) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_0)) && (l_def_row_bit16_val_0 == literal_0)) + && (l_def_row_bit16_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_1) + || (l_def_s0_val_1 == literal_1))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b01111 ); + } + else if (((l_def_half_dimm_mode == literal_1) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && (l_def_row_bit17_val_0 == literal_0)) + && (l_def_row_bit17_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_0) && (l_def_s1_val_1 == literal_0))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b10000 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && (l_def_row_bit17_val_0 == literal_0)) + && (l_def_row_bit17_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_0) + && (l_def_s0_val_1 == literal_0))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b01111 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && (l_def_row_bit17_val_0 == literal_0)) + && (l_def_row_bit17_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_1) + || (l_def_s0_val_1 == literal_1))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b10000 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && ((l_def_row_bit17_val_0 == literal_1) + || (l_def_row_bit17_val_1 == literal_1))) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_0) && (l_def_s1_val_1 == literal_0))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b10001 ); + } + else if (((l_def_half_dimm_mode == literal_1) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && ((l_def_row_bit17_val_0 == literal_1) + || (l_def_row_bit17_val_1 == literal_1))) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_0) + && (l_def_s0_val_1 == literal_0))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b10000 ); + } + else if (((l_def_half_dimm_mode == literal_1) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && ((l_def_row_bit17_val_0 == literal_1) + || (l_def_row_bit17_val_1 == literal_1))) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_1) + || (l_def_s0_val_1 == literal_1))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b10001 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((((l_def_row_bit15_val_0 == literal_0) + && (l_def_row_bit15_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_0) && (l_def_s1_val_1 == literal_0))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b01101 ); + } + else if (((l_def_half_dimm_mode == literal_0) && (((((l_def_row_bit15_val_0 == literal_0) + && (l_def_row_bit15_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_0) + && (l_def_s0_val_1 == literal_0))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b01110 ); + } + else if (((l_def_half_dimm_mode == literal_0) && (((((l_def_row_bit15_val_0 == literal_0) + && (l_def_row_bit15_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_1) + || (l_def_s0_val_1 == literal_1))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b01111 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_0)) && (l_def_row_bit16_val_0 == literal_0)) + && (l_def_row_bit16_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_0) && (l_def_s1_val_1 == literal_0))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b01110 ); + } + else if (((l_def_half_dimm_mode == literal_0) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_0)) && (l_def_row_bit16_val_0 == literal_0)) + && (l_def_row_bit16_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_0) + && (l_def_s0_val_1 == literal_0))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b01111 ); + } + else if (((l_def_half_dimm_mode == literal_0) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_0)) && (l_def_row_bit16_val_0 == literal_0)) + && (l_def_row_bit16_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_1) + || (l_def_s0_val_1 == literal_1))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b10000 ); + } + else if (((l_def_half_dimm_mode == literal_0) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && (l_def_row_bit17_val_0 == literal_0)) + && (l_def_row_bit17_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_0) && (l_def_s1_val_1 == literal_0))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b01111 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && (l_def_row_bit17_val_0 == literal_0)) + && (l_def_row_bit17_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_0) + && (l_def_s0_val_1 == literal_0))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b10000 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && (l_def_row_bit17_val_0 == literal_0)) + && (l_def_row_bit17_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_1) + || (l_def_s0_val_1 == literal_1))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b10001 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && ((l_def_row_bit17_val_0 == literal_1) + || (l_def_row_bit17_val_1 == literal_1))) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_0) && (l_def_s1_val_1 == literal_0))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b10000 ); + } + else if (((l_def_half_dimm_mode == literal_0) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && ((l_def_row_bit17_val_0 == literal_1) + || (l_def_row_bit17_val_1 == literal_1))) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_0) + && (l_def_s0_val_1 == literal_0))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b10001 ); + } + else if (((l_def_half_dimm_mode == literal_0) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && ((l_def_row_bit17_val_0 == literal_1) + || (l_def_row_bit17_val_1 == literal_1))) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_1) + || (l_def_s0_val_1 == literal_1))))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b10010 ); + } + + if (((l_def_half_dimm_mode == literal_1) && (((l_def_row_bit15_val_0 == literal_0) + && (l_def_row_bit15_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_0) || (l_def_s2_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b01100 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((((l_def_row_bit15_val_0 == literal_0) + && (l_def_row_bit15_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_0) && (l_def_s1_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b01101 ); + } + else if (((l_def_half_dimm_mode == literal_1) && (((((l_def_row_bit15_val_0 == literal_0) + && (l_def_row_bit15_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_0) + && (l_def_s0_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b01110 ); + } + else if (((l_def_half_dimm_mode == literal_1) && (((((l_def_row_bit15_val_0 == literal_0) + && (l_def_row_bit15_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_1) + || (l_def_s0_val_1 == literal_1))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b01111 ); + } + else if (((l_def_half_dimm_mode == literal_1) && (((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_0)) && (l_def_row_bit16_val_0 == literal_0)) + && (l_def_row_bit16_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_0) || (l_def_s2_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b01101 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_0)) && (l_def_row_bit16_val_0 == literal_0)) + && (l_def_row_bit16_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_0) && (l_def_s1_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b01110 ); + } + else if (((l_def_half_dimm_mode == literal_1) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_0)) && (l_def_row_bit16_val_0 == literal_0)) + && (l_def_row_bit16_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_0) + && (l_def_s0_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b01111 ); + } + else if (((l_def_half_dimm_mode == literal_1) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_0)) && (l_def_row_bit16_val_0 == literal_0)) + && (l_def_row_bit16_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_1) + || (l_def_s0_val_1 == literal_1))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b10000 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && (l_def_row_bit17_val_0 == literal_0)) + && (l_def_row_bit17_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_0) || (l_def_s2_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b01110 ); + } + else if (((l_def_half_dimm_mode == literal_1) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && (l_def_row_bit17_val_0 == literal_0)) + && (l_def_row_bit17_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_0) && (l_def_s1_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b01111 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && (l_def_row_bit17_val_0 == literal_0)) + && (l_def_row_bit17_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_0) + && (l_def_s0_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b10000 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && (l_def_row_bit17_val_0 == literal_0)) + && (l_def_row_bit17_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_1) + || (l_def_s0_val_1 == literal_1))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b10001 ); + } + else if (((l_def_half_dimm_mode == literal_1) && (((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && ((l_def_row_bit17_val_0 == literal_1) + || (l_def_row_bit17_val_1 == literal_1))) && ((l_def_s2_val_0 == literal_0) || (l_def_s2_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b01111 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && ((l_def_row_bit17_val_0 == literal_1) + || (l_def_row_bit17_val_1 == literal_1))) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_0) && (l_def_s1_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b10000 ); + } + else if (((l_def_half_dimm_mode == literal_1) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && ((l_def_row_bit17_val_0 == literal_1) + || (l_def_row_bit17_val_1 == literal_1))) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_0) + && (l_def_s0_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b10001 ); + } + else if (((l_def_half_dimm_mode == literal_1) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && ((l_def_row_bit17_val_0 == literal_1) + || (l_def_row_bit17_val_1 == literal_1))) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_1) + || (l_def_s0_val_1 == literal_1))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b10010 ); + } + else if (((l_def_half_dimm_mode == literal_0) && (((l_def_row_bit15_val_0 == literal_0) + && (l_def_row_bit15_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_0) || (l_def_s2_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b01101 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((((l_def_row_bit15_val_0 == literal_0) + && (l_def_row_bit15_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_0) && (l_def_s1_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b01110 ); + } + else if (((l_def_half_dimm_mode == literal_0) && (((((l_def_row_bit15_val_0 == literal_0) + && (l_def_row_bit15_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_0) + && (l_def_s0_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b01111 ); + } + else if (((l_def_half_dimm_mode == literal_0) && (((((l_def_row_bit15_val_0 == literal_0) + && (l_def_row_bit15_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_1) + || (l_def_s0_val_1 == literal_1))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b10000 ); + } + else if (((l_def_half_dimm_mode == literal_0) && (((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_0)) && (l_def_row_bit16_val_0 == literal_0)) + && (l_def_row_bit16_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_0) || (l_def_s2_val_0 == literal_1))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b01110 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_0)) && (l_def_row_bit16_val_0 == literal_0)) + && (l_def_row_bit16_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_0) && (l_def_s1_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b01111 ); + } + else if (((l_def_half_dimm_mode == literal_0) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_0)) && (l_def_row_bit16_val_0 == literal_0)) + && (l_def_row_bit16_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_0) + && (l_def_s0_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b10000 ); + } + else if (((l_def_half_dimm_mode == literal_0) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_0)) && (l_def_row_bit16_val_0 == literal_0)) + && (l_def_row_bit16_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_1) + || (l_def_s0_val_1 == literal_1))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b10001 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && (l_def_row_bit17_val_0 == literal_0)) + && (l_def_row_bit17_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_0) || (l_def_s2_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b01111 ); + } + else if (((l_def_half_dimm_mode == literal_0) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && (l_def_row_bit17_val_0 == literal_0)) + && (l_def_row_bit17_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_0) && (l_def_s1_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b10000 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && (l_def_row_bit17_val_0 == literal_0)) + && (l_def_row_bit17_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_0) + && (l_def_s0_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b10001 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && (l_def_row_bit17_val_0 == literal_0)) + && (l_def_row_bit17_val_1 == literal_0)) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_1) + || (l_def_s0_val_1 == literal_1))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b10010 ); + } + else if (((l_def_half_dimm_mode == literal_0) && (((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && ((l_def_row_bit17_val_0 == literal_1) + || (l_def_row_bit17_val_1 == literal_1))) && ((l_def_s2_val_0 == literal_0) || (l_def_s2_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b10000 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && ((l_def_row_bit17_val_0 == literal_1) + || (l_def_row_bit17_val_1 == literal_1))) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_0) && (l_def_s1_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b10001 ); + } + else if (((l_def_half_dimm_mode == literal_0) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && ((l_def_row_bit17_val_0 == literal_1) + || (l_def_row_bit17_val_1 == literal_1))) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_0) + && (l_def_s0_val_1 == literal_0))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b10010 ); + } + else if (((l_def_half_dimm_mode == literal_0) && (((((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && ((l_def_row_bit17_val_0 == literal_1) + || (l_def_row_bit17_val_1 == literal_1))) && ((l_def_s2_val_0 == literal_1) || (l_def_s2_val_1 == literal_1))) + && ((l_def_s1_val_0 == literal_1) || (l_def_s1_val_1 == literal_1))) && ((l_def_s0_val_0 == literal_1) + || (l_def_s0_val_1 == literal_1))))) + { + l_scom_buffer.insert<38, 5, 59, uint64_t>(literal_0b10011 ); + } + + if (((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] < literal_2) + && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] < literal_2))) + { + l_scom_buffer.insert<33, 5, 59, uint64_t>(literal_0b00110 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((l_def_num_of_bitvals_0 == literal_1) + && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] >= literal_2) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] >= literal_2))))) + { + l_scom_buffer.insert<33, 5, 59, uint64_t>(literal_0b01100 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((l_def_num_of_bitvals_0 == literal_2) + && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] >= literal_2) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] >= literal_2))))) + { + l_scom_buffer.insert<33, 5, 59, uint64_t>(literal_0b01101 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((l_def_num_of_bitvals_0 == literal_3) + && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] >= literal_2) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] >= literal_2))))) + { + l_scom_buffer.insert<33, 5, 59, uint64_t>(literal_0b01110 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((l_def_num_of_bitvals_0 == literal_4) + && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] >= literal_2) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] >= literal_2))))) + { + l_scom_buffer.insert<33, 5, 59, uint64_t>(literal_0b01111 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((l_def_num_of_bitvals_0 == literal_5) + && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] >= literal_2) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] >= literal_2))))) + { + l_scom_buffer.insert<33, 5, 59, uint64_t>(literal_0b10000 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((l_def_num_of_bitvals_0 == literal_6) + && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] >= literal_2) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] >= literal_2))))) + { + l_scom_buffer.insert<33, 5, 59, uint64_t>(literal_0b10001 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((l_def_num_of_bitvals_0 == literal_7) + && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] >= literal_2) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] >= literal_2))))) + { + l_scom_buffer.insert<33, 5, 59, uint64_t>(literal_0b10010 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((l_def_num_of_bitvals_0 == literal_1) + && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] >= literal_2) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] >= literal_2))))) + { + l_scom_buffer.insert<33, 5, 59, uint64_t>(literal_0b01101 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((l_def_num_of_bitvals_0 == literal_2) + && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] >= literal_2) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] >= literal_2))))) + { + l_scom_buffer.insert<33, 5, 59, uint64_t>(literal_0b01110 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((l_def_num_of_bitvals_0 == literal_3) + && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] >= literal_2) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] >= literal_2))))) + { + l_scom_buffer.insert<33, 5, 59, uint64_t>(literal_0b01111 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((l_def_num_of_bitvals_0 == literal_4) + && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] >= literal_2) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] >= literal_2))))) + { + l_scom_buffer.insert<33, 5, 59, uint64_t>(literal_0b10000 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((l_def_num_of_bitvals_0 == literal_5) + && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] >= literal_2) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] >= literal_2))))) + { + l_scom_buffer.insert<33, 5, 59, uint64_t>(literal_0b10001 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((l_def_num_of_bitvals_0 == literal_6) + && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] >= literal_2) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] >= literal_2))))) + { + l_scom_buffer.insert<33, 5, 59, uint64_t>(literal_0b10010 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((l_def_num_of_bitvals_0 == literal_7) + && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] >= literal_2) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] >= literal_2))))) + { + l_scom_buffer.insert<33, 5, 59, uint64_t>(literal_0b10011 ); + } + + if ((l_def_num_of_bitvals_0 >= l_def_num_of_bitvals_1)) + { + l_scom_buffer.insert<1, 1, 63, uint64_t>(literal_0 ); + } + else if ((l_def_num_of_bitvals_1 > l_def_num_of_bitvals_0)) + { + l_scom_buffer.insert<1, 1, 63, uint64_t>(literal_1 ); + } + + if ((l_def_num_of_bitvals_1 > l_def_num_of_bitvals_0)) + { + l_scom_buffer.insert<17, 1, 63, uint64_t>(literal_0 ); + } + else if ((l_def_num_of_bitvals_0 >= l_def_num_of_bitvals_1)) + { + l_scom_buffer.insert<17, 1, 63, uint64_t>(literal_1 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x801186full, l_scom_buffer)); + } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x8011870ull, l_scom_buffer )); + + if ((l_def_half_dimm_mode == literal_1)) + { + l_scom_buffer.insert<30, 5, 59, uint64_t>(literal_0b00100 ); + } + else if ((l_def_half_dimm_mode == literal_0)) + { + l_scom_buffer.insert<30, 5, 59, uint64_t>(literal_0b00001 ); + } + + if (((l_def_NUM_SRANKS_0 > literal_1) || (l_def_NUM_SRANKS_1 > literal_1))) + { + l_scom_buffer.insert<19, 5, 59, uint64_t>(literal_0b00110 ); + } + + if ((l_def_half_dimm_mode == literal_1)) + { + l_scom_buffer.insert<35, 5, 59, uint64_t>(literal_0b00101 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] == literal_1) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] == literal_1)))) + { + l_scom_buffer.insert<35, 5, 59, uint64_t>(literal_0b00110 ); + } + else if ((((l_def_half_dimm_mode == literal_0) && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] != literal_1)) + && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] != literal_1))) + { + l_scom_buffer.insert<35, 5, 59, uint64_t>(literal_0b00111 ); + } + + if (((l_def_half_dimm_mode == literal_1) && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] == literal_1) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] == literal_1)))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b00110 ); + } + else if ((((l_def_half_dimm_mode == literal_1) && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] != literal_1)) + && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] != literal_1))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b00111 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] == literal_1) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] == literal_1)))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b00111 ); + } + else if ((((l_def_half_dimm_mode == literal_0) && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] != literal_1)) + && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] != literal_1))) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b01000 ); + } + + if (((l_def_half_dimm_mode == literal_1) && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] == literal_1) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] == literal_1)))) + { + l_scom_buffer.insert<51, 5, 59, uint64_t>(literal_0b00111 ); + } + else if ((((l_def_half_dimm_mode == literal_1) && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] != literal_1)) + && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] != literal_1))) + { + l_scom_buffer.insert<51, 5, 59, uint64_t>(literal_0b01000 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] == literal_1) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] == literal_1)))) + { + l_scom_buffer.insert<51, 5, 59, uint64_t>(literal_0b01000 ); + } + else if ((((l_def_half_dimm_mode == literal_0) && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] != literal_1)) + && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] != literal_1))) + { + l_scom_buffer.insert<51, 5, 59, uint64_t>(literal_0b01001 ); + } + + if (((l_def_half_dimm_mode == literal_1) && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] == literal_1) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] == literal_1)))) + { + l_scom_buffer.insert<59, 5, 59, uint64_t>(literal_0b01000 ); + } + else if ((((l_def_half_dimm_mode == literal_1) && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] != literal_1)) + && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] != literal_1))) + { + l_scom_buffer.insert<59, 5, 59, uint64_t>(literal_0b01001 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] == literal_1) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] == literal_1)))) + { + l_scom_buffer.insert<59, 5, 59, uint64_t>(literal_0b01001 ); + } + else if ((((l_def_half_dimm_mode == literal_0) && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] != literal_1)) + && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] != literal_1))) + { + l_scom_buffer.insert<59, 5, 59, uint64_t>(literal_0b01010 ); + } + + if (((l_def_half_dimm_mode == literal_1) && ((l_def_row_bit15_val_0 == literal_0) + && (l_def_row_bit15_val_1 == literal_0)))) + { + l_scom_buffer.insert<11, 5, 59, uint64_t>(literal_0b01100 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && (l_def_row_bit16_val_0 == literal_0)) + && (l_def_row_bit16_val_1 == literal_0)))) + { + l_scom_buffer.insert<11, 5, 59, uint64_t>(literal_0b01101 ); + } + else if (((l_def_half_dimm_mode == literal_1) && (((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && (l_def_row_bit17_val_0 == literal_0)) + && (l_def_row_bit17_val_1 == literal_0)))) + { + l_scom_buffer.insert<11, 5, 59, uint64_t>(literal_0b01110 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && ((l_def_row_bit17_val_0 == literal_1) + || (l_def_row_bit17_val_1 == literal_0))))) + { + l_scom_buffer.insert<11, 5, 59, uint64_t>(literal_0b01111 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((l_def_row_bit15_val_0 == literal_0) + && (l_def_row_bit15_val_1 == literal_0)))) + { + l_scom_buffer.insert<11, 5, 59, uint64_t>(literal_0b01101 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && (l_def_row_bit16_val_0 == literal_0)) + && (l_def_row_bit16_val_1 == literal_0)))) + { + l_scom_buffer.insert<11, 5, 59, uint64_t>(literal_0b01110 ); + } + else if (((l_def_half_dimm_mode == literal_0) && (((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && (l_def_row_bit17_val_0 == literal_0)) + && (l_def_row_bit17_val_1 == literal_0)))) + { + l_scom_buffer.insert<11, 5, 59, uint64_t>(literal_0b01111 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && ((l_def_row_bit17_val_0 == literal_1) + || (l_def_row_bit17_val_1 == literal_0))))) + { + l_scom_buffer.insert<11, 5, 59, uint64_t>(literal_0b10000 ); + } + + if (((l_def_half_dimm_mode == literal_1) && ((l_def_row_bit15_val_0 == literal_0) + && (l_def_row_bit15_val_1 == literal_0)))) + { + l_scom_buffer.insert<3, 5, 59, uint64_t>(literal_0b01101 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && (l_def_row_bit16_val_0 == literal_0)) + && (l_def_row_bit16_val_1 == literal_0)))) + { + l_scom_buffer.insert<3, 5, 59, uint64_t>(literal_0b01110 ); + } + else if (((l_def_half_dimm_mode == literal_1) && (((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && (l_def_row_bit17_val_0 == literal_0)) + && (l_def_row_bit17_val_1 == literal_0)))) + { + l_scom_buffer.insert<3, 5, 59, uint64_t>(literal_0b01111 ); + } + else if (((l_def_half_dimm_mode == literal_1) && ((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && ((l_def_row_bit17_val_0 == literal_1) + || (l_def_row_bit17_val_1 == literal_0))))) + { + l_scom_buffer.insert<3, 5, 59, uint64_t>(literal_0b10000 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((l_def_row_bit15_val_0 == literal_0) + && (l_def_row_bit15_val_1 == literal_0)))) + { + l_scom_buffer.insert<3, 5, 59, uint64_t>(literal_0b01110 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && (l_def_row_bit16_val_0 == literal_0)) + && (l_def_row_bit16_val_1 == literal_0)))) + { + l_scom_buffer.insert<3, 5, 59, uint64_t>(literal_0b01111 ); + } + else if (((l_def_half_dimm_mode == literal_0) && (((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && (l_def_row_bit17_val_0 == literal_0)) + && (l_def_row_bit17_val_1 == literal_0)))) + { + l_scom_buffer.insert<3, 5, 59, uint64_t>(literal_0b10000 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((((l_def_row_bit15_val_0 == literal_1) + || (l_def_row_bit15_val_1 == literal_1)) && ((l_def_row_bit16_val_0 == literal_1) + || (l_def_row_bit16_val_1 == literal_1))) && ((l_def_row_bit17_val_0 == literal_1) + || (l_def_row_bit17_val_1 == literal_0))))) + { + l_scom_buffer.insert<3, 5, 59, uint64_t>(literal_0b10001 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x8011870ull, l_scom_buffer)); + } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x8011871ull, l_scom_buffer )); + + if ((l_def_half_dimm_mode == literal_1)) + { + l_scom_buffer.insert<51, 5, 59, uint64_t>(literal_0b00000 ); + } + else if ((l_def_half_dimm_mode == literal_0)) + { + l_scom_buffer.insert<51, 5, 59, uint64_t>(literal_0b00010 ); + } + + if ((l_def_half_dimm_mode == literal_1)) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b00001 ); + } + else if ((l_def_half_dimm_mode == literal_0)) + { + l_scom_buffer.insert<43, 5, 59, uint64_t>(literal_0b00011 ); + } + + if ((l_def_half_dimm_mode == literal_1)) + { + l_scom_buffer.insert<27, 5, 59, uint64_t>(literal_0b00010 ); + } + else if ((l_def_half_dimm_mode == literal_0)) + { + l_scom_buffer.insert<27, 5, 59, uint64_t>(literal_0b00100 ); + } + + if ((l_def_half_dimm_mode == literal_1)) + { + l_scom_buffer.insert<19, 5, 59, uint64_t>(literal_0b00011 ); + } + else if ((l_def_half_dimm_mode == literal_0)) + { + l_scom_buffer.insert<19, 5, 59, uint64_t>(literal_0b00101 ); + } + + if (((l_def_half_dimm_mode == literal_1) && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] == literal_1) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] == literal_1)))) + { + l_scom_buffer.insert<3, 5, 59, uint64_t>(literal_0b01001 ); + } + else if ((((l_def_half_dimm_mode == literal_1) && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] != literal_1)) + && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] != literal_1))) + { + l_scom_buffer.insert<3, 5, 59, uint64_t>(literal_0b01010 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] == literal_1) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] == literal_1)))) + { + l_scom_buffer.insert<3, 5, 59, uint64_t>(literal_0b01010 ); + } + else if ((((l_def_half_dimm_mode == literal_0) && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] != literal_1)) + && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] != literal_1))) + { + l_scom_buffer.insert<3, 5, 59, uint64_t>(literal_0b01011 ); + } + + if (((l_def_half_dimm_mode == literal_1) && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] == literal_1) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] == literal_1)))) + { + l_scom_buffer.insert<11, 5, 59, uint64_t>(literal_0b01010 ); + } + else if ((((l_def_half_dimm_mode == literal_1) && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] != literal_1)) + && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] != literal_1))) + { + l_scom_buffer.insert<11, 5, 59, uint64_t>(literal_0b01011 ); + } + else if (((l_def_half_dimm_mode == literal_0) && ((l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] == literal_1) + || (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] == literal_1)))) + { + l_scom_buffer.insert<11, 5, 59, uint64_t>(literal_0b01011 ); + } + else if ((((l_def_half_dimm_mode == literal_0) && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_0] != literal_1)) + && (l_TGT1_ATTR_MEM_EFF_NUM_RANKS_PER_DIMM[literal_1] != literal_1))) + { + l_scom_buffer.insert<11, 5, 59, uint64_t>(literal_0b01100 ); + } + + FAPI_TRY(fapi2::putScom(TGT0, 0x8011871ull, l_scom_buffer)); + } }; fapi_try_exit: |