diff options
Diffstat (limited to 'arch/powerpc/kvm/book3s_rmhandlers.S')
-rw-r--r-- | arch/powerpc/kvm/book3s_rmhandlers.S | 47 |
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 | |||
211 | define_load_up(fpu) | ||
212 | #ifdef CONFIG_ALTIVEC | ||
213 | define_load_up(altivec) | ||
214 | #endif | ||
215 | |||
216 | #include "book3s_segment.S" | 169 | #include "book3s_segment.S" |