aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
authorDavid Daney <david.daney@cavium.com>2013-08-01 16:22:34 -0400
committerGleb Natapov <gleb@redhat.com>2013-08-26 05:30:39 -0400
commitbb48c2fc6429314fa607106ccb901552484c6663 (patch)
treeed502ef5d7af068ac504210dd675865ff2899766 /arch/mips
parent2c07ebbd2c5951e389d86ae30c75732682e313d4 (diff)
mips/kvm: Cleanup .push/.pop directives in kvm_locore.S
There are: .set push .set noreorder .set noat . . . .set pop Sequences all over the place in this file, but in some places the final ".set pop" is erroneously converted to ".set push", so none of these really do what they appear to. Clean up the whole mess by moving ".set noreorder", ".set noat" to the top, and get rid of everything else. Generated object code is unchanged. Signed-off-by: David Daney <david.daney@cavium.com> Acked-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Gleb Natapov <gleb@redhat.com>
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/kvm/kvm_locore.S14
1 files changed, 1 insertions, 13 deletions
diff --git a/arch/mips/kvm/kvm_locore.S b/arch/mips/kvm/kvm_locore.S
index 301b9ad1a905..ace372b0e3d1 100644
--- a/arch/mips/kvm/kvm_locore.S
+++ b/arch/mips/kvm/kvm_locore.S
@@ -55,12 +55,10 @@
55 * a0: run 55 * a0: run
56 * a1: vcpu 56 * a1: vcpu
57 */ 57 */
58
59FEXPORT(__kvm_mips_vcpu_run)
60 .set push
61 .set noreorder 58 .set noreorder
62 .set noat 59 .set noat
63 60
61FEXPORT(__kvm_mips_vcpu_run)
64 /* k0/k1 not being used in host kernel context */ 62 /* k0/k1 not being used in host kernel context */
65 addiu k1, sp, -PT_SIZE 63 addiu k1, sp, -PT_SIZE
66 LONG_S $0, PT_R0(k1) 64 LONG_S $0, PT_R0(k1)
@@ -229,15 +227,11 @@ FEXPORT(__kvm_mips_load_k0k1)
229 227
230 /* Jump to guest */ 228 /* Jump to guest */
231 eret 229 eret
232 .set pop
233 230
234VECTOR(MIPSX(exception), unknown) 231VECTOR(MIPSX(exception), unknown)
235/* 232/*
236 * Find out what mode we came from and jump to the proper handler. 233 * Find out what mode we came from and jump to the proper handler.
237 */ 234 */
238 .set push
239 .set noat
240 .set noreorder
241 mtc0 k0, CP0_ERROREPC #01: Save guest k0 235 mtc0 k0, CP0_ERROREPC #01: Save guest k0
242 ehb #02: 236 ehb #02:
243 237
@@ -248,7 +242,6 @@ VECTOR(MIPSX(exception), unknown)
248 addiu k0, k0, 0x2000 #06: Exception handler is installed @ offset 0x2000 242 addiu k0, k0, 0x2000 #06: Exception handler is installed @ offset 0x2000
249 j k0 #07: jump to the function 243 j k0 #07: jump to the function
250 nop #08: branch delay slot 244 nop #08: branch delay slot
251 .set push
252VECTOR_END(MIPSX(exceptionEnd)) 245VECTOR_END(MIPSX(exceptionEnd))
253.end MIPSX(exception) 246.end MIPSX(exception)
254 247
@@ -258,10 +251,6 @@ VECTOR_END(MIPSX(exceptionEnd))
258 * 251 *
259 */ 252 */
260NESTED (MIPSX(GuestException), CALLFRAME_SIZ, ra) 253NESTED (MIPSX(GuestException), CALLFRAME_SIZ, ra)
261 .set push
262 .set noat
263 .set noreorder
264
265 /* Get the VCPU pointer from DDTATA_LO */ 254 /* Get the VCPU pointer from DDTATA_LO */
266 mfc0 k1, CP0_DDATA_LO 255 mfc0 k1, CP0_DDATA_LO
267 addiu k1, k1, VCPU_HOST_ARCH 256 addiu k1, k1, VCPU_HOST_ARCH
@@ -583,7 +572,6 @@ __kvm_mips_return_to_host:
583 j ra 572 j ra
584 nop 573 nop
585 574
586 .set pop
587VECTOR_END(MIPSX(GuestExceptionEnd)) 575VECTOR_END(MIPSX(GuestExceptionEnd))
588.end MIPSX(GuestException) 576.end MIPSX(GuestException)
589 577