xref: /illumos-gate/usr/src/uts/intel/amd64/ml/mach_offsets.in (revision 45ede40b2394db7967e59f19288fae9b62efd4aa)
1\
2\ Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
3\ Use is subject to license terms.
4\
5\ CDDL HEADER START
6\
7\ The contents of this file are subject to the terms of the
8\ Common Development and Distribution License (the "License").
9\ You may not use this file except in compliance with the License.
10\
11\ You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12\ or http://www.opensolaris.org/os/licensing.
13\ See the License for the specific language governing permissions
14\ and limitations under the License.
15\
16\ When distributing Covered Code, include this CDDL HEADER in each
17\ file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18\ If applicable, add the following below this CDDL HEADER, with the
19\ fields enclosed by brackets "[]" replaced with your own identifying
20\ information: Portions Copyright [yyyy] [name of copyright owner]
21\
22\ CDDL HEADER END
23\
24\ Copyright 2011 Joyent, Inc. All rights reserved.
25\
26
27\
28\ offsets.in: input file to produce assym.h using the ctfstabs program
29\
30
31#ifndef	_GENASSYM
32#define	_GENASSYM
33#endif
34
35#define	SIZES	1
36
37
38\
39\ XXPV	This seems to be needed to avoid a namespace collisions with
40\	some other header file in the list below.
41\
42
43#if defined(__xpv)
44#include <sys/hypervisor.h>
45#endif
46
47#include <sys/types.h>
48#include <sys/bootsvcs.h>
49#include <sys/systm.h>
50#include <sys/sysinfo.h>
51#include <sys/user.h>
52#include <sys/thread.h>
53#include <sys/proc.h>
54#include <sys/cpuvar.h>
55#include <sys/tss.h>
56#include <sys/privregs.h>
57#include <sys/segments.h>
58#include <sys/devops.h>
59#include <sys/ddi_impldefs.h>
60#include <vm/as.h>
61#include <sys/avintr.h>
62#include <sys/pic.h>
63#include <sys/rm_platter.h>
64#include <sys/stream.h>
65#include <sys/strsubr.h>
66#include <sys/sunddi.h>
67#include <sys/traptrace.h>
68#include <sys/ontrap.h>
69#include <sys/lgrp.h>
70#include <sys/dtrace.h>
71
72regs	REGSIZE
73	r_savfp	REGOFF_SAVFP
74	r_savpc	REGOFF_SAVPC
75	r_rdi	REGOFF_RDI
76	r_rsi	REGOFF_RSI
77	r_rdx	REGOFF_RDX
78	r_rcx	REGOFF_RCX
79	r_r8	REGOFF_R8
80	r_r9	REGOFF_R9
81	r_rax	REGOFF_RAX
82	r_rbx	REGOFF_RBX
83	r_rbp	REGOFF_RBP
84	r_r10	REGOFF_R10
85	r_r11	REGOFF_R11
86	r_r12	REGOFF_R12
87	r_r13	REGOFF_R13
88	r_r14	REGOFF_R14
89	r_r15	REGOFF_R15
90\#if DEBUG
91	__r_fsbase	REGOFF_FSBASE
92	__r_gsbase	REGOFF_GSBASE
93\#endif
94	r_ds	REGOFF_DS
95	r_es	REGOFF_ES
96	r_fs	REGOFF_FS
97	r_gs	REGOFF_GS
98	r_trapno	REGOFF_TRAPNO
99	r_err	REGOFF_ERR
100	r_rip	REGOFF_RIP
101	r_cs	REGOFF_CS
102	r_rfl	REGOFF_RFL
103	r_rsp	REGOFF_RSP
104	r_ss	REGOFF_SS
105
106\#define	REGOFF_PC	REGOFF_RIP
107
108boot_syscalls
109	bsvc_putchar	BOOTSVCS_PUTCHAR
110
111tss_t
112	tss_rsp0
113	tss_rsp1
114	tss_rsp2
115	tss_ist1
116	tss_ist2
117	tss_ist3
118	tss_ist4
119	tss_ist5
120	tss_ist6
121	tss_ist7
122
123\#define	LABEL_RBP	_CONST(_MUL(2, LABEL_VAL_INCR) + LABEL_VAL)
124\#define	LABEL_RBX	_CONST(_MUL(3, LABEL_VAL_INCR) + LABEL_VAL)
125\#define	LABEL_R12	_CONST(_MUL(4, LABEL_VAL_INCR) + LABEL_VAL)
126\#define	LABEL_R13	_CONST(_MUL(5, LABEL_VAL_INCR) + LABEL_VAL)
127\#define	LABEL_R14	_CONST(_MUL(6, LABEL_VAL_INCR) + LABEL_VAL)
128\#define	LABEL_R15	_CONST(_MUL(7, LABEL_VAL_INCR) + LABEL_VAL)
129\#define	T_RBP		_CONST(T_LABEL + LABEL_RBP)
130\#define	T_RBX		_CONST(T_LABEL + LABEL_RBX)
131\#define	T_R12		_CONST(T_LABEL + LABEL_R12)
132\#define	T_R13		_CONST(T_LABEL + LABEL_R13)
133\#define	T_R14		_CONST(T_LABEL + LABEL_R14)
134\#define	T_R15		_CONST(T_LABEL + LABEL_R15)
135
136_klwp
137	lwp_pcb.pcb_fpu		LWP_PCB_FPU
138	lwp_pcb.pcb_fsbase	LWP_PCB_FSBASE
139	lwp_pcb.pcb_gsbase	LWP_PCB_GSBASE
140	lwp_pcb.pcb_ds		LWP_PCB_DS
141	lwp_pcb.pcb_es		LWP_PCB_ES
142	lwp_pcb.pcb_fs		LWP_PCB_FS
143	lwp_pcb.pcb_gs		LWP_PCB_GS
144	lwp_pcb.pcb_drstat	LWP_PCB_DRSTAT
145	lwp_pcb.pcb_flags	PCB_FLAGS
146	lwp_pcb.pcb_fpu.fpu_regs LWP_FPU_REGS
147	lwp_pcb.pcb_fpu.fpu_flags LWP_FPU_FLAGS
148	lwp_pcb.pcb_rupdate	PCB_RUPDATE
149
150pcb	PCBSIZE
151	pcb_drstat
152	pcb_fsbase
153	pcb_gsbase
154	pcb_ds
155	pcb_es
156	pcb_fs
157	pcb_gs
158	pcb_fpu.fpu_regs	PCB_FPU_REGS
159	pcb_fpu.fpu_flags	PCB_FPU_FLAGS
160
161cpu
162	cpu_m.mcpu_rtmp_rsp	CPU_RTMP_RSP
163	cpu_m.mcpu_rtmp_r15	CPU_RTMP_R15
164
165rm_platter
166	rm_temp_gdt_lim		TEMPGDTOFF
167	rm_temp_idt_lim		TEMPIDTOFF
168	rm_longmode64_addr	LM64OFF
169
170#if defined(__xpv)
171
172vcpu_info
173	evtchn_upcall_pending	VCPU_INFO_EVTCHN_UPCALL_PENDING
174	evtchn_upcall_mask	VCPU_INFO_EVTCHN_UPCALL_MASK
175	arch.cr2		VCPU_INFO_ARCH_CR2
176
177#endif	/* __xpv */
178