summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndre Marin <aamarin@us.ibm.com>2017-03-06 15:31:18 -0600
committerChristian R. Geddes <crgeddes@us.ibm.com>2017-03-15 08:43:58 -0400
commit4d602563b3fc2b788a9521aa3b381ea6929d7877 (patch)
treecff8f674a672b550f1df6b72b81d2cba99c925d5 /src
parent0e588da296cc908732c1f774c09b3226b5a93b56 (diff)
downloadtalos-hostboot-4d602563b3fc2b788a9521aa3b381ea6929d7877.tar.gz
talos-hostboot-4d602563b3fc2b788a9521aa3b381ea6929d7877.zip
Add pos API to be shared among controllers, move generic files to utils
Change-Id: I7daedddf83c6a34f28417c97a28e78d88ec5c9af Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/37562 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Brian R. Silver <bsilver@us.ibm.com> Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com> Reviewed-by: LUCAS W. MULKEY <lwmulkey@us.ibm.com> Reviewed-by: Louis Stermole <stermole@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/37630 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/dimm/bcw_load.H2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/dimm/bcw_load_ddr4.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/control_word_ddr4.H2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/data_buffer_ddr4.H2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/latch_wr_vref.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/latch_wr_vref.H2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/mrs_load_ddr4.H2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/state_machine.H2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/dimm/kind.H2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/dimm/mrs_load.H2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/dimm/rcd_load.H2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/dimm/rcd_load_ddr4.H2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/mc/port.H2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/mc/xlate.H2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/mss.mk6
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/mss_utils.H2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/phy/apb.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/phy/dp16.C4
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/phy/phy_cntrl.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/phy/seq.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/power_thermal/decoder.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/spd/common/spd_decoder.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/spd/common/spd_decoder.H2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/spd/common/spd_decoder_v1_1.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/spd/lrdimm/lrdimm_decoder_v1_0.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/spd/lrdimm/lrdimm_decoder_v1_1.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/spd/lrdimm/lrdimm_decoder_v1_2.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/spd/rdimm/rdimm_decoder_v1_0.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/spd/rdimm/rdimm_decoder_v1_1.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/spd/spd_factory.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/utils/c_str.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/utils/count_dimm.H2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/utils/fake_vpd.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/utils/find.H4
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/utils/index.H4
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/utils/mss_pair.H2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/utils/pos.C47
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/utils/scom.H2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/workarounds/mcbist_workarounds.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/mss.H4
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/p9_mss_freq.C2
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/p9_mss_volt.C4
-rw-r--r--src/import/chips/p9/procedures/hwp/nest/p9_mss_eff_grouping.mk2
-rw-r--r--src/import/chips/p9/procedures/hwp/nest/p9_throttle_sync.mk2
-rw-r--r--src/import/generic/memory/lib/utils/c_str.H (renamed from src/import/generic/memory/c_str.H)2
-rw-r--r--src/import/generic/memory/lib/utils/pos.H (renamed from src/import/chips/p9/procedures/hwp/memory/lib/utils/pos.H)91
-rw-r--r--src/usr/diag/mdia/makefile2
-rw-r--r--src/usr/diag/mdia/test/makefile2
-rw-r--r--src/usr/diag/prdf/prdf_hb_only.mk3
-rwxr-xr-xsrc/usr/diag/prdf/test/prdf_hb_common_test.mk2
-rw-r--r--src/usr/isteps/istep07/makefile2
-rw-r--r--src/usr/isteps/istep13/makefile2
-rw-r--r--src/usr/isteps/istep14/makefile2
-rw-r--r--src/usr/isteps/mss/makefile2
56 files changed, 155 insertions, 106 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/bcw_load.H b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/bcw_load.H
index 300e8c71c..6c94019f3 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/bcw_load.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/bcw_load.H
@@ -40,7 +40,7 @@
#include <p9_mc_scom_addresses.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/shared/mss_kind.H>
namespace mss
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/bcw_load_ddr4.C b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/bcw_load_ddr4.C
index 0cc1c2f0d..73521b8d9 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/bcw_load_ddr4.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/bcw_load_ddr4.C
@@ -36,7 +36,7 @@
#include <fapi2.H>
#include <p9_mc_scom_addresses.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/utils/conversions.H>
#include <lib/eff_config/timing.H>
#include <lib/ccs/ccs.H>
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/control_word_ddr4.H b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/control_word_ddr4.H
index c17322c05..963c06ced 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/control_word_ddr4.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/control_word_ddr4.H
@@ -41,7 +41,7 @@
#include <p9_mc_scom_addresses.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/ccs/ccs.H>
namespace mss
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/data_buffer_ddr4.H b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/data_buffer_ddr4.H
index 26b9403dd..445ea8cea 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/data_buffer_ddr4.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/data_buffer_ddr4.H
@@ -38,7 +38,7 @@
#include <vector>
#include <fapi2.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/shared/mss_const.H>
#include <lib/dimm/bcw_load_ddr4.H>
#include <lib/phy/dp16.H>
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/latch_wr_vref.C b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/latch_wr_vref.C
index bae1e2a45..d9e553cd5 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/latch_wr_vref.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/latch_wr_vref.C
@@ -35,7 +35,7 @@
#include <vector>
#include <fapi2.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/dimm/ddr4/mrs_load_ddr4.H>
#include <lib/dimm/ddr4/latch_wr_vref.H>
#include <lib/dimm/rank.H>
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/latch_wr_vref.H b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/latch_wr_vref.H
index 9533d7e96..fffa45832 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/latch_wr_vref.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/latch_wr_vref.H
@@ -38,7 +38,7 @@
#include <vector>
#include <fapi2.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/dimm/mrs_load.H>
#include <lib/dimm/ddr4/mrs_load_ddr4.H>
#include <lib/eff_config/timing.H>
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/mrs_load_ddr4.H b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/mrs_load_ddr4.H
index 55156e898..652f2d388 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/mrs_load_ddr4.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/mrs_load_ddr4.H
@@ -38,7 +38,7 @@
#include <vector>
#include <fapi2.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/dimm/mrs_load.H>
#include <lib/eff_config/timing.H>
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/state_machine.H b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/state_machine.H
index b58f4522e..a3a18b01a 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/state_machine.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/ddr4/state_machine.H
@@ -37,7 +37,7 @@
#define _MSS_STATE_MACHINE_H_
#include <fapi2.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/utils/checker.H>
namespace mss
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/kind.H b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/kind.H
index 599ad98aa..0c2f1bcc7 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/kind.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/kind.H
@@ -39,7 +39,7 @@
#include <fapi2.H>
#include <lib/mss_attribute_accessors.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
namespace mss
{
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/mrs_load.H b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/mrs_load.H
index 0bdc1045f..7dbb16708 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/mrs_load.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/mrs_load.H
@@ -39,7 +39,7 @@
#include <fapi2.H>
#include <p9_mc_scom_addresses.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/shared/mss_kind.H>
#include <lib/ccs/ccs.H>
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/rcd_load.H b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/rcd_load.H
index c7c897e61..f572d6389 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/rcd_load.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/rcd_load.H
@@ -40,7 +40,7 @@
#include <p9_mc_scom_addresses.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/shared/mss_kind.H>
namespace mss
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/rcd_load_ddr4.H b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/rcd_load_ddr4.H
index 4d3e73c2c..6a73da77a 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/rcd_load_ddr4.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/rcd_load_ddr4.H
@@ -40,7 +40,7 @@
#include <p9_mc_scom_addresses.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
namespace mss
{
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/mc/port.H b/src/import/chips/p9/procedures/hwp/memory/lib/mc/port.H
index 1cfe8cd92..f1a552b98 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/mc/port.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/mc/port.H
@@ -45,7 +45,7 @@
#include <lib/shared/mss_const.H>
#include <lib/utils/scom.H>
#include <lib/dimm/rank.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/mcbist/address.H>
namespace mss
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/mc/xlate.H b/src/import/chips/p9/procedures/hwp/memory/lib/mc/xlate.H
index b1011d5c8..eee9f974e 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/mc/xlate.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/mc/xlate.H
@@ -43,7 +43,7 @@
#include <lib/shared/mss_const.H>
#include <lib/utils/scom.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/dimm/kind.H>
namespace mss
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/mss.mk b/src/import/chips/p9/procedures/hwp/memory/lib/mss.mk
index 04e82c270..2b07ee18c 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/mss.mk
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/mss.mk
@@ -30,8 +30,8 @@
# Add common and generated parts to object list.
MSS_PATH := $(ROOTPATH)/chips/p9/procedures/hwp/memory/lib
-
MSS_SOURCE := $(shell find $(MSS_PATH) -name '*.C' -exec basename {} \;)
+
MSS_MODULE_OBJS += $(patsubst %.C,%.o,$(MSS_SOURCE))
MSS_SOURCE_DIRS := $(shell find $(MSS_PATH) -type d)
@@ -40,13 +40,13 @@ MSS_SOURCE_DIRS := $(shell find $(MSS_PATH) -type d)
define MSS_MODULE_INCLUDES
$(foreach dir, $(MSS_SOURCE_DIRS), $(call ADD_MODULE_SRCDIR,$(1),$(dir)))
$(call ADD_MODULE_INCDIR,$(1),$(ROOTPATH)/chips/p9/procedures/hwp/memory)
-$(call ADD_MODULE_INCDIR,$(1),$(ROOTPATH)/generic/memory)
$(call ADD_MODULE_INCDIR,$(1),$(FAPI2_PATH)/include)
$(call ADD_MODULE_INCDIR,$(1),$(GENPATH))
-$(call ADD_MODULE_INCDIR,$(1),$(FAPI2_PATH)/include)
$(call ADD_MODULE_INCDIR,$(1),$(FAPI2_PLAT_INCLUDE))
+$(call ADD_MODULE_INCDIR,$(1),$(ROOTPATH))
endef
MODULE = mss
OBJS += $(MSS_MODULE_OBJS)
+
$(eval $(call MSS_MODULE_INCLUDES,$(MODULE)))
$(call BUILD_MODULE)
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/mss_utils.H b/src/import/chips/p9/procedures/hwp/memory/lib/mss_utils.H
index fa0180616..574ac532f 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/mss_utils.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/mss_utils.H
@@ -39,6 +39,6 @@
//TK: what is this for? BRS
#include <lib/utils/index.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#endif // _MSS_P9_ATTR_UTILS_H_
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/phy/apb.C b/src/import/chips/p9/procedures/hwp/memory/lib/phy/apb.C
index e2d72743f..a7bfb7ba0 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/phy/apb.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/phy/apb.C
@@ -36,7 +36,7 @@
#include <fapi2.H>
#include <lib/phy/apb.H>
#include <lib/utils/scom.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/utils/index.H>
namespace mss
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/phy/dp16.C b/src/import/chips/p9/procedures/hwp/memory/lib/phy/dp16.C
index c6beb6e30..9bebfa31e 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/phy/dp16.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/phy/dp16.C
@@ -48,8 +48,8 @@
#include <lib/utils/bit_count.H>
#include <lib/dimm/rank.H>
#include <lib/utils/scom.H>
-#include <lib/utils/pos.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/pos.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/workarounds/dp16_workarounds.H>
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/phy/phy_cntrl.C b/src/import/chips/p9/procedures/hwp/memory/lib/phy/phy_cntrl.C
index 8f9e0e05f..fa1803076 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/phy/phy_cntrl.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/phy/phy_cntrl.C
@@ -36,7 +36,7 @@
#include <fapi2.H>
#include <lib/phy/phy_cntrl.H>
#include <lib/utils/scom.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/utils/index.H>
#include <lib/mss_attribute_accessors.H>
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/phy/seq.C b/src/import/chips/p9/procedures/hwp/memory/lib/phy/seq.C
index 7c866a182..d73a0e5e3 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/phy/seq.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/phy/seq.C
@@ -36,7 +36,7 @@
#include <fapi2.H>
#include <lib/phy/seq.H>
#include <lib/utils/scom.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/utils/bit_count.H>
#include <lib/eff_config/timing.H>
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/power_thermal/decoder.C b/src/import/chips/p9/procedures/hwp/memory/lib/power_thermal/decoder.C
index 0db5ab057..802c73255 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/power_thermal/decoder.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/power_thermal/decoder.C
@@ -42,7 +42,7 @@
#include <lib/power_thermal/throttle.H>
#include <lib/power_thermal/decoder.H>
#include <lib/utils/find.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/utils/count_dimm.H>
#include <lib/dimm/kind.H>
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/spd/common/spd_decoder.C b/src/import/chips/p9/procedures/hwp/memory/lib/spd/common/spd_decoder.C
index 9e195dd3f..603ab19ca 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/spd/common/spd_decoder.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/spd/common/spd_decoder.C
@@ -44,7 +44,7 @@
#include <lib/spd/rdimm/rdimm_decoder.H>
#include <lib/spd/common/rcw_settings.H>
#include <lib/utils/checker.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/utils/find.H>
using fapi2::TARGET_TYPE_MCA;
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/spd/common/spd_decoder.H b/src/import/chips/p9/procedures/hwp/memory/lib/spd/common/spd_decoder.H
index 783df06e9..187a43a71 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/spd/common/spd_decoder.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/spd/common/spd_decoder.H
@@ -49,7 +49,7 @@
#include <lib/spd/common/rcw_settings.H>
#include <lib/spd/rdimm/rdimm_decoder.H>
#include <lib/spd/lrdimm/lrdimm_decoder.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
namespace mss
{
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/spd/common/spd_decoder_v1_1.C b/src/import/chips/p9/procedures/hwp/memory/lib/spd/common/spd_decoder_v1_1.C
index 60913ebe1..4cc43c5d3 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/spd/common/spd_decoder_v1_1.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/spd/common/spd_decoder_v1_1.C
@@ -38,7 +38,7 @@
// mss lib
#include <lib/spd/common/spd_decoder.H>
#include <lib/utils/checker.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/utils/conversions.H>
#include <lib/utils/find.H>
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/spd/lrdimm/lrdimm_decoder_v1_0.C b/src/import/chips/p9/procedures/hwp/memory/lib/spd/lrdimm/lrdimm_decoder_v1_0.C
index f8fc68e2c..403837ece 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/spd/lrdimm/lrdimm_decoder_v1_0.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/spd/lrdimm/lrdimm_decoder_v1_0.C
@@ -43,7 +43,7 @@
#include <lib/spd/lrdimm/lrdimm_decoder.H>
#include <lib/spd/common/spd_decoder.H>
#include <lib/utils/checker.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/utils/find.H>
using fapi2::TARGET_TYPE_MCA;
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/spd/lrdimm/lrdimm_decoder_v1_1.C b/src/import/chips/p9/procedures/hwp/memory/lib/spd/lrdimm/lrdimm_decoder_v1_1.C
index c2b38bd7a..56765ec0c 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/spd/lrdimm/lrdimm_decoder_v1_1.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/spd/lrdimm/lrdimm_decoder_v1_1.C
@@ -43,7 +43,7 @@
#include <lib/spd/lrdimm/lrdimm_decoder.H>
#include <lib/spd/common/spd_decoder.H>
#include <lib/utils/checker.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/utils/find.H>
using fapi2::TARGET_TYPE_MCA;
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/spd/lrdimm/lrdimm_decoder_v1_2.C b/src/import/chips/p9/procedures/hwp/memory/lib/spd/lrdimm/lrdimm_decoder_v1_2.C
index 9d4aa7cc9..6c9a02d52 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/spd/lrdimm/lrdimm_decoder_v1_2.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/spd/lrdimm/lrdimm_decoder_v1_2.C
@@ -43,7 +43,7 @@
#include <lib/spd/lrdimm/lrdimm_decoder.H>
#include <lib/spd/common/spd_decoder.H>
#include <lib/utils/checker.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/utils/find.H>
using fapi2::TARGET_TYPE_MCA;
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/spd/rdimm/rdimm_decoder_v1_0.C b/src/import/chips/p9/procedures/hwp/memory/lib/spd/rdimm/rdimm_decoder_v1_0.C
index 4590a30c3..5324f456c 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/spd/rdimm/rdimm_decoder_v1_0.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/spd/rdimm/rdimm_decoder_v1_0.C
@@ -42,7 +42,7 @@
#include <lib/spd/rdimm/rdimm_decoder.H>
#include <lib/spd/common/spd_decoder.H>
#include <lib/utils/checker.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/utils/find.H>
using fapi2::TARGET_TYPE_MCBIST;
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/spd/rdimm/rdimm_decoder_v1_1.C b/src/import/chips/p9/procedures/hwp/memory/lib/spd/rdimm/rdimm_decoder_v1_1.C
index 3c0802403..4a6a2dc14 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/spd/rdimm/rdimm_decoder_v1_1.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/spd/rdimm/rdimm_decoder_v1_1.C
@@ -33,7 +33,7 @@
#include <lib/spd/rdimm/rdimm_decoder.H>
#include <lib/spd/common/spd_decoder.H>
#include <lib/utils/checker.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/utils/find.H>
using fapi2::TARGET_TYPE_MCBIST;
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/spd/spd_factory.C b/src/import/chips/p9/procedures/hwp/memory/lib/spd/spd_factory.C
index 77a1d6a29..48cb91e8a 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/spd/spd_factory.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/spd/spd_factory.C
@@ -47,7 +47,7 @@
#include <lib/spd/rdimm/rdimm_raw_cards.H>
#include <lib/spd/lrdimm/lrdimm_raw_cards.H>
#include <lib/utils/checker.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/utils/conversions.H>
#include <lib/utils/find.H>
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/utils/c_str.C b/src/import/chips/p9/procedures/hwp/memory/lib/utils/c_str.C
index 02ea7c1f9..7db26186a 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/utils/c_str.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/utils/c_str.C
@@ -35,7 +35,7 @@
#include <fapi2.H>
#include <lib/mss_attribute_accessors.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
using fapi2::TARGET_TYPE_MCBIST;
using fapi2::TARGET_TYPE_MCA;
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/utils/count_dimm.H b/src/import/chips/p9/procedures/hwp/memory/lib/utils/count_dimm.H
index 293f1eeac..7f75f9df1 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/utils/count_dimm.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/utils/count_dimm.H
@@ -38,7 +38,7 @@
#include <fapi2.H>
#include <lib/utils/find.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
namespace mss
{
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/utils/fake_vpd.C b/src/import/chips/p9/procedures/hwp/memory/lib/utils/fake_vpd.C
index 09d71a081..7f6e51222 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/utils/fake_vpd.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/utils/fake_vpd.C
@@ -35,7 +35,7 @@
#include <mss.H>
#include <lib/utils/fake_vpd.H>
#include <lib/shared/mss_const.H>
-#include <lib/utils/pos.H>
+#include <generic/memory/lib/utils/pos.H>
#ifndef DOXYGEN
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/utils/find.H b/src/import/chips/p9/procedures/hwp/memory/lib/utils/find.H
index d5b7a23d1..8d0e4433e 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/utils/find.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/utils/find.H
@@ -39,8 +39,8 @@
#include <fapi2.H>
#include <vector>
-#include <lib/utils/pos.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/pos.H>
+#include <generic/memory/lib/utils/c_str.H>
namespace mss
{
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/utils/index.H b/src/import/chips/p9/procedures/hwp/memory/lib/utils/index.H
index ea7569978..1e391d13a 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/utils/index.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/utils/index.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015,2016 */
+/* Contributors Listed Below - COPYRIGHT 2015,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -38,7 +38,7 @@
#include <fapi2.H>
-#include <lib/utils/pos.H>
+#include <generic/memory/lib/utils/pos.H>
#include <lib/shared/mss_const.H>
namespace mss
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/utils/mss_pair.H b/src/import/chips/p9/procedures/hwp/memory/lib/utils/mss_pair.H
index 0a43ca394..8e3a19bea 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/utils/mss_pair.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/utils/mss_pair.H
@@ -39,7 +39,7 @@
#include <fapi2.H>
#include <lib/utils/find.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
namespace mss
{
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/utils/pos.C b/src/import/chips/p9/procedures/hwp/memory/lib/utils/pos.C
index 117f4d913..238f22bfe 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/utils/pos.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/utils/pos.C
@@ -22,3 +22,50 @@
/* permissions and limitations under the License. */
/* */
/* IBM_PROLOG_END_TAG */
+
+#include <fapi2.H>
+#include <generic/memory/lib/utils/pos.H>
+
+namespace mss
+{
+
+///
+/// @brief Return a DIMM's position from a fapi2 target
+/// @param[in] i_target a target representing the target in question
+/// @return The position relative to the chip
+///
+template<>
+posTraits<fapi2::TARGET_TYPE_DIMM>::pos_type
+pos(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target)
+{
+ typedef posTraits<fapi2::TARGET_TYPE_DIMM> TT;
+
+ // Proc 0 is DIMM 0-15, proc 2 is 64-79 - 64 is the stride between processors
+ constexpr uint64_t DIMM_STRIDE_PER_PROC = 64;
+ constexpr uint64_t TOTAL_DIMM = TT::MC_PER_MODULE * TT::MCS_PER_MC * TT::PORTS_PER_MCS * TT::DIMMS_PER_PORT;
+
+ TT::pos_type l_pos = 0;
+
+ // Using fapi2 rather than mss::find as this is pretty low level stuff.
+ const auto l_proc_pos =
+ mss::template pos(i_target.getParent<fapi2::TARGET_TYPE_MCA>().getParent<fapi2::TARGET_TYPE_PROC_CHIP>());
+
+ if (FAPI_ATTR_GET(fapi2::ATTR_FAPI_POS, i_target, l_pos) != fapi2::FAPI2_RC_SUCCESS)
+ {
+ goto fapi_try_exit;
+ }
+
+ // To get the FAPI_POS to the equivilent of ATTR_POS, we need to normalize the fapi_pos value
+ // to the processor (stride across which ever processor we're on) and then add in the delta
+ // per processor as ATTR_POS isn't processor relative (delta is the total dimm on a processor)
+ return ((l_pos - (l_proc_pos * DIMM_STRIDE_PER_PROC)) % TOTAL_DIMM) + (TOTAL_DIMM * l_proc_pos);
+
+fapi_try_exit:
+ // If we can't get our position, we're in other trouble
+ FAPI_ERR("can't get our fapi position");
+ fapi2::Assert(false);
+ return 0;
+
+}
+
+}// mss
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/utils/scom.H b/src/import/chips/p9/procedures/hwp/memory/lib/utils/scom.H
index 69099eacb..40ab76dc8 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/utils/scom.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/utils/scom.H
@@ -37,7 +37,7 @@
#define _MSS_SCOM_H_
#include <fapi2.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
//
// Wrapping scom operations: We wrap fapi2::get/putScom for two reasons. The
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.C b/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.C
index 1c8d2f767..94cf845b8 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.C
@@ -40,7 +40,7 @@
#include <p9_mc_scom_addresses_fld.H>
#include <lib/utils/scom.H>
-#include <lib/utils/pos.H>
+#include <generic/memory/lib/utils/pos.H>
#include <lib/workarounds/dp16_workarounds.H>
#include <lib/phy/dp16.H>
#include <lib/dimm/rank.H>
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/mcbist_workarounds.C b/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/mcbist_workarounds.C
index 81cd342ed..f0433065d 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/mcbist_workarounds.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/mcbist_workarounds.C
@@ -41,7 +41,7 @@
#include <lib/mss_attribute_accessors.H>
#include <lib/utils/scom.H>
-#include <lib/utils/pos.H>
+#include <generic/memory/lib/utils/pos.H>
#include <lib/dimm/kind.H>
#include <lib/workarounds/mcbist_workarounds.H>
#include <lib/mcbist/mcbist.H>
diff --git a/src/import/chips/p9/procedures/hwp/memory/mss.H b/src/import/chips/p9/procedures/hwp/memory/mss.H
index bc2499304..8c0c564d2 100644
--- a/src/import/chips/p9/procedures/hwp/memory/mss.H
+++ b/src/import/chips/p9/procedures/hwp/memory/mss.H
@@ -46,10 +46,10 @@
#include <lib/shared/mss_kind.H>
#include <lib/utils/index.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/utils/num.H>
-#include <lib/utils/pos.H>
+#include <generic/memory/lib/utils/pos.H>
#include <lib/utils/swizzle.H>
#include <lib/utils/conversions.H>
#include <lib/utils/find.H>
diff --git a/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C b/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C
index 7bb235608..3faaa31f3 100644
--- a/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C
+++ b/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C
@@ -44,7 +44,7 @@
// mss lib
#include <lib/spd/common/spd_decoder.H>
#include <lib/spd/spd_factory.H>
-#include <lib/utils/pos.H>
+#include <generic/memory/lib/utils/pos.H>
#include <lib/utils/checker.H>
#include <lib/utils/find.H>
#include <lib/shared/mss_kind.H>
diff --git a/src/import/chips/p9/procedures/hwp/memory/p9_mss_freq.C b/src/import/chips/p9/procedures/hwp/memory/p9_mss_freq.C
index 241337255..5be4c26e0 100644
--- a/src/import/chips/p9/procedures/hwp/memory/p9_mss_freq.C
+++ b/src/import/chips/p9/procedures/hwp/memory/p9_mss_freq.C
@@ -48,7 +48,7 @@
#include <lib/spd/common/spd_decoder.H>
#include <lib/spd/spd_factory.H>
#include <lib/freq/cas_latency.H>
-#include <c_str.H>
+#include <generic/memory/lib/utils/c_str.H>
#include <lib/freq/cycle_time.H>
#include <lib/utils/find.H>
#include <lib/utils/count_dimm.H>
diff --git a/src/import/chips/p9/procedures/hwp/memory/p9_mss_volt.C b/src/import/chips/p9/procedures/hwp/memory/p9_mss_volt.C
index a8d330355..8fa1c3c66 100644
--- a/src/import/chips/p9/procedures/hwp/memory/p9_mss_volt.C
+++ b/src/import/chips/p9/procedures/hwp/memory/p9_mss_volt.C
@@ -46,8 +46,8 @@
#include <lib/spd/spd_factory.H>
#include <lib/spd/common/spd_decoder.H>
#include <lib/eff_config/attr_setters.H>
-#include <c_str.H>
-#include <lib/utils/pos.H>
+#include <generic/memory/lib/utils/c_str.H>
+#include <generic/memory/lib/utils/pos.H>
#include <lib/utils/find.H>
#include <lib/utils/checker.H>
diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_mss_eff_grouping.mk b/src/import/chips/p9/procedures/hwp/nest/p9_mss_eff_grouping.mk
index 12b547697..ebea24153 100644
--- a/src/import/chips/p9/procedures/hwp/nest/p9_mss_eff_grouping.mk
+++ b/src/import/chips/p9/procedures/hwp/nest/p9_mss_eff_grouping.mk
@@ -26,5 +26,5 @@
PROCEDURE=p9_mss_eff_grouping
OBJS+=p9_fbc_utils.o
$(call ADD_MODULE_INCDIR,$(PROCEDURE),$(ROOTPATH)/chips/p9/procedures/hwp/memory/)
-$(call ADD_MODULE_INCDIR,$(PROCEDURE),$(ROOTPATH)/generic/memory)
+$(call ADD_MODULE_INCDIR,$(PROCEDURE),$(ROOTPATH))
$(call BUILD_PROCEDURE)
diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_throttle_sync.mk b/src/import/chips/p9/procedures/hwp/nest/p9_throttle_sync.mk
index e6bbc24bb..e88f0ecb1 100644
--- a/src/import/chips/p9/procedures/hwp/nest/p9_throttle_sync.mk
+++ b/src/import/chips/p9/procedures/hwp/nest/p9_throttle_sync.mk
@@ -25,5 +25,5 @@
PROCEDURE=p9_throttle_sync
$(call ADD_MODULE_INCDIR,$(PROCEDURE),$(ROOTPATH)/chips/p9/procedures/hwp/memory/)
-$(call ADD_MODULE_INCDIR,$(PROCEDURE),$(ROOTPATH)/generic/memory)
+$(call ADD_MODULE_INCDIR,$(PROCEDURE),$(ROOTPATH))
$(call BUILD_PROCEDURE)
diff --git a/src/import/generic/memory/c_str.H b/src/import/generic/memory/lib/utils/c_str.H
index 02b36832b..3795de2c5 100644
--- a/src/import/generic/memory/c_str.H
+++ b/src/import/generic/memory/lib/utils/c_str.H
@@ -1,7 +1,7 @@
/* IBM_PROLOG_BEGIN_TAG */
/* This is an automatically generated prolog. */
/* */
-/* $Source: src/import/generic/memory/c_str.H $ */
+/* $Source: src/import/generic/memory/lib/utils/c_str.H $ */
/* */
/* OpenPOWER HostBoot Project */
/* */
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/utils/pos.H b/src/import/generic/memory/lib/utils/pos.H
index f0afbd85f..469d0c1a2 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/utils/pos.H
+++ b/src/import/generic/memory/lib/utils/pos.H
@@ -1,7 +1,7 @@
/* IBM_PROLOG_BEGIN_TAG */
/* This is an automatically generated prolog. */
/* */
-/* $Source: src/import/chips/p9/procedures/hwp/memory/lib/utils/pos.H $ */
+/* $Source: src/import/generic/memory/lib/utils/pos.H $ */
/* */
/* OpenPOWER HostBoot Project */
/* */
@@ -37,10 +37,6 @@
#define _MSS_POS_H_
#include <fapi2.H>
-#include <lib/shared/mss_const.H>
-
-namespace mss
-{
///
/// @brief Trait classes for the mss::pos functions
@@ -53,6 +49,17 @@ class posTraits
// uint8_t and some attr_pos, uint32_t. We don't really care
// but the type checking in the macros sure does ...
typedef uint8_t pos_type;
+
+ enum
+ {
+ MC_PER_MODULE = 2,
+ MCS_PER_MC = 2,
+ PORTS_PER_MCBIST = 4,
+ PORTS_PER_MCS = 2,
+ DIMMS_PER_PORT = 2,
+ DIMMS_PER_MCS = PORTS_PER_MCS * DIMMS_PER_PORT,
+ MCS_PER_PROC = MC_PER_MODULE * MCS_PER_MC,
+ };
};
///
@@ -63,6 +70,17 @@ class posTraits<fapi2::TARGET_TYPE_DIMM>
{
public:
typedef uint32_t pos_type;
+
+ enum
+ {
+ MC_PER_MODULE = 2,
+ MCS_PER_MC = 2,
+ PORTS_PER_MCBIST = 4,
+ PORTS_PER_MCS = 2,
+ DIMMS_PER_PORT = 2,
+ DIMMS_PER_MCS = PORTS_PER_MCS * DIMMS_PER_PORT,
+ MCS_PER_PROC = MC_PER_MODULE * MCS_PER_MC,
+ };
};
///
@@ -73,8 +91,18 @@ class posTraits<fapi2::TARGET_TYPE_PROC_CHIP>
{
public:
typedef uint32_t pos_type;
+
+ enum
+ {
+ MC_PER_MODULE = 2,
+ MCS_PER_MC = 2,
+ MCS_PER_PROC = MC_PER_MODULE * MCS_PER_MC,
+ };
};
+namespace mss
+{
+
///
/// @brief Return a target's position from a fapi2 target
/// @tparam T the fapi2::TargetType
@@ -82,7 +110,7 @@ class posTraits<fapi2::TARGET_TYPE_PROC_CHIP>
/// @return The position relative to the chip
///
template< fapi2::TargetType T, typename TT = posTraits<T> >
-inline typename TT::pos_type pos(const fapi2::Target<T>& i_target)
+typename TT::pos_type pos(const fapi2::Target<T>& i_target)
{
typename TT::pos_type l_pos = 0;
@@ -108,8 +136,8 @@ fapi_try_exit:
/// @return The position relative to the chip
///
template<>
-inline posTraits<fapi2::TARGET_TYPE_PROC_CHIP>::pos_type pos(
- const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target)
+inline posTraits<fapi2::TARGET_TYPE_PROC_CHIP>::pos_type
+pos(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target)
{
posTraits<fapi2::TARGET_TYPE_PROC_CHIP>::pos_type l_pos = 0;
@@ -134,35 +162,8 @@ fapi_try_exit:
/// @return The position relative to the chip
///
template<>
-inline posTraits<fapi2::TARGET_TYPE_DIMM>::pos_type pos(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target)
-{
- // Proc 0 is DIMM 0-15, proc 2 is 64-79 - 64 is the stride between processors
- constexpr uint64_t DIMM_STRIDE_PER_PROC = 64;
- constexpr uint64_t TOTAL_DIMM = MC_PER_MODULE * MCS_PER_MC * PORTS_PER_MCS * MAX_DIMM_PER_PORT;
-
- posTraits<fapi2::TARGET_TYPE_DIMM>::pos_type l_pos = 0;
-
- // Using fapi2 rather than mss::find as this is pretty low level stuff.
- const auto l_proc_pos =
- mss::template pos(i_target.getParent<fapi2::TARGET_TYPE_MCA>().getParent<fapi2::TARGET_TYPE_PROC_CHIP>());
-
- if (FAPI_ATTR_GET(fapi2::ATTR_FAPI_POS, i_target, l_pos) != fapi2::FAPI2_RC_SUCCESS)
- {
- goto fapi_try_exit;
- }
-
- // To get the FAPI_POS to the equivilent of ATTR_POS, we need to normalize the fapi_pos value
- // to the processor (stride across which ever processor we're on) and then add in the delta
- // per processor as ATTR_POS isn't processor relative (delta is the total dimm on a processor)
- return ((l_pos - (l_proc_pos * DIMM_STRIDE_PER_PROC)) % TOTAL_DIMM) + (TOTAL_DIMM * l_proc_pos);
-
-fapi_try_exit:
- // If we can't get our position, we're in other trouble
- FAPI_ERR("can't get our fapi position");
- fapi2::Assert(false);
- return 0;
-
-}
+posTraits<fapi2::TARGET_TYPE_DIMM>::pos_type
+pos(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target);
///
/// @brief Return a target's relative position from a fapi2 target
@@ -183,7 +184,8 @@ template<>
inline posTraits<fapi2::TARGET_TYPE_MCA>::pos_type
relative_pos<fapi2::TARGET_TYPE_MCBIST>(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target)
{
- return pos(i_target) % PORTS_PER_MCBIST;
+ typedef posTraits<fapi2::TARGET_TYPE_MCA> TT;
+ return pos(i_target) % TT::PORTS_PER_MCBIST;
}
///
@@ -195,8 +197,8 @@ template<>
inline posTraits<fapi2::TARGET_TYPE_DIMM>::pos_type
relative_pos<fapi2::TARGET_TYPE_MCS>(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target)
{
- constexpr uint64_t MAX_DIMM_PER_MCS = PORTS_PER_MCS * MAX_DIMM_PER_PORT;
- return pos(i_target) % MAX_DIMM_PER_MCS;
+ typedef posTraits<fapi2::TARGET_TYPE_DIMM> TT;
+ return pos(i_target) % TT::DIMMS_PER_MCS;
}
///
@@ -208,8 +210,8 @@ template<>
inline posTraits<fapi2::TARGET_TYPE_MCS>::pos_type
relative_pos<fapi2::TARGET_TYPE_PROC_CHIP>(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target)
{
- constexpr uint64_t MCS_PER_PROC = MC_PER_MODULE * MCS_PER_MC;
- return pos(i_target) % MCS_PER_PROC;
+ typedef posTraits<fapi2::TARGET_TYPE_MCS> TT;
+ return pos(i_target) % TT::MCS_PER_PROC;
}
///
@@ -221,11 +223,10 @@ template<>
inline posTraits<fapi2::TARGET_TYPE_MCA>::pos_type
relative_pos<fapi2::TARGET_TYPE_MCS>(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target)
{
- return pos(i_target) % PORTS_PER_MCS;
+ typedef posTraits<fapi2::TARGET_TYPE_MCA> TT;
+ return pos(i_target) % TT::PORTS_PER_MCS;
}
-
-
///
/// @brief Return a target's fapi position from a fapi2 target
/// @tparam T the fapi2::TargetType
diff --git a/src/usr/diag/mdia/makefile b/src/usr/diag/mdia/makefile
index dd78af8b1..5d5412c8f 100644
--- a/src/usr/diag/mdia/makefile
+++ b/src/usr/diag/mdia/makefile
@@ -38,7 +38,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/common/include
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/memory
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/ffdc
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/memory/lib/mcbist
-EXTRAINCDIR += ${ROOTPATH}/src/import/generic/memory/
+EXTRAINCDIR += ${ROOTPATH}/src/import/
EXTRAINCDIR += ${ROOTPATH}/src/include/usr/fapi2
EXTRAINCDIR += ${ROOTPATH}/src/include/usr/targeting/common
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/utils/imageProcs
diff --git a/src/usr/diag/mdia/test/makefile b/src/usr/diag/mdia/test/makefile
index c63991d7e..ff5476457 100644
--- a/src/usr/diag/mdia/test/makefile
+++ b/src/usr/diag/mdia/test/makefile
@@ -37,7 +37,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/memory
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/memory/lib/mcbist
EXTRAINCDIR += ${ROOTPATH}/src/include/usr/fapi2
EXTRAINCDIR += ${ROOTPATH}/src/include/usr/targeting/common
-EXTRAINCDIR += ${ROOTPATH}/src/import/generic/memory/
+EXTRAINCDIR += ${ROOTPATH}/src/import/
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/utils/imageProcs
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/ffdc
diff --git a/src/usr/diag/prdf/prdf_hb_only.mk b/src/usr/diag/prdf/prdf_hb_only.mk
index 55b70f83e..cdea75793 100644
--- a/src/usr/diag/prdf/prdf_hb_only.mk
+++ b/src/usr/diag/prdf/prdf_hb_only.mk
@@ -62,7 +62,7 @@ prd_incpath += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/
prd_incpath += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/memory/utils/
prd_incpath += ${ROOTPATH}/src/import/chips/p9/utils/imageProcs/
prd_incpath += ${ROOTPATH}/src/import/hwpf/fapi2/include
-prd_incpath += ${ROOTPATH}/src/import/generic/memory/
+prd_incpath += ${ROOTPATH}/src/import/
################################################################################
# Hostboot only object files common to both IPL and runtime
@@ -157,6 +157,7 @@ prd_vpath += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/memory/lib/eff_confi
prd_vpath += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/
prd_vpath += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/memory/lib/utils/
prd_vpath += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/
+prd_obj_no_sim += pos.o
prd_obj_no_sim += mcbist.o
prd_obj_no_sim += mcbist_workarounds.o
diff --git a/src/usr/diag/prdf/test/prdf_hb_common_test.mk b/src/usr/diag/prdf/test/prdf_hb_common_test.mk
index ac574b4ae..d7adf3371 100755
--- a/src/usr/diag/prdf/test/prdf_hb_common_test.mk
+++ b/src/usr/diag/prdf/test/prdf_hb_common_test.mk
@@ -65,7 +65,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/ffdc/
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/memory
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/utils/imageProcs
EXTRAINCDIR += ${ROOTPATH}/src/import/hwpf/fapi2/include
-EXTRAINCDIR += ${ROOTPATH}/src/import/generic/memory/
+EXTRAINCDIR += ${ROOTPATH}/src/import/
#------------------------------------------------------------------------------
# objects
diff --git a/src/usr/isteps/istep07/makefile b/src/usr/isteps/istep07/makefile
index b4c647ca9..b026035fd 100644
--- a/src/usr/isteps/istep07/makefile
+++ b/src/usr/isteps/istep07/makefile
@@ -40,7 +40,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/import/hwpf/fapi2/include/
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/utils/
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/common/include/
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/utils/imageProcs/
-EXTRAINCDIR += ${ROOTPATH}/src/import/generic/memory
+EXTRAINCDIR += ${ROOTPATH}/src/import/
EXTRAINCDIR += ${ROOTPATH}/obj/genfiles/
EXTRAINCDIR += ${ROOTPATH}/src/usr/isteps/
EXTRAINCDIR += ${HWP_PATH}
diff --git a/src/usr/isteps/istep13/makefile b/src/usr/isteps/istep13/makefile
index d9f4c9d24..4a1d24952 100644
--- a/src/usr/isteps/istep13/makefile
+++ b/src/usr/isteps/istep13/makefile
@@ -34,7 +34,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/usr/isteps/
EXTRAINCDIR += ${ROOTPATH}/obj/genfiles
EXTRAINCDIR += ${ROOTPATH}/src/import/hwpf/fapi2/include
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/utils/
-EXTRAINCDIR += ${ROOTPATH}/src/import/generic/memory
+EXTRAINCDIR += ${ROOTPATH}/src/import/
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/utils/imageProcs/
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/common/include
EXTRAINCDIR += ${PROCEDURES_PATH}/hwp/memory
diff --git a/src/usr/isteps/istep14/makefile b/src/usr/isteps/istep14/makefile
index 578099c5a..17e3faedf 100644
--- a/src/usr/isteps/istep14/makefile
+++ b/src/usr/isteps/istep14/makefile
@@ -34,7 +34,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/include/usr/fapi2
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/utils
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/utils/imageProcs
EXTRAINCDIR += ${PROCEDURE_PATH}/hwp/nest
-EXTRAINCDIR += ${ROOTPATH}/src/import/generic/memory
+EXTRAINCDIR += ${ROOTPATH}/src/import/
EXTRAINCDIR += ${PROCEDURE_PATH}/hwp/memory
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/common/include/
EXTRAINCDIR += ${PROCEDURE_PATH}/hwp/memory/lib/eff_config/
diff --git a/src/usr/isteps/mss/makefile b/src/usr/isteps/mss/makefile
index 03f38ea0a..e23cee711 100644
--- a/src/usr/isteps/mss/makefile
+++ b/src/usr/isteps/mss/makefile
@@ -32,7 +32,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/include/usr/fapi2/
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/utils/
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/utils/imageProcs/
EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/common/include
-EXTRAINCDIR += ${ROOTPATH}/src/import/generic/memory
+EXTRAINCDIR += ${ROOTPATH}/src/import/
MSS_LIB += ${PROCEDURES_PATH}/hwp/memory
MSS_LIB += ${PROCEDURES_PATH}/hwp/memory/lib
OpenPOWER on IntegriCloud