summaryrefslogtreecommitdiff
path: root/usr/src/uts/i86pc/ml/mach_offsets.in
blob: b7ea0131aacbaaf2da17ba6739b8143e9153a77c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
\
\ Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
\ Use is subject to license terms.
\
\ CDDL HEADER START
\
\ The contents of this file are subject to the terms of the
\ Common Development and Distribution License (the "License").
\ You may not use this file except in compliance with the License.
\
\ You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
\ or http://www.opensolaris.org/os/licensing.
\ See the License for the specific language governing permissions
\ and limitations under the License.
\
\ When distributing Covered Code, include this CDDL HEADER in each
\ file and include the License file at usr/src/OPENSOLARIS.LICENSE.
\ If applicable, add the following below this CDDL HEADER, with the
\ fields enclosed by brackets "[]" replaced with your own identifying
\ information: Portions Copyright [yyyy] [name of copyright owner]
\
\ CDDL HEADER END
\
\ Copyright 2011 Joyent, Inc. All rights reserved.
\

\
\ offsets.in: input file to produce assym.h using the ctfstabs program
\

#ifndef	_GENASSYM
#define	_GENASSYM
#endif

#define	SIZES	1

#if defined(__xpv)
\
\ XXPV	This seems to need to be first to avoid a namespace collision
\	with another header file in the list below.
\
#include <sys/hypervisor.h>
#endif

#include <sys/types.h>
#include <sys/bootsvcs.h>
#include <sys/systm.h>
#include <sys/sysinfo.h>
#include <sys/user.h>
#include <sys/thread.h>
#include <sys/proc.h>
#include <sys/cpuvar.h>
#include <sys/tss.h>
#include <sys/privregs.h>
#include <sys/segments.h>
#include <sys/devops.h>
#include <sys/ddi_impldefs.h>
#include <vm/as.h>
#include <sys/avintr.h>
#include <sys/pic.h>
#include <sys/rm_platter.h>
#include <sys/stream.h>
#include <sys/strsubr.h>
#include <sys/sunddi.h>
#include <sys/traptrace.h>
#include <sys/ontrap.h>
#include <sys/lgrp.h>
#include <sys/dtrace.h>

regs	REGSIZE
	r_savfp	REGOFF_SAVFP
	r_savpc	REGOFF_SAVPC
	r_gs	REGOFF_GS
	r_fs	REGOFF_FS
	r_es	REGOFF_ES
	r_ds	REGOFF_DS
	r_edi	REGOFF_EDI
	r_esi	REGOFF_ESI
	r_ebp	REGOFF_EBP
	r_esp	REGOFF_ESP
	r_ebx	REGOFF_EBX
	r_edx	REGOFF_EDX
	r_ecx	REGOFF_ECX
	r_eax	REGOFF_EAX
	r_trapno	REGOFF_TRAPNO
	r_err	REGOFF_ERR
	r_eip	REGOFF_EIP
	r_cs	REGOFF_CS
	r_efl	REGOFF_EFL
	r_uesp	REGOFF_UESP
	r_ss	REGOFF_SS

\#define	REGOFF_PC	REGOFF_EIP

tss_t
	tss_esp0		TSS_ESP0
	tss_ss0		TSS_SS0
	tss_ldt		TSS_LDT
	tss_cr3		TSS_CR3
	tss_cs		TSS_CS
	tss_ss		TSS_SS
	tss_ds		TSS_DS
	tss_es		TSS_ES
	tss_fs		TSS_FS
	tss_gs		TSS_GS
	tss_ebp		TSS_EBP
	tss_eip		TSS_EIP
	tss_eflags	TSS_EFL
	tss_esp		TSS_ESP
	tss_eax		TSS_EAX
	tss_ebx		TSS_EBX
	tss_ecx		TSS_ECX
	tss_edx		TSS_EDX
	tss_esi		TSS_ESI
	tss_edi		TSS_EDI

\#define	LABEL_EBP	_CONST(_MUL(2, LABEL_VAL_INCR) + LABEL_VAL)
\#define	LABEL_EBX	_CONST(_MUL(3, LABEL_VAL_INCR) + LABEL_VAL)
\#define	LABEL_ESI	_CONST(_MUL(4, LABEL_VAL_INCR) + LABEL_VAL)
\#define	LABEL_EDI	_CONST(_MUL(5, LABEL_VAL_INCR) + LABEL_VAL)
\#define	T_EBP		_CONST(T_LABEL + LABEL_EBP)
\#define	T_EBX		_CONST(T_LABEL + LABEL_EBX)
\#define	T_ESI		_CONST(T_LABEL + LABEL_ESI)
\#define	T_EDI		_CONST(T_LABEL + LABEL_EDI)

_klwp
	lwp_pcb.pcb_fsdesc			LWP_PCB_FSDESC
	lwp_pcb.pcb_gsdesc			LWP_PCB_GSDESC
	lwp_pcb.pcb_drstat			LWP_PCB_DRSTAT
	lwp_pcb.pcb_flags			PCB_FLAGS
	lwp_pcb.pcb_fpu				LWP_PCB_FPU
	lwp_pcb.pcb_fpu.fpu_regs		LWP_FPU_REGS
	lwp_pcb.pcb_fpu.fpu_flags		LWP_FPU_FLAGS
	lwp_pcb.pcb_fpu.fpu_regs.kfpu_u.kfpu_fx	LWP_FPU_CHIP_STATE

pcb	PCBSIZE
	pcb_drstat
	pcb_fsdesc
	pcb_gsdesc
	pcb_fpu.fpu_regs	PCB_FPU_REGS
	pcb_fpu.fpu_flags	PCB_FPU_FLAGS

#if defined(__xpv)

vcpu_info
	evtchn_upcall_pending	VCPU_INFO_EVTCHN_UPCALL_PENDING
	evtchn_upcall_mask	VCPU_INFO_EVTCHN_UPCALL_MASK
	arch.cr2		VCPU_INFO_ARCH_CR2

#endif	/* __xpv */