summaryrefslogtreecommitdiffstats
path: root/openpower/package/hostboot-p8/0006-Change-cv_forcedMemPeriodic-to-uint8_t-as-bool-is-in.patch
blob: 666c7477c4b605b873ea87e620b70f10e09745fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
From 74d099aaffa37498859c0840771052f50253ce4d Mon Sep 17 00:00:00 2001
From: Stewart Smith <stewart@linux.vnet.ibm.com>
Date: Thu, 25 Aug 2016 19:33:42 +1000
Subject: [PATCH 06/10] Change cv_forcedMemPeriodic to uint8_t as bool is
 invalid
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

GCC6 throws the following error:
operand type ‘bool*’ is incompatible with argument 1 of ‘__sync_fetch_and_and’

GCC documents that bool is invalid for __sync builtins over at:
https://gcc.gnu.org/onlinedocs/gcc/_005f_005fsync-Builtins.html#g_t_005f_005fsync-Builtins
" GCC allows any scalar type that is 1, 2, 4 or 8 bytes in size other than the C type _Bool or the C++ type bool"

Change-Id: Iab6415348cb19f590921d8ccc5349867fa57a42d
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
---
 src/include/kernel/cpumgr.H | 2 +-
 src/kernel/cpumgr.C         | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/include/kernel/cpumgr.H b/src/include/kernel/cpumgr.H
index 68f8972..6e9b697 100644
--- a/src/include/kernel/cpumgr.H
+++ b/src/include/kernel/cpumgr.H
@@ -215,7 +215,7 @@ class CpuManager
              */
         static uint64_t cv_cpuSeq;
 
-        static bool cv_forcedMemPeriodic;       //!<  force free / coalesce.
+        static uint8_t cv_forcedMemPeriodic;       //!<  force free / coalesce.
 
         // If a shutdown of all CPUs is requested
         static bool cv_shutdown_requested;
diff --git a/src/kernel/cpumgr.C b/src/kernel/cpumgr.C
index 44f61a1..ce7516f 100644
--- a/src/kernel/cpumgr.C
+++ b/src/kernel/cpumgr.C
@@ -50,7 +50,7 @@ cpu_t** CpuManager::cv_cpus[KERNEL_MAX_SUPPORTED_NODES];
 bool CpuManager::cv_shutdown_requested = false;
 uint64_t CpuManager::cv_shutdown_status = 0;
 size_t CpuManager::cv_cpuSeq = 0;
-bool CpuManager::cv_forcedMemPeriodic = false;
+uint8_t CpuManager::cv_forcedMemPeriodic = 0;
 InteractiveDebug CpuManager::cv_interactive_debug;
 
 CpuManager::CpuManager() : iv_lastStartTimebase(0)
@@ -361,7 +361,7 @@ void CpuManager::executePeriodics(cpu_t * i_cpu)
         }
 
         bool forceMemoryPeriodic = __sync_fetch_and_and(&cv_forcedMemPeriodic,
-                                                        false);
+                                                        0);
 
         ++(i_cpu->periodic_count);
         if((0 == (i_cpu->periodic_count % CPU_PERIODIC_CHECK_MEMORY)) ||
@@ -461,7 +461,7 @@ size_t CpuManager::getThreadCount()
 
 void CpuManager::forceMemoryPeriodic()
 {
-    cv_forcedMemPeriodic = true;
+    cv_forcedMemPeriodic = 1;
 }
 
 
-- 
2.7.4

OpenPOWER on IntegriCloud