summaryrefslogtreecommitdiffstats
path: root/src/include/kernel
diff options
context:
space:
mode:
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