diff options
-rw-r--r-- | arch/powerpc/kvm/book3s_64_rmhandlers.S | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/arch/powerpc/kvm/book3s_64_rmhandlers.S b/arch/powerpc/kvm/book3s_64_rmhandlers.S index c83c60ad96c5..bd08535fcdc8 100644 --- a/arch/powerpc/kvm/book3s_64_rmhandlers.S +++ b/arch/powerpc/kvm/book3s_64_rmhandlers.S | |||
@@ -164,24 +164,15 @@ _GLOBAL(kvmppc_rmcall) | |||
164 | #define define_load_up(what) \ | 164 | #define define_load_up(what) \ |
165 | \ | 165 | \ |
166 | _GLOBAL(kvmppc_load_up_ ## what); \ | 166 | _GLOBAL(kvmppc_load_up_ ## what); \ |
167 | subi r1, r1, INT_FRAME_SIZE; \ | 167 | stdu r1, -INT_FRAME_SIZE(r1); \ |
168 | mflr r3; \ | 168 | mflr r3; \ |
169 | std r3, _LINK(r1); \ | 169 | std r3, _LINK(r1); \ |
170 | mfmsr r4; \ | ||
171 | std r31, GPR3(r1); \ | ||
172 | mr r31, r4; \ | ||
173 | li r5, MSR_DR; \ | ||
174 | oris r5, r5, MSR_EE@h; \ | ||
175 | andc r4, r4, r5; \ | ||
176 | mtmsr r4; \ | ||
177 | \ | 170 | \ |
178 | bl .load_up_ ## what; \ | 171 | bl .load_up_ ## what; \ |
179 | \ | 172 | \ |
180 | mtmsr r31; \ | ||
181 | ld r3, _LINK(r1); \ | 173 | ld r3, _LINK(r1); \ |
182 | ld r31, GPR3(r1); \ | ||
183 | addi r1, r1, INT_FRAME_SIZE; \ | ||
184 | mtlr r3; \ | 174 | mtlr r3; \ |
175 | addi r1, r1, INT_FRAME_SIZE; \ | ||
185 | blr | 176 | blr |
186 | 177 | ||
187 | define_load_up(fpu) | 178 | define_load_up(fpu) |