regs_x86.d revision 267654
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: releng/9.3/cddl/lib/libdtrace/regs_x86.d 211554 2010-08-21 11:50:53Z rpaulo $ 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