about summary refs log tree commit diff
path: root/src/thread/m68k/clone.s
blob: f6dfa06f49daef59a7e49b2e6525ec5e800fb5c5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
.text
.global __clone
.hidden __clone
.type   __clone,@function
__clone:
	movem.l %d2-%d5,-(%sp)
	move.l #120,%d0
	move.l 28(%sp),%d1
	move.l 24(%sp),%d2
	and.l #-16,%d2
	move.l 36(%sp),%d3
	move.l 44(%sp),%d4
	move.l 40(%sp),%d5
	move.l 20(%sp),%a0
	move.l 32(%sp),%a1
	trap #0
	tst.l %d0
	beq 1f
	movem.l (%sp)+,%d2-%d5
	rts
1:	move.l %a1,-(%sp)
	jsr (%a0)
	move.l #1,%d0
	trap #0
	clr.b 0