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