| .. | .. |
|---|
| 86 | 86 | * during system calls... |
|---|
| 87 | 87 | */ |
|---|
| 88 | 88 | .align 32 |
|---|
| 89 | | -sys_vfork: /* Under Linux, vfork and fork are just special cases of clone. */ |
|---|
| 90 | | - sethi %hi(0x4000 | 0x0100 | SIGCHLD), %o0 |
|---|
| 91 | | - or %o0, %lo(0x4000 | 0x0100 | SIGCHLD), %o0 |
|---|
| 92 | | - ba,pt %xcc, sys_clone |
|---|
| 89 | +sys_vfork: |
|---|
| 90 | + flushw |
|---|
| 91 | + ba,pt %xcc, sparc_vfork |
|---|
| 92 | + add %sp, PTREGS_OFF, %o0 |
|---|
| 93 | + |
|---|
| 94 | + .align 32 |
|---|
| 93 | 95 | sys_fork: |
|---|
| 94 | | - clr %o1 |
|---|
| 95 | | - mov SIGCHLD, %o0 |
|---|
| 96 | + flushw |
|---|
| 97 | + ba,pt %xcc, sparc_fork |
|---|
| 98 | + add %sp, PTREGS_OFF, %o0 |
|---|
| 99 | + |
|---|
| 100 | + .align 32 |
|---|
| 96 | 101 | sys_clone: |
|---|
| 97 | 102 | flushw |
|---|
| 98 | | - movrz %o1, %fp, %o1 |
|---|
| 99 | | - mov 0, %o3 |
|---|
| 100 | | - ba,pt %xcc, sparc_do_fork |
|---|
| 101 | | - add %sp, PTREGS_OFF, %o2 |
|---|
| 103 | + ba,pt %xcc, sparc_clone |
|---|
| 104 | + add %sp, PTREGS_OFF, %o0 |
|---|
| 102 | 105 | |
|---|
| 103 | 106 | .globl ret_from_fork |
|---|
| 104 | 107 | ret_from_fork: |
|---|