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
31#pragma ident	"@(#)regs.d.in	1.1	04/09/28 SMI"
32
33inline int R_GS = 0;
34#pragma D binding "1.0" R_GS
35inline int R_FS = 1;
36#pragma D binding "1.0" R_FS
37inline int R_ES = 2;
38#pragma D binding "1.0" R_ES
39inline int R_DS = 3;
40#pragma D binding "1.0" R_DS
41
42inline int R_EDI = 4;
43#pragma D binding "1.0" R_EDI
44inline int R_ESI = 5;
45#pragma D binding "1.0" R_ESI
46inline int R_EBP = 6;
47#pragma D binding "1.0" R_EBP
48inline int R_ESP = 7;
49#pragma D binding "1.0" R_ESP
50inline int R_EBX = 8;
51#pragma D binding "1.0" R_EBX
52inline int R_EDX = 9;
53#pragma D binding "1.0" R_EDX
54inline int R_ECX = 10;
55#pragma D binding "1.0" R_ECX
56inline int R_EAX = 11;
57#pragma D binding "1.0" R_EAX
58
59inline int R_TRAPNO = 12;
60#pragma D binding "1.0" R_TRAPNO
61inline int R_ERR = 13;
62#pragma D binding "1.0" R_ERR
63inline int R_EIP = 14;
64#pragma D binding "1.0" R_EIP
65inline int R_CS = 15;
66#pragma D binding "1.0" R_CS
67inline int R_EFL = 16;
68#pragma D binding "1.0" R_EFL
69inline int R_UESP = 17;
70#pragma D binding "1.0" R_UESP
71inline int R_SS = 18;
72#pragma D binding "1.0" R_SS
73
74inline int R_PC = R_EIP;
75#pragma D binding "1.0" R_PC
76inline int R_SP = R_UESP;
77#pragma D binding "1.0" R_SP
78inline int R_PS = R_EFL;
79#pragma D binding "1.0" R_PS
80inline int R_R0 = R_EAX;
81#pragma D binding "1.0" R_R0
82inline int R_R1 = R_EBX;
83#pragma D binding "1.0" R_R1
84
85inline int R_RSP = 18 + 1 + 20;
86#pragma D binding "1.0" R_RSP
87inline int R_RFL = 18 + 1 + 19;
88#pragma D binding "1.0" R_RFL
89inline int R_RIP = 18 + 1 + 17;
90#pragma D binding "1.0" R_RIP
91inline int R_RAX = 18 + 1 + 14;
92#pragma D binding "1.0" R_RAX
93inline int R_RCX = 18 + 1 + 13;
94#pragma D binding "1.0" R_RCX
95inline int R_RDX = 18 + 1 + 12;
96#pragma D binding "1.0" R_RDX
97inline int R_RBX = 18 + 1 + 11;
98#pragma D binding "1.0" R_RBX
99inline int R_RBP = 18 + 1 + 10;
100#pragma D binding "1.0" R_RBP
101inline int R_RSI = 18 + 1 + 9;
102#pragma D binding "1.0" R_RSI
103inline int R_RDI = 18 + 1 + 8;
104#pragma D binding "1.0" R_RDI
105inline int R_R8 = 18 + 1 + 7;
106#pragma D binding "1.0" R_R8
107inline int R_R9 = 18 + 1 + 6;
108#pragma D binding "1.0" R_R9
109inline int R_R10 = 18 + 1 + 5;
110#pragma D binding "1.0" R_R10
111inline int R_R11 = 18 + 1 + 4;
112#pragma D binding "1.0" R_R11
113inline int R_R12 = 18 + 1 + 3;
114#pragma D binding "1.0" R_R12
115inline int R_R13 = 18 + 1 + 2;
116#pragma D binding "1.0" R_R13
117inline int R_R14 = 18 + 1 + 1;
118#pragma D binding "1.0" R_R14
119inline int R_R15 = 18 + 1 + 0;
120#pragma D binding "1.0" R_R15
121
122