diff options
Diffstat (limited to 'arch/alpha/kernel/entry.S')
-rw-r--r-- | arch/alpha/kernel/entry.S | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/arch/alpha/kernel/entry.S b/arch/alpha/kernel/entry.S index a7607832dd4f..c245de65c61b 100644 --- a/arch/alpha/kernel/entry.S +++ b/arch/alpha/kernel/entry.S | |||
@@ -617,7 +617,6 @@ ret_from_kernel_thread: | |||
617 | .ent sys_fork | 617 | .ent sys_fork |
618 | sys_fork: | 618 | sys_fork: |
619 | .prologue 0 | 619 | .prologue 0 |
620 | mov $sp, $21 | ||
621 | bsr $1, do_switch_stack | 620 | bsr $1, do_switch_stack |
622 | bis $31, SIGCHLD, $16 | 621 | bis $31, SIGCHLD, $16 |
623 | mov $31, $17 | 622 | mov $31, $17 |
@@ -625,7 +624,9 @@ sys_fork: | |||
625 | mov $31, $19 | 624 | mov $31, $19 |
626 | mov $31, $20 | 625 | mov $31, $20 |
627 | jsr $26, alpha_clone | 626 | jsr $26, alpha_clone |
628 | bsr $1, undo_switch_stack | 627 | fork_out: |
628 | ldq $26, 56($sp) | ||
629 | lda $sp, SWITCH_STACK_SIZE($sp) | ||
629 | ret | 630 | ret |
630 | .end sys_fork | 631 | .end sys_fork |
631 | 632 | ||
@@ -634,12 +635,10 @@ sys_fork: | |||
634 | .ent sys_clone | 635 | .ent sys_clone |
635 | sys_clone: | 636 | sys_clone: |
636 | .prologue 0 | 637 | .prologue 0 |
637 | mov $sp, $21 | ||
638 | bsr $1, do_switch_stack | 638 | bsr $1, do_switch_stack |
639 | /* $16, $17, $18, $19, $20 come from the user. */ | 639 | /* $16, $17, $18, $19, $20 come from the user. */ |
640 | jsr $26, alpha_clone | 640 | lda $26, fork_out |
641 | bsr $1, undo_switch_stack | 641 | jsr $31, alpha_clone |
642 | ret | ||
643 | .end sys_clone | 642 | .end sys_clone |
644 | 643 | ||
645 | .align 4 | 644 | .align 4 |
@@ -647,11 +646,9 @@ sys_clone: | |||
647 | .ent sys_vfork | 646 | .ent sys_vfork |
648 | sys_vfork: | 647 | sys_vfork: |
649 | .prologue 0 | 648 | .prologue 0 |
650 | mov $sp, $16 | ||
651 | bsr $1, do_switch_stack | 649 | bsr $1, do_switch_stack |
652 | jsr $26, alpha_vfork | 650 | lda $26, fork_out |
653 | bsr $1, undo_switch_stack | 651 | jsr $31, alpha_vfork |
654 | ret | ||
655 | .end sys_vfork | 652 | .end sys_vfork |
656 | 653 | ||
657 | .align 4 | 654 | .align 4 |
@@ -661,8 +658,6 @@ sys_sigreturn: | |||
661 | .prologue 0 | 658 | .prologue 0 |
662 | lda $9, ret_from_straced | 659 | lda $9, ret_from_straced |
663 | cmpult $26, $9, $9 | 660 | cmpult $26, $9, $9 |
664 | mov $sp, $17 | ||
665 | lda $18, -SWITCH_STACK_SIZE($sp) | ||
666 | lda $sp, -SWITCH_STACK_SIZE($sp) | 661 | lda $sp, -SWITCH_STACK_SIZE($sp) |
667 | jsr $26, do_sigreturn | 662 | jsr $26, do_sigreturn |
668 | bne $9, 1f | 663 | bne $9, 1f |
@@ -678,8 +673,6 @@ sys_rt_sigreturn: | |||
678 | .prologue 0 | 673 | .prologue 0 |
679 | lda $9, ret_from_straced | 674 | lda $9, ret_from_straced |
680 | cmpult $26, $9, $9 | 675 | cmpult $26, $9, $9 |
681 | mov $sp, $17 | ||
682 | lda $18, -SWITCH_STACK_SIZE($sp) | ||
683 | lda $sp, -SWITCH_STACK_SIZE($sp) | 676 | lda $sp, -SWITCH_STACK_SIZE($sp) |
684 | jsr $26, do_rt_sigreturn | 677 | jsr $26, do_rt_sigreturn |
685 | bne $9, 1f | 678 | bne $9, 1f |