summaryrefslogtreecommitdiffstats
path: root/src/include/kernel
diff options
context:
space:
mode:
authorBrian Stegmiller <bjs@us.ibm.com>2015-11-15 10:52:28 -0600
committerPatrick Williams <iawillia@us.ibm.com>2015-12-11 15:30:29 -0600
commitcb1f5614326054b025774dae1a37ad5bdf07902d (patch)
tree4b5ef74fd7aac1b7bba91da711da867ccb870920 /src/include/kernel
parentbedb0a1a1818ebe6d683028926ccaec14fdb9f8d (diff)
downloadtalos-hostboot-cb1f5614326054b025774dae1a37ad5bdf07902d.tar.gz
talos-hostboot-cb1f5614326054b025774dae1a37ad5bdf07902d.zip
HOSTBOOT: Support fused cores
Change-Id: I2ad133be733ee9e41590b3b8bd60bd6abe69d1a9 RTC: 126786 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/22054 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/kernel')
-rw-r--r--src/include/kernel/cpumgr.H13
-rw-r--r--src/include/kernel/misc.H13
2 files changed, 18 insertions, 8 deletions
diff --git a/src/include/kernel/cpumgr.H b/src/include/kernel/cpumgr.H
index 68f897278..30009da73 100644
--- a/src/include/kernel/cpumgr.H
+++ b/src/include/kernel/cpumgr.H
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2010,2014 */
+/* Contributors Listed Below - COPYRIGHT 2010,2015 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -184,14 +186,15 @@ class CpuManager
*/
static const uint64_t WAKEUP_RPR_VALUE = 0x0001032021223F;
- protected:
- CpuManager();
- ~CpuManager() {}
-
/** @fn startCPU
* Starts the requested CPU. Default of -1 implies current CPU.
*/
void startCPU(ssize_t i = -1);
+
+ protected:
+ CpuManager();
+ ~CpuManager() {}
+
void startSlaveCPU(cpu_t*);
private:
diff --git a/src/include/kernel/misc.H b/src/include/kernel/misc.H
index 2d24c9d85..802df9090 100644
--- a/src/include/kernel/misc.H
+++ b/src/include/kernel/misc.H
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2011,2014 */
+/* Contributors Listed Below - COPYRIGHT 2011,2015 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -93,9 +95,11 @@ namespace KernelMisc
*
* @param i_caller - Task calling cpu_master_winkle to be
* restored after winkle is complete.
+ * @param i_fusedCores - true if using 8 threaded cores
*/
- WinkleCore(task_t* i_caller) :
- iv_caller(i_caller), iv_timebase(0) {};
+ WinkleCore(task_t* i_caller, bool i_fusedCores) :
+ iv_caller(i_caller), iv_timebase(0),
+ iv_fusedCores(i_fusedCores) {};
void masterPreWork();
void activeMainWork();
@@ -107,6 +111,9 @@ namespace KernelMisc
task_t* iv_caller;
/** Current time-base value for restore after winkle. */
uint64_t iv_timebase;
+ /** Fused core has 8 threads per core (normal is 4). */
+ /** So when winkling core, we need a 2nd core started. */
+ bool iv_fusedCores;
};
/** @class WinkleAll
OpenPOWER on IntegriCloud