diff options
Diffstat (limited to 'src/include/kernel')
-rw-r--r-- | src/include/kernel/cpumgr.H | 13 | ||||
-rw-r--r-- | src/include/kernel/misc.H | 13 |
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 |