summaryrefslogtreecommitdiffstats
path: root/src/kernel
diff options
context:
space:
mode:
authorDean Sanner <dsanner@us.ibm.com>2017-03-02 11:28:39 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-03-02 15:32:19 -0500
commita0437b216feaa77f81cfa3738844a0b761a9e99d (patch)
tree3b0d0699151e9e072b7065b8bec70d0ba99193ad /src/kernel
parent490f862dce24ca0978dd1b61eeb38f91fef3a495 (diff)
downloadtalos-hostboot-a0437b216feaa77f81cfa3738844a0b761a9e99d.tar.gz
talos-hostboot-a0437b216feaa77f81cfa3738844a0b761a9e99d.zip
Enable STOP wakeup on Hypervisor External Interrupt
- Latest HCODE image change requirements now need to enable LPCR[17] prior to issuing STOP Change-Id: I21488e0795b5dcd710b026ebbace2d158fdf9694 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/37374 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/kernel')
-rw-r--r--src/kernel/misc.C8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/kernel/misc.C b/src/kernel/misc.C
index 0d81d98be..2a4889b48 100644
--- a/src/kernel/misc.C
+++ b/src/kernel/misc.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2011,2016 */
+/* Contributors Listed Below - COPYRIGHT 2011,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -286,7 +286,8 @@ namespace KernelMisc
// Clear LPCR values that wakes up from winkle. LPCR[49, 50, 51]
// Otherwise, there may be an interrupt pending or something that
// prevents us from fully entering winkle.
- setLPCR(getLPCR() & (~0x0000000000007000));
+ // Turn on LPCR[17] to enable Hypervisor External Interrupts
+ setLPCR((getLPCR() & (~0x0000000000007000)) | 0x0000400000000000) ;
// Deactivate CPU from kernel.
cpu->winkled = true;
@@ -387,7 +388,8 @@ namespace KernelMisc
// Clear LPCR values that wakes up from winkle. LPCR[49, 50, 51]
// Otherwise, there may be an interrupt pending or something that
// prevents us from fully entering winkle.
- setLPCR(getLPCR() & (~0x0000000000007000));
+ // Turn on LPCR[17] to enable Hypervisor External Interrupts
+ setLPCR((getLPCR() & (~0x0000000000007000)) | 0x0000400000000000) ;
// Deactivate CPU from kernel.
cpu->winkled = true;
OpenPOWER on IntegriCloud