summaryrefslogtreecommitdiffstats
path: root/src/include/kernel
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2012-07-17 21:57:58 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-07-28 13:04:48 -0500
commitb866f4173f605d8dcdf83b3239dd7fb9a5a8768b (patch)
treeabb7ddef100518198c44202293d9042b8922ae50 /src/include/kernel
parentac9ad22f261cd391c0d5163e82ff02ae4929f820 (diff)
downloadblackbird-hostboot-b866f4173f605d8dcdf83b3239dd7fb9a5a8768b.tar.gz
blackbird-hostboot-b866f4173f605d8dcdf83b3239dd7fb9a5a8768b.zip
Execute 'doze' in idle loop.
Change-Id: Ifd611129c2d7173b5e0dec36c870e06a4d851009 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1384 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> 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.H3
-rw-r--r--src/include/kernel/ppcconsts.S23
-rw-r--r--src/include/kernel/syscalls.H2
-rw-r--r--src/include/kernel/task.H46
4 files changed, 40 insertions, 34 deletions
diff --git a/src/include/kernel/cpumgr.H b/src/include/kernel/cpumgr.H
index bbd16fcd8..8cf6d0fc3 100644
--- a/src/include/kernel/cpumgr.H
+++ b/src/include/kernel/cpumgr.H
@@ -111,10 +111,11 @@ class CpuManager
/** Desired value for LPCR after wakeup.
*
* bit 49 - Wake-up from external interrupt.
+ * bit 50 - Wake-up from decrementer.
* bit 51 - Wake-up from machine check.
* bit 60, 61 - LPES(0,1) = 1 (see ISA).
*/
- static const uint64_t WAKEUP_LPCR_VALUE = 0x000000000000500C;
+ static const uint64_t WAKEUP_LPCR_VALUE = 0x000000000000700C;
protected:
CpuManager();
diff --git a/src/include/kernel/ppcconsts.S b/src/include/kernel/ppcconsts.S
index 89a52a008..1568bb911 100644
--- a/src/include/kernel/ppcconsts.S
+++ b/src/include/kernel/ppcconsts.S
@@ -1,25 +1,25 @@
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.
-#
+#
# $Source: src/include/kernel/ppcconsts.S $
-#
+#
# IBM CONFIDENTIAL
-#
-# COPYRIGHT International Business Machines Corp. 2010 - 2011
-#
+#
+# COPYRIGHT International Business Machines Corp. 2010-2012
+#
# p1
-#
+#
# Object Code Only (OCO) source materials
# Licensed Internal Code Source Materials
# IBM HostBoot Licensed Internal Code
-#
+#
# The source code for this program is not published or other-
# wise divested of its trade secrets, irrespective of what has
# been deposited with the U.S. Copyright Office.
-#
+#
# Origin: 30
-#
-# IBM_PROLOG_END
+#
+# IBM_PROLOG_END_TAG
#*--------------------------------------------------------------------*#
#* Register Constants *#
#*--------------------------------------------------------------------*#
@@ -206,8 +206,9 @@
.set TASK_CR, TASK_LR+8
.set TASK_CTR, TASK_CR+8
.set TASK_XER, TASK_CTR+8
+.set TASK_MSR_MASK, TASK_XER+8
-.set TASK_FP_CONTEXT, TASK_XER+8
+.set TASK_FP_CONTEXT, TASK_MSR_MASK+8
.set TASK_FPR_0, 0
.set TASK_FPR_1, TASK_FPR_0+8
.set TASK_FPR_2, TASK_FPR_1+8
diff --git a/src/include/kernel/syscalls.H b/src/include/kernel/syscalls.H
index 28e13628c..5523fc158 100644
--- a/src/include/kernel/syscalls.H
+++ b/src/include/kernel/syscalls.H
@@ -92,6 +92,8 @@ namespace Systemcalls
MISC_CPUSTARTCORE,
/** cpu_spr_value() */
MISC_CPUSPRVALUE,
+ /** cpu_doze() - Hidden syscall */
+ MISC_CPUDOZE,
/** mm_alloc_block() */
MM_ALLOC_BLOCK,
diff --git a/src/include/kernel/task.H b/src/include/kernel/task.H
index 9ff0401ba..f9ceab994 100644
--- a/src/include/kernel/task.H
+++ b/src/include/kernel/task.H
@@ -1,25 +1,26 @@
-// IBM_PROLOG_BEGIN_TAG
-// This is an automatically generated prolog.
-//
-// $Source: src/include/kernel/task.H $
-//
-// IBM CONFIDENTIAL
-//
-// COPYRIGHT International Business Machines Corp. 2010 - 2011
-//
-// p1
-//
-// Object Code Only (OCO) source materials
-// Licensed Internal Code Source Materials
-// IBM HostBoot Licensed Internal Code
-//
-// The source code for this program is not published or other-
-// wise divested of its trade secrets, irrespective of what has
-// been deposited with the U.S. Copyright Office.
-//
-// Origin: 30
-//
-// IBM_PROLOG_END
+/* IBM_PROLOG_BEGIN_TAG
+ * This is an automatically generated prolog.
+ *
+ * $Source: src/include/kernel/task.H $
+ *
+ * IBM CONFIDENTIAL
+ *
+ * COPYRIGHT International Business Machines Corp. 2010-2012
+ *
+ * p1
+ *
+ * Object Code Only (OCO) source materials
+ * Licensed Internal Code Source Materials
+ * IBM HostBoot Licensed Internal Code
+ *
+ * The source code for this program is not published or other-
+ * wise divested of its trade secrets, irrespective of what has
+ * been deposited with the U.S. Copyright Office.
+ *
+ * Origin: 30
+ *
+ * IBM_PROLOG_END_TAG
+ */
/** @file task.H
* @brief Defines kernel information about tasks.
*/
@@ -42,6 +43,7 @@ struct context_t
uint64_t cr;
uint64_t ctr;
uint64_t xer;
+ uint64_t msr_mask; // XOR mask applied to MSR.
};
/** @struct context_fp_t
OpenPOWER on IntegriCloud