diff options
| author | Patrick Williams <iawillia@us.ibm.com> | 2012-07-17 21:57:58 -0500 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-07-28 13:04:48 -0500 |
| commit | b866f4173f605d8dcdf83b3239dd7fb9a5a8768b (patch) | |
| tree | abb7ddef100518198c44202293d9042b8922ae50 /src/include/kernel | |
| parent | ac9ad22f261cd391c0d5163e82ff02ae4929f820 (diff) | |
| download | blackbird-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.H | 3 | ||||
| -rw-r--r-- | src/include/kernel/ppcconsts.S | 23 | ||||
| -rw-r--r-- | src/include/kernel/syscalls.H | 2 | ||||
| -rw-r--r-- | src/include/kernel/task.H | 46 |
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 |

