diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2013-01-07 13:34:27 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-02-08 16:51:17 -0600 |
commit | 0ace043e6f4df6ce20d32524923e732a185853bf (patch) | |
tree | 49abd153d81dc2aa204cc64fed49f6ae243f4487 /src/usr/hwpf/hwp/core_activate/core_activate.C | |
parent | caf328ccd931de4ce4e4d285d1a4e5ddd151abb5 (diff) | |
download | talos-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.C | 10 |
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 |