svn commit: r265278 - stable/9/sys/cddl/dev/dtrace/x86
Mark Johnston
markj at FreeBSD.org
Sat May 3 16:24:42 UTC 2014
Author: markj
Date: Sat May 3 16:24:41 2014
New Revision: 265278
URL: http://svnweb.freebsd.org/changeset/base/265278
Log:
MFC r262543:
Fix the struct reg mappings for i386 and amd64, which differ between illumos
and FreeBSD.
Modified:
stable/9/sys/cddl/dev/dtrace/x86/regset.h
Directory Properties:
stable/9/sys/ (props changed)
Modified: stable/9/sys/cddl/dev/dtrace/x86/regset.h
==============================================================================
--- stable/9/sys/cddl/dev/dtrace/x86/regset.h Sat May 3 16:24:18 2014 (r265277)
+++ stable/9/sys/cddl/dev/dtrace/x86/regset.h Sat May 3 16:24:41 2014 (r265278)
@@ -61,6 +61,7 @@ extern "C" {
#define REG_GSBASE 27
#define REG_FSBASE 26
+#if defined(sun)
#define REG_DS 25
#define REG_ES 24
@@ -88,11 +89,40 @@ extern "C" {
#define REG_R13 2
#define REG_R14 1
#define REG_R15 0
+#else
+#define REG_SS 25
+#define REG_RSP 24
+#define REG_RFL 23
+#define REG_CS 22
+#define REG_RIP 21
+#define REG_DS 20
+#define REG_ES 19
+#define REG_ERR 18
+#define REG_GS 17
+#define REG_FS 16
+#define REG_TRAPNO 15
+#define REG_RAX 14
+#define REG_RCX 13
+#define REG_RDX 12
+#define REG_RBX 11
+#define REG_RBP 10
+#define REG_RSI 9
+#define REG_RDI 8
+#define REG_R8 7
+#define REG_R9 6
+#define REG_R10 5
+#define REG_R11 4
+#define REG_R12 3
+#define REG_R13 2
+#define REG_R14 1
+#define REG_R15 0
+#endif
/*
* The names and offsets defined here are specified by i386 ABI suppl.
*/
+#if defined(sun)
#define SS 18 /* only stored on a privilege transition */
#define UESP 17 /* only stored on a privilege transition */
#define EFL 16
@@ -112,6 +142,27 @@ extern "C" {
#define ES 2
#define FS 1
#define GS 0
+#else
+#define GS 18
+#define SS 17 /* only stored on a privilege transition */
+#define UESP 16 /* only stored on a privilege transition */
+#define EFL 15
+#define CS 14
+#define EIP 13
+#define ERR 12
+#define TRAPNO 11
+#define EAX 10
+#define ECX 9
+#define EDX 8
+#define EBX 7
+#define ESP 6
+#define EBP 5
+#define ESI 4
+#define EDI 3
+#define DS 2
+#define ES 1
+#define FS 0
+#endif
#define REG_PC EIP
#define REG_FP EBP
More information about the svn-src-stable-9
mailing list