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