From a0437b216feaa77f81cfa3738844a0b761a9e99d Mon Sep 17 00:00:00 2001 From: Dean Sanner Date: Thu, 2 Mar 2017 11:28:39 -0600 Subject: 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 Reviewed-by: William G. Hoffa Tested-by: Jenkins OP Build CI Tested-by: FSP CI Jenkins Reviewed-by: Daniel M. Crowell --- src/kernel/misc.C | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/kernel') 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; -- cgit v1.2.3