summaryrefslogtreecommitdiffstats
path: root/src/import/chips/ocmb/procedures
diff options
context:
space:
mode:
authorStanley Zheng <jiezheng@us.ibm.com>2018-10-12 11:59:40 -0400
committerChristian R. Geddes <crgeddes@us.ibm.com>2019-03-01 10:17:25 -0600
commitc23e99369c5027c80330ce4269e9e9bef1896b93 (patch)
treed740f79e07a2cd12b14e54cd196c261e0cf20c2d /src/import/chips/ocmb/procedures
parent8eb0494af6a14c4caac58c045d293cb65f62f977 (diff)
downloadtalos-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.C1218
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:
OpenPOWER on IntegriCloud