From c037b71deb05442aa4365b69aeed63d16db8fb31 Mon Sep 17 00:00:00 2001 From: Bhimsen G Kulkarni Date: Mon, 6 Nov 2017 00:48:36 -0600 Subject: MAX_COMPUTE_NODE_PER_SYSTEM attribute support for Zeppelin. Change-Id: I2cd9093bbf4a1c6f9d5a3f954df172e7023770b9 RTC:180513 CQ: SW408273 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/49279 Reviewed-by: Santosh S. Puranik Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Reviewed-by: Prachi Gupta Tested-by: FSP CI Jenkins Reviewed-by: Daniel M. Crowell --- src/usr/targeting/common/processMrw.pl | 40 ++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'src/usr/targeting/common/processMrw.pl') diff --git a/src/usr/targeting/common/processMrw.pl b/src/usr/targeting/common/processMrw.pl index 24cba10e5..76ac2bd14 100755 --- a/src/usr/targeting/common/processMrw.pl +++ b/src/usr/targeting/common/processMrw.pl @@ -241,6 +241,10 @@ foreach my $target (sort keys %{ $targetObj->getAllTargets() }) $targetObj->deleteAttribute($target,"SYSTEM_WOF_ENABLED"); $targetObj->deleteAttribute($target,"VDM_ENABLE"); $targetObj->deleteAttribute($target,"CHIP_HAS_SBE"); + + my $maxComputeNodes = get_max_compute_nodes($targetObj , $target); + $targetObj->setAttribute($target, "MAX_COMPUTE_NODES_PER_SYSTEM", $maxComputeNodes); + #handle enumeration changes my $enum_val = $targetObj->getAttribute($target,"PROC_FABRIC_PUMP_MODE"); if ( $enum_val =~ /MODE1/i) @@ -2254,6 +2258,42 @@ sub setGpioAttributes $targetObj->setAttributeField($target, $name, "vddrPin", $vddrPin); } +#-------------------------------------------------- +## Compute max compute node +sub get_max_compute_nodes +{ + my $targetObj = shift; + my $sysTarget = shift; + my $retVal = 0; + ## + #Proceeed only for sys targets + ## + if ($targetObj->getType($sysTarget) eq "SYS") + { + foreach my $child (@{$targetObj->getTargetChildren($sysTarget)}) + { + if ($targetObj->isBadAttribute($child, "ENC_TYPE") == 0) + { + my $attrVal = $targetObj->getAttribute($child, "ENC_TYPE"); + if ($attrVal eq "CEC") + { + $retVal++; + } + } + } + ## + #For Open Power systems this attribute + #is not populated, we consider default value as 1 + # for open power systems. + ## + if ($retVal == 0 ) + { + $retVal = 1; + } + } + return $retVal; +} + #-------------------------------------------------- ## ERROR checking sub errorCheck -- cgit v1.2.1