diff options
author | David Daney <david.daney@cavium.com> | 2013-08-01 16:22:34 -0400 |
---|---|---|
committer | Gleb Natapov <gleb@redhat.com> | 2013-08-26 05:30:39 -0400 |
commit | bb48c2fc6429314fa607106ccb901552484c6663 (patch) | |
tree | ed502ef5d7af068ac504210dd675865ff2899766 /arch/mips | |
parent | 2c07ebbd2c5951e389d86ae30c75732682e313d4 (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.S | 14 |
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 | |||
59 | FEXPORT(__kvm_mips_vcpu_run) | ||
60 | .set push | ||
61 | .set noreorder | 58 | .set noreorder |
62 | .set noat | 59 | .set noat |
63 | 60 | ||
61 | FEXPORT(__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 | ||
234 | VECTOR(MIPSX(exception), unknown) | 231 | VECTOR(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 | ||
252 | VECTOR_END(MIPSX(exceptionEnd)) | 245 | VECTOR_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 | */ |
260 | NESTED (MIPSX(GuestException), CALLFRAME_SIZ, ra) | 253 | NESTED (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 | ||
587 | VECTOR_END(MIPSX(GuestExceptionEnd)) | 575 | VECTOR_END(MIPSX(GuestExceptionEnd)) |
588 | .end MIPSX(GuestException) | 576 | .end MIPSX(GuestException) |
589 | 577 | ||