1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License").  You may not use this file except in compliance
7 * with the License.
8 *
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
13 *
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 */
22/*
23 * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
24 * Use is subject to license terms.
25 *
26 * Return the pc of the calling routine.
27 */
28#pragma ident	"%Z%%M%	%I%	%E% SMI"
29
30#if	defined(lint)
31
32#include	<sys/types.h>
33
34caddr_t
35caller()
36{
37	return (0);
38}
39
40/* ARGSUSED */
41void
42set_sparc_g1(ulong_t val)
43{
44	return;
45}
46
47/* ARGSUSED */
48void
49set_sparc_g2(ulong_t val)
50{
51	return;
52}
53
54/* ARGSUSED */
55void
56set_sparc_g3(ulong_t val)
57{
58	return;
59}
60
61/* ARGSUSED */
62void
63set_sparc_g4(ulong_t val)
64{
65	return;
66}
67
68/* ARGSUSED */
69void
70set_sparc_g5(ulong_t val)
71{
72	return;
73}
74
75/* ARGSUSED */
76void
77set_sparc_g6(ulong_t val)
78{
79	return;
80}
81
82/* ARGSUSED */
83void
84set_sparc_g7(ulong_t val)
85{
86	return;
87}
88
89#else
90
91#include	<sys/asm_linkage.h>
92
93	.file	"caller.s"
94
95	ENTRY(caller)
96	retl
97	mov	%i7, %o0
98	SET_SIZE(caller)
99
100	ENTRY(set_sparc_g1)
101	retl
102	mov	%o0, %g1
103	SET_SIZE(set_sparc_g1)
104
105	ENTRY(set_sparc_g2)
106	retl
107	mov	%o0, %g2
108	SET_SIZE(set_sparc_g2)
109
110	ENTRY(set_sparc_g3)
111	retl
112	mov	%o0, %g3
113	SET_SIZE(set_sparc_g3)
114
115	ENTRY(set_sparc_g4)
116	retl
117	mov	%o0, %g4
118	SET_SIZE(set_sparc_g4)
119
120	ENTRY(set_sparc_g5)
121	retl
122	mov	%o0, %g5
123	SET_SIZE(set_sparc_g5)
124
125	ENTRY(set_sparc_g6)
126	retl
127	mov	%o0, %g6
128	SET_SIZE(set_sparc_g6)
129
130	ENTRY(set_sparc_g7)
131	retl
132	mov	%o0, %g7
133	SET_SIZE(set_sparc_g7)
134#endif
135