diff options
Diffstat (limited to 'arch/mips/include/asm/uaccess.h')
-rw-r--r-- | arch/mips/include/asm/uaccess.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/arch/mips/include/asm/uaccess.h b/arch/mips/include/asm/uaccess.h index b46caab453a5..f3fa3750f577 100644 --- a/arch/mips/include/asm/uaccess.h +++ b/arch/mips/include/asm/uaccess.h | |||
@@ -270,6 +270,7 @@ do { \ | |||
270 | __asm__ __volatile__( \ | 270 | __asm__ __volatile__( \ |
271 | "1: " insn " %1, %3 \n" \ | 271 | "1: " insn " %1, %3 \n" \ |
272 | "2: \n" \ | 272 | "2: \n" \ |
273 | " .insn \n" \ | ||
273 | " .section .fixup,\"ax\" \n" \ | 274 | " .section .fixup,\"ax\" \n" \ |
274 | "3: li %0, %4 \n" \ | 275 | "3: li %0, %4 \n" \ |
275 | " j 2b \n" \ | 276 | " j 2b \n" \ |
@@ -296,7 +297,9 @@ do { \ | |||
296 | __asm__ __volatile__( \ | 297 | __asm__ __volatile__( \ |
297 | "1: lw %1, (%3) \n" \ | 298 | "1: lw %1, (%3) \n" \ |
298 | "2: lw %D1, 4(%3) \n" \ | 299 | "2: lw %D1, 4(%3) \n" \ |
299 | "3: .section .fixup,\"ax\" \n" \ | 300 | "3: \n" \ |
301 | " .insn \n" \ | ||
302 | " .section .fixup,\"ax\" \n" \ | ||
300 | "4: li %0, %4 \n" \ | 303 | "4: li %0, %4 \n" \ |
301 | " move %1, $0 \n" \ | 304 | " move %1, $0 \n" \ |
302 | " move %D1, $0 \n" \ | 305 | " move %D1, $0 \n" \ |
@@ -364,6 +367,7 @@ do { \ | |||
364 | __asm__ __volatile__( \ | 367 | __asm__ __volatile__( \ |
365 | "1: " insn " %z2, %3 # __put_user_asm\n" \ | 368 | "1: " insn " %z2, %3 # __put_user_asm\n" \ |
366 | "2: \n" \ | 369 | "2: \n" \ |
370 | " .insn \n" \ | ||
367 | " .section .fixup,\"ax\" \n" \ | 371 | " .section .fixup,\"ax\" \n" \ |
368 | "3: li %0, %4 \n" \ | 372 | "3: li %0, %4 \n" \ |
369 | " j 2b \n" \ | 373 | " j 2b \n" \ |
@@ -382,6 +386,7 @@ do { \ | |||
382 | "1: sw %2, (%3) # __put_user_asm_ll32 \n" \ | 386 | "1: sw %2, (%3) # __put_user_asm_ll32 \n" \ |
383 | "2: sw %D2, 4(%3) \n" \ | 387 | "2: sw %D2, 4(%3) \n" \ |
384 | "3: \n" \ | 388 | "3: \n" \ |
389 | " .insn \n" \ | ||
385 | " .section .fixup,\"ax\" \n" \ | 390 | " .section .fixup,\"ax\" \n" \ |
386 | "4: li %0, %4 \n" \ | 391 | "4: li %0, %4 \n" \ |
387 | " j 3b \n" \ | 392 | " j 3b \n" \ |
@@ -533,6 +538,7 @@ do { \ | |||
533 | __asm__ __volatile__( \ | 538 | __asm__ __volatile__( \ |
534 | "1: " insn " %1, %3 \n" \ | 539 | "1: " insn " %1, %3 \n" \ |
535 | "2: \n" \ | 540 | "2: \n" \ |
541 | " .insn \n" \ | ||
536 | " .section .fixup,\"ax\" \n" \ | 542 | " .section .fixup,\"ax\" \n" \ |
537 | "3: li %0, %4 \n" \ | 543 | "3: li %0, %4 \n" \ |
538 | " j 2b \n" \ | 544 | " j 2b \n" \ |
@@ -558,7 +564,9 @@ do { \ | |||
558 | "1: ulw %1, (%3) \n" \ | 564 | "1: ulw %1, (%3) \n" \ |
559 | "2: ulw %D1, 4(%3) \n" \ | 565 | "2: ulw %D1, 4(%3) \n" \ |
560 | " move %0, $0 \n" \ | 566 | " move %0, $0 \n" \ |
561 | "3: .section .fixup,\"ax\" \n" \ | 567 | "3: \n" \ |
568 | " .insn \n" \ | ||
569 | " .section .fixup,\"ax\" \n" \ | ||
562 | "4: li %0, %4 \n" \ | 570 | "4: li %0, %4 \n" \ |
563 | " move %1, $0 \n" \ | 571 | " move %1, $0 \n" \ |
564 | " move %D1, $0 \n" \ | 572 | " move %D1, $0 \n" \ |
@@ -625,6 +633,7 @@ do { \ | |||
625 | __asm__ __volatile__( \ | 633 | __asm__ __volatile__( \ |
626 | "1: " insn " %z2, %3 # __put_user_unaligned_asm\n" \ | 634 | "1: " insn " %z2, %3 # __put_user_unaligned_asm\n" \ |
627 | "2: \n" \ | 635 | "2: \n" \ |
636 | " .insn \n" \ | ||
628 | " .section .fixup,\"ax\" \n" \ | 637 | " .section .fixup,\"ax\" \n" \ |
629 | "3: li %0, %4 \n" \ | 638 | "3: li %0, %4 \n" \ |
630 | " j 2b \n" \ | 639 | " j 2b \n" \ |
@@ -643,6 +652,7 @@ do { \ | |||
643 | "1: sw %2, (%3) # __put_user_unaligned_asm_ll32 \n" \ | 652 | "1: sw %2, (%3) # __put_user_unaligned_asm_ll32 \n" \ |
644 | "2: sw %D2, 4(%3) \n" \ | 653 | "2: sw %D2, 4(%3) \n" \ |
645 | "3: \n" \ | 654 | "3: \n" \ |
655 | " .insn \n" \ | ||
646 | " .section .fixup,\"ax\" \n" \ | 656 | " .section .fixup,\"ax\" \n" \ |
647 | "4: li %0, %4 \n" \ | 657 | "4: li %0, %4 \n" \ |
648 | " j 3b \n" \ | 658 | " j 3b \n" \ |