xref: /netbsd-src/lib/libc/arch/sh3/sys/getcontext.S (revision ce099b40997c43048fb78bd578195f81d2456523)
1*ce099b40Smartin/*	$NetBSD: getcontext.S,v 1.3 2008/04/28 20:22:57 martin Exp $	*/
23fdac2b8Sthorpej
33fdac2b8Sthorpej/*-
43fdac2b8Sthorpej * Copyright (c) 2001 The NetBSD Foundation, Inc.
53fdac2b8Sthorpej * All rights reserved.
63fdac2b8Sthorpej *
73fdac2b8Sthorpej * This code is derived from software contributed to The NetBSD Foundation
83fdac2b8Sthorpej * by Klaus Klein.
93fdac2b8Sthorpej *
103fdac2b8Sthorpej * Redistribution and use in source and binary forms, with or without
113fdac2b8Sthorpej * modification, are permitted provided that the following conditions
123fdac2b8Sthorpej * are met:
133fdac2b8Sthorpej * 1. Redistributions of source code must retain the above copyright
143fdac2b8Sthorpej *    notice, this list of conditions and the following disclaimer.
153fdac2b8Sthorpej * 2. Redistributions in binary form must reproduce the above copyright
163fdac2b8Sthorpej *    notice, this list of conditions and the following disclaimer in the
173fdac2b8Sthorpej *    documentation and/or other materials provided with the distribution.
183fdac2b8Sthorpej *
193fdac2b8Sthorpej * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
203fdac2b8Sthorpej * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
213fdac2b8Sthorpej * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
223fdac2b8Sthorpej * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
233fdac2b8Sthorpej * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
243fdac2b8Sthorpej * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
253fdac2b8Sthorpej * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
263fdac2b8Sthorpej * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
273fdac2b8Sthorpej * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
283fdac2b8Sthorpej * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
293fdac2b8Sthorpej * POSSIBILITY OF SUCH DAMAGE.
303fdac2b8Sthorpej */
313fdac2b8Sthorpej
323fdac2b8Sthorpej#include <machine/asm.h>
333fdac2b8Sthorpej#if defined(SYSLIBC_SCCS) && !defined(lint)
34*ce099b40Smartin	RCSID("$NetBSD: getcontext.S,v 1.3 2008/04/28 20:22:57 martin Exp $")
353fdac2b8Sthorpej#endif /* SYSLIBC_SCCS and not lint */
363fdac2b8Sthorpej
373fdac2b8Sthorpej#include "SYS.h"
383fdac2b8Sthorpej
393fdac2b8Sthorpej#ifdef WEAK_ALIAS
403fdac2b8SthorpejWEAK_ALIAS(getcontext,_getcontext)
413fdac2b8Sthorpej#endif
423fdac2b8Sthorpej
433fdac2b8Sthorpej_SYSCALL(_getcontext,getcontext)
443fdac2b8Sthorpej	sts	pr, r2
453fdac2b8Sthorpej	mov.l	r2, @(36 + 1 * 4, r4)	/* saved pc <- pr */
463fdac2b8Sthorpej	add	#36 + 20 * 4, r4
473fdac2b8Sthorpej	rts
483fdac2b8Sthorpej	 mov.l	r0, @r4			/* arrange for return value 0 */
49