diff options
| -rw-r--r-- | arch/powerpc/kvm/book3s_hv_rmhandlers.S | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S index b25407533618..b031f932c0cc 100644 --- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S +++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S | |||
| @@ -315,6 +315,11 @@ kvm_no_guest: | |||
| 315 | li r0, KVM_HWTHREAD_IN_NAP | 315 | li r0, KVM_HWTHREAD_IN_NAP |
| 316 | stb r0, HSTATE_HWTHREAD_STATE(r13) | 316 | stb r0, HSTATE_HWTHREAD_STATE(r13) |
| 317 | kvm_do_nap: | 317 | kvm_do_nap: |
| 318 | /* Clear the runlatch bit before napping */ | ||
| 319 | mfspr r2, SPRN_CTRLF | ||
| 320 | clrrdi r2, r2, 1 | ||
| 321 | mtspr SPRN_CTRLT, r2 | ||
| 322 | |||
| 318 | li r3, LPCR_PECE0 | 323 | li r3, LPCR_PECE0 |
| 319 | mfspr r4, SPRN_LPCR | 324 | mfspr r4, SPRN_LPCR |
| 320 | rlwimi r4, r3, 0, LPCR_PECE0 | LPCR_PECE1 | 325 | rlwimi r4, r3, 0, LPCR_PECE0 | LPCR_PECE1 |
| @@ -2005,8 +2010,13 @@ END_FTR_SECTION_IFCLR(CPU_FTR_ARCH_206) | |||
| 2005 | 2010 | ||
| 2006 | /* | 2011 | /* |
| 2007 | * Take a nap until a decrementer or external or doobell interrupt | 2012 | * Take a nap until a decrementer or external or doobell interrupt |
| 2008 | * occurs, with PECE1, PECE0 and PECEDP set in LPCR | 2013 | * occurs, with PECE1, PECE0 and PECEDP set in LPCR. Also clear the |
| 2014 | * runlatch bit before napping. | ||
| 2009 | */ | 2015 | */ |
| 2016 | mfspr r2, SPRN_CTRLF | ||
| 2017 | clrrdi r2, r2, 1 | ||
| 2018 | mtspr SPRN_CTRLT, r2 | ||
| 2019 | |||
| 2010 | li r0,1 | 2020 | li r0,1 |
| 2011 | stb r0,HSTATE_HWTHREAD_REQ(r13) | 2021 | stb r0,HSTATE_HWTHREAD_REQ(r13) |
| 2012 | mfspr r5,SPRN_LPCR | 2022 | mfspr r5,SPRN_LPCR |
