summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/import/chips/p9/procedures/hwp/pm/p9_hcode_image_build.C6
-rw-r--r--src/import/chips/p9/procedures/xml/attribute_info/p9_hcode_image_build_attributes.xml12
-rw-r--r--src/usr/isteps/istep15/host_build_stop_image.C13
-rw-r--r--src/usr/isteps/istep15/proc_set_pba_homer_bar.C7
-rw-r--r--src/usr/targeting/common/xmltohb/attribute_types_hb.xml36
-rwxr-xr-xsrc/usr/targeting/common/xmltohb/target_types_hb.xml6
6 files changed, 27 insertions, 53 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_hcode_image_build.C b/src/import/chips/p9/procedures/hwp/pm/p9_hcode_image_build.C
index 097d87a61..99bbaf5d7 100644
--- a/src/import/chips/p9/procedures/hwp/pm/p9_hcode_image_build.C
+++ b/src/import/chips/p9/procedures/hwp/pm/p9_hcode_image_build.C
@@ -1540,10 +1540,8 @@ extern "C"
// copy sections pertaining to CME
FAPI_INF("CPMR / CME building");
uint64_t cpmrPhyAdd = 0;
- fapi2::buffer<uint64_t> regData;
- regData.flush<0>();
- FAPI_TRY(getScom(i_procTgt, PU_PBABAR0, regData ));
- regData.extract<0, 64>(cpmrPhyAdd);
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_HOMER_PHYS_ADDR, i_procTgt, cpmrPhyAdd ),
+ "Error from FAPI_ATTR_GET for ATTR_HOMER_PHYS_ADDR");
FAPI_DBG("HOMER base address 0x%016lX", cpmrPhyAdd );
ppeImgRc = buildCmeImage( i_pImageIn, pChipHomer, i_imgType, cpmrPhyAdd );
diff --git a/src/import/chips/p9/procedures/xml/attribute_info/p9_hcode_image_build_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/p9_hcode_image_build_attributes.xml
index 5925861f6..0e2f43903 100644
--- a/src/import/chips/p9/procedures/xml/attribute_info/p9_hcode_image_build_attributes.xml
+++ b/src/import/chips/p9/procedures/xml/attribute_info/p9_hcode_image_build_attributes.xml
@@ -37,4 +37,16 @@
<enum> CORE_UNFUSED = 0x0, CORE_FUSED = 0x1 </enum>
<platInit/>
</attribute>
+
+<attribute>
+ <id>ATTR_HOMER_PHYS_ADDR</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ Physical real address of the HOMER image for this chip. Used to
+ tell the CME where this HOMER image will be placed. Must be
+ aligned to a 4MB boundary
+ </description>
+ <valueType>uint64</valueType>
+ <platInit/>
+</attribute>
</attributes>
diff --git a/src/usr/isteps/istep15/host_build_stop_image.C b/src/usr/isteps/istep15/host_build_stop_image.C
index 53676d7b8..da2356508 100644
--- a/src/usr/isteps/istep15/host_build_stop_image.C
+++ b/src/usr/isteps/istep15/host_build_stop_image.C
@@ -413,11 +413,9 @@ void* host_build_stop_image (void *io_pArgs)
uint32_t l_sizeImageOut =
((P9_MAX_PROCS * (4 * MEGABYTE)));
- //Set default values, p9_hcode_build will provide actual size
- l_procChip->setAttr<TARGETING::ATTR_HCODE_IMAGE_ADDR>
- ( l_procRealMemAddr );
- l_procChip->setAttr<TARGETING::ATTR_HCODE_IMAGE_SIZE>
- ( l_sizeImageOut ) ;
+ //Set default values, used later by p9_hcode_build
+ l_procChip->setAttr<TARGETING::ATTR_HOMER_PHYS_ADDR>
+ (l_procRealMemAddr);
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"Real mem buffer for cpu 0x%08x = %p, virtAddr=%p",
@@ -456,11 +454,6 @@ void* host_build_stop_image (void *io_pArgs)
break;
}
-
- // set the actual size of the image now.
- l_procChip->setAttr<TARGETING::ATTR_HCODE_IMAGE_SIZE>
- ( l_sizeImageOut );
-
l_errl = applyHcodeGenCpuRegs( l_procChip,
l_pImageOut,
l_sizeImageOut );
diff --git a/src/usr/isteps/istep15/proc_set_pba_homer_bar.C b/src/usr/isteps/istep15/proc_set_pba_homer_bar.C
index 879b7faf8..0173b1a15 100644
--- a/src/usr/isteps/istep15/proc_set_pba_homer_bar.C
+++ b/src/usr/isteps/istep15/proc_set_pba_homer_bar.C
@@ -53,6 +53,11 @@ using namespace fapi2;
namespace ISTEP_15
{
+enum
+{
+ HOMER_SIZE_IN_MB =4,
+};
+
void* proc_set_pba_homer_bar (void *io_pArgs)
{
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_proc_set_pba_homer_bar entry" );
@@ -80,7 +85,7 @@ void* proc_set_pba_homer_bar (void *io_pArgs)
p9_pm_set_homer_bar,
l_fapiCpuTarget,
homerAddr,
- 3);
+ HOMER_SIZE_IN_MB);
if(l_errl)
{
diff --git a/src/usr/targeting/common/xmltohb/attribute_types_hb.xml b/src/usr/targeting/common/xmltohb/attribute_types_hb.xml
index 6450c9da2..d59bb2db8 100644
--- a/src/usr/targeting/common/xmltohb/attribute_types_hb.xml
+++ b/src/usr/targeting/common/xmltohb/attribute_types_hb.xml
@@ -313,38 +313,6 @@
</attribute>
<attribute>
- <id>HCODE_IMAGE_ADDR</id>
- <description>
- Address of HCODE Image
- Written by host_build_stop_image (istep 15.1)
- </description>
- <simpleType>
- <uint64_t>
- </uint64_t>
- </simpleType>
- <persistency>volatile-zeroed</persistency>
- <readable/>
- <writeable/>
- <hbOnly/>
-</attribute>
-
-<attribute>
- <id>HCODE_IMAGE_SIZE</id>
- <description>
- Size of HCODE Image
- Written by host_build_stop_image (istep 15.1)
- </description>
- <simpleType>
- <uint64_t>
- </uint64_t>
- </simpleType>
- <persistency>volatile-zeroed</persistency>
- <readable/>
- <writeable/>
- <hbOnly/>
-</attribute>
-
-<attribute>
<id>IBSCOM_VIRTUAL_ADDR</id>
<description>Cached Virtual Address of Inband Scom memory space for this Chip</description>
<simpleType>
@@ -493,6 +461,10 @@
<persistency>volatile-zeroed</persistency>
<readable/>
<writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_HOMER_PHYS_ADDR</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
<hbOnly/>
</attribute>
diff --git a/src/usr/targeting/common/xmltohb/target_types_hb.xml b/src/usr/targeting/common/xmltohb/target_types_hb.xml
index 432e61a7e..aa941beaf 100755
--- a/src/usr/targeting/common/xmltohb/target_types_hb.xml
+++ b/src/usr/targeting/common/xmltohb/target_types_hb.xml
@@ -104,12 +104,6 @@
</attribute>
<attribute><id>SCAN_MUTEX</id></attribute>
<attribute>
- <id>HCODE_IMAGE_ADDR</id>
- </attribute>
- <attribute>
- <id>HCODE_IMAGE_SIZE</id>
- </attribute>
- <attribute>
<id>HOMER_PHYS_ADDR</id>
</attribute>
<attribute>
OpenPOWER on IntegriCloud