diff options
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> |