summaryrefslogtreecommitdiff
path: root/lib/librthread/arch/sh
diff options
context:
space:
mode:
authorPhilip Guenthe <guenther@cvs.openbsd.org>2012-03-22 01:10:49 +0000
committerPhilip Guenthe <guenther@cvs.openbsd.org>2012-03-22 01:10:49 +0000
commit5e512e21e744a8ded6342b83ce1efafb3dae1598 (patch)
tree66396110801f5b874064a8075f2342d4c1508095 /lib/librthread/arch/sh
parent96feab4382d7262087879bf0625f9d9383b270cf (diff)
tfork_thread has been moved to libc
Diffstat (limited to 'lib/librthread/arch/sh')
-rw-r--r--lib/librthread/arch/sh/rfork_thread.S61
1 files changed, 0 insertions, 61 deletions
diff --git a/lib/librthread/arch/sh/rfork_thread.S b/lib/librthread/arch/sh/rfork_thread.S
deleted file mode 100644
index 51100162285..00000000000
--- a/lib/librthread/arch/sh/rfork_thread.S
+++ /dev/null
@@ -1,61 +0,0 @@
-/* $OpenBSD: rfork_thread.S,v 1.3 2012/01/17 02:34:18 guenther Exp $ */
-
-/*
- * Copyright (c) 2007 Miodrag Vallat.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice, this permission notice, and the disclaimer below
- * appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include "../../../libc/arch/sh/SYS.h"
-
-/*
- * int __tfork_thread(const struct __tfork *param, void *stack, void (*func)(void *), void *arg);
- * r4 r5 r6 r7
- */
-ENTRY(__tfork_thread)
- mov.l .LSYS___tfork, r0
- .word 0xc380 /* trapa #0x80 */
- bf 9f
-
- tst r0, r0
- bt 1f
-
- /*
- * In parent process: just return.
- */
- rts
- nop
-
-1:
- /*
- * In child process: switch stack, invoke function, then exit.
- */
- mov r5, sp
- jsr @r6
- mov r7, r4
-
- mov.l .LSYS___threxit, r0
- .word 0xc380 /* trapa #0x80 */
-
-9:
- /*
- * System call failure.
- */
- JUMP_CERROR
-
- .align 2
-.LSYS___tfork: .long SYS___tfork
-.LSYS___threxit: .long SYS___threxit
-
- SET_ENTRY_SIZE(__tfork_thread)