aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm/book3s_rmhandlers.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kvm/book3s_rmhandlers.S')
-rw-r--r--arch/powerpc/kvm/book3s_rmhandlers.S47
1 files changed, 0 insertions, 47 deletions
diff --git a/arch/powerpc/kvm/book3s_rmhandlers.S b/arch/powerpc/kvm/book3s_rmhandlers.S
index a38c4c9edab8..c78ffbc371a5 100644
--- a/arch/powerpc/kvm/book3s_rmhandlers.S
+++ b/arch/powerpc/kvm/book3s_rmhandlers.S
@@ -166,51 +166,4 @@ _GLOBAL(kvmppc_entry_trampoline)
166 mtsrr1 r6 166 mtsrr1 r6
167 RFI 167 RFI
168 168
169#if defined(CONFIG_PPC_BOOK3S_32)
170#define STACK_LR INT_FRAME_SIZE+4
171
172/* load_up_xxx have to run with MSR_DR=0 on Book3S_32 */
173#define MSR_EXT_START \
174 PPC_STL r20, _NIP(r1); \
175 mfmsr r20; \
176 LOAD_REG_IMMEDIATE(r3, MSR_DR|MSR_EE); \
177 andc r3,r20,r3; /* Disable DR,EE */ \
178 mtmsr r3; \
179 sync
180
181#define MSR_EXT_END \
182 mtmsr r20; /* Enable DR,EE */ \
183 sync; \
184 PPC_LL r20, _NIP(r1)
185
186#elif defined(CONFIG_PPC_BOOK3S_64)
187#define STACK_LR _LINK
188#define MSR_EXT_START
189#define MSR_EXT_END
190#endif
191
192/*
193 * Activate current's external feature (FPU/Altivec/VSX)
194 */
195#define define_load_up(what) \
196 \
197_GLOBAL(kvmppc_load_up_ ## what); \
198 PPC_STLU r1, -INT_FRAME_SIZE(r1); \
199 mflr r3; \
200 PPC_STL r3, STACK_LR(r1); \
201 MSR_EXT_START; \
202 \
203 bl FUNC(load_up_ ## what); \
204 \
205 MSR_EXT_END; \
206 PPC_LL r3, STACK_LR(r1); \
207 mtlr r3; \
208 addi r1, r1, INT_FRAME_SIZE; \
209 blr
210
211define_load_up(fpu)
212#ifdef CONFIG_ALTIVEC
213define_load_up(altivec)
214#endif
215
216#include "book3s_segment.S" 169#include "book3s_segment.S"