aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/kvm/bookehv_interrupts.S26
1 files changed, 1 insertions, 25 deletions
diff --git a/arch/powerpc/kvm/bookehv_interrupts.S b/arch/powerpc/kvm/bookehv_interrupts.S
index a1712b818a5f..6ff448046301 100644
--- a/arch/powerpc/kvm/bookehv_interrupts.S
+++ b/arch/powerpc/kvm/bookehv_interrupts.S
@@ -29,7 +29,6 @@
29#include <asm/asm-compat.h> 29#include <asm/asm-compat.h>
30#include <asm/asm-offsets.h> 30#include <asm/asm-offsets.h>
31#include <asm/bitsperlong.h> 31#include <asm/bitsperlong.h>
32#include <asm/thread_info.h>
33 32
34#ifdef CONFIG_64BIT 33#ifdef CONFIG_64BIT
35#include <asm/exception-64e.h> 34#include <asm/exception-64e.h>
@@ -164,32 +163,9 @@
164 PPC_STL r30, VCPU_GPR(R30)(r4) 163 PPC_STL r30, VCPU_GPR(R30)(r4)
165 PPC_STL r31, VCPU_GPR(R31)(r4) 164 PPC_STL r31, VCPU_GPR(R31)(r4)
166 mtspr SPRN_EPLC, r8 165 mtspr SPRN_EPLC, r8
167
168 /* disable preemption, so we are sure we hit the fixup handler */
169 CURRENT_THREAD_INFO(r8, r1)
170 li r7, 1
171 stw r7, TI_PREEMPT(r8)
172
173 isync 166 isync
174 167 lwepx r9, 0, r5
175 /*
176 * In case the read goes wrong, we catch it and write an invalid value
177 * in LAST_INST instead.
178 */
1791: lwepx r9, 0, r5
1802:
181.section .fixup, "ax"
1823: li r9, KVM_INST_FETCH_FAILED
183 b 2b
184.previous
185.section __ex_table,"a"
186 PPC_LONG_ALIGN
187 PPC_LONG 1b,3b
188.previous
189
190 mtspr SPRN_EPLC, r3 168 mtspr SPRN_EPLC, r3
191 li r7, 0
192 stw r7, TI_PREEMPT(r8)
193 stw r9, VCPU_LAST_INST(r4) 169 stw r9, VCPU_LAST_INST(r4)
194 .endif 170 .endif
195 171