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 * Portions Copyright 2009 Stacey Son sson@FreeBSD.org
23 *
24 * $FreeBSD$
25 */
26/*
27 * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
28 * Use is subject to license terms.
29 */
30
31inline int R_GS = 0;
32#pragma D binding "1.0" R_GS
33inline int R_FS = 1;
34#pragma D binding "1.0" R_FS
35inline int R_ES = 2;
36#pragma D binding "1.0" R_ES
37inline int R_DS = 3;
38#pragma D binding "1.0" R_DS
39
40inline int R_EDI = 4;
41#pragma D binding "1.0" R_EDI
42inline int R_ESI = 5;
43#pragma D binding "1.0" R_ESI
44inline int R_EBP = 6;
45#pragma D binding "1.0" R_EBP
46inline int R_ESP = 7;
47#pragma D binding "1.0" R_ESP
48inline int R_EBX = 8;
49#pragma D binding "1.0" R_EBX
50inline int R_EDX = 9;
51#pragma D binding "1.0" R_EDX
52inline int R_ECX = 10;
53#pragma D binding "1.0" R_ECX
54inline int R_EAX = 11;
55#pragma D binding "1.0" R_EAX
56
57inline int R_TRAPNO = 12;
58#pragma D binding "1.0" R_TRAPNO
59inline int R_ERR = 13;
60#pragma D binding "1.0" R_ERR
61inline int R_EIP = 14;
62#pragma D binding "1.0" R_EIP
63inline int R_CS = 15;
64#pragma D binding "1.0" R_CS
65inline int R_EFL = 16;
66#pragma D binding "1.0" R_EFL
67inline int R_UESP = 17;
68#pragma D binding "1.0" R_UESP
69inline int R_SS = 18;
70#pragma D binding "1.0" R_SS
71
72inline int R_PC = R_EIP;
73#pragma D binding "1.0" R_PC
74inline int R_SP = R_UESP;
75#pragma D binding "1.0" R_SP
76inline int R_PS = R_EFL;
77#pragma D binding "1.0" R_PS
78inline int R_R0 = R_EAX;
79#pragma D binding "1.0" R_R0
80inline int R_R1 = R_EBX;
81#pragma D binding "1.0" R_R1
82
83inline int R_RSP = 18 + 1 + 20;
84#pragma D binding "1.0" R_RSP
85inline int R_RFL = 18 + 1 + 19;
86#pragma D binding "1.0" R_RFL
87inline int R_RIP = 18 + 1 + 17;
88#pragma D binding "1.0" R_RIP
89inline int R_RAX = 18 + 1 + 14;
90#pragma D binding "1.0" R_RAX
91inline int R_RCX = 18 + 1 + 13;
92#pragma D binding "1.0" R_RCX
93inline int R_RDX = 18 + 1 + 12;
94#pragma D binding "1.0" R_RDX
95inline int R_RBX = 18 + 1 + 11;
96#pragma D binding "1.0" R_RBX
97inline int R_RBP = 18 + 1 + 10;
98#pragma D binding "1.0" R_RBP
99inline int R_RSI = 18 + 1 + 9;
100#pragma D binding "1.0" R_RSI
101inline int R_RDI = 18 + 1 + 8;
102#pragma D binding "1.0" R_RDI
103inline int R_R8 = 18 + 1 + 7;
104#pragma D binding "1.0" R_R8
105inline int R_R9 = 18 + 1 + 6;
106#pragma D binding "1.0" R_R9
107inline int R_R10 = 18 + 1 + 5;
108#pragma D binding "1.0" R_R10
109inline int R_R11 = 18 + 1 + 4;
110#pragma D binding "1.0" R_R11
111inline int R_R12 = 18 + 1 + 3;
112#pragma D binding "1.0" R_R12
113inline int R_R13 = 18 + 1 + 2;
114#pragma D binding "1.0" R_R13
115inline int R_R14 = 18 + 1 + 1;
116#pragma D binding "1.0" R_R14
117inline int R_R15 = 18 + 1 + 0;
118#pragma D binding "1.0" R_R15
119