summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/hwp/core_activate/core_activate.C
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2013-01-07 13:34:27 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-02-08 16:51:17 -0600
commit0ace043e6f4df6ce20d32524923e732a185853bf (patch)
tree49abd153d81dc2aa204cc64fed49f6ae243f4487 /src/usr/hwpf/hwp/core_activate/core_activate.C
parentcaf328ccd931de4ce4e4d285d1a4e5ddd151abb5 (diff)
downloadtalos-hostboot-0ace043e6f4df6ce20d32524923e732a185853bf.tar.gz
talos-hostboot-0ace043e6f4df6ce20d32524923e732a185853bf.zip
Support for less than 8 threads per core
Modified anywhere that we enable non-master threads to only touch the threads that we are told to update. Change-Id: I5b764e51d85a5c663ac76164e9465831ef0c167c RTC: 48808 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2877 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwpf/hwp/core_activate/core_activate.C')
-rw-r--r--src/usr/hwpf/hwp/core_activate/core_activate.C10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/usr/hwpf/hwp/core_activate/core_activate.C b/src/usr/hwpf/hwp/core_activate/core_activate.C
index f8ca1608c..6efce283e 100644
--- a/src/usr/hwpf/hwp/core_activate/core_activate.C
+++ b/src/usr/hwpf/hwp/core_activate/core_activate.C
@@ -265,9 +265,13 @@ void* call_host_activate_slave_cores( void *io_pArgs )
CHIP_UNIT_ATTR l_coreId =
(*l_core)->getAttr<TARGETING::ATTR_CHIP_UNIT>();
FABRIC_NODE_ID_ATTR l_logicalNodeId =
- l_processor->getAttr<TARGETING::ATTR_FABRIC_NODE_ID>();
+ l_processor->getAttr<TARGETING::ATTR_FABRIC_NODE_ID>();
FABRIC_CHIP_ID_ATTR l_chipId =
- l_processor->getAttr<TARGETING::ATTR_FABRIC_CHIP_ID>();
+ l_processor->getAttr<TARGETING::ATTR_FABRIC_CHIP_ID>();
+ TARGETING::Target* sys = NULL;
+ TARGETING::targetService().getTopLevelTarget(sys);
+ assert( sys != NULL );
+ uint64_t en_threads = sys->getAttr<ATTR_ENABLED_THREADS>();
uint64_t pir = l_coreId << 3;
pir |= l_chipId << 7;
@@ -278,7 +282,7 @@ void* call_host_activate_slave_cores( void *io_pArgs )
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"call_host_activate_slave_cores: Waking %x", pir);
- int rc = cpu_start_core(pir);
+ int rc = cpu_start_core(pir,en_threads);
// We purposefully only create one error log here. The only
// failure from the kernel is a bad PIR, which means we have
OpenPOWER on IntegriCloud