xref: /illumos-gate/usr/src/uts/i86pc/ml/offsets.in (revision 7f3d7c9289dee6488b3cd2848a68c0b8580d750c)
1\
2\ Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
3\ Copyright 2012 Garrett D'Amore <garrett@damore.org>.  All rights reserved.
4\ Copyright 2019 Joyent, Inc.
5\ Copyright 2025 Oxide Computer Company
6\
7\ CDDL HEADER START
8\
9\ The contents of this file are subject to the terms of the
10\ Common Development and Distribution License (the "License").
11\ You may not use this file except in compliance with the License.
12\
13\ You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
14\ or http://www.opensolaris.org/os/licensing.
15\ See the License for the specific language governing permissions
16\ and limitations under the License.
17\
18\ When distributing Covered Code, include this CDDL HEADER in each
19\ file and include the License file at usr/src/OPENSOLARIS.LICENSE.
20\ If applicable, add the following below this CDDL HEADER, with the
21\ fields enclosed by brackets "[]" replaced with your own identifying
22\ information: Portions Copyright [yyyy] [name of copyright owner]
23\
24\ CDDL HEADER END
25\
26
27
28\
29\ offsets.in: input file to produce assym.h using the ctfstabs program
30\
31
32#ifndef	_GENASSYM
33#define	_GENASSYM
34#endif
35
36#define	SIZES	1
37
38#include <sys/types.h>
39#include <sys/bootsvcs.h>
40#include <sys/systm.h>
41#include <sys/sysinfo.h>
42#include <sys/user.h>
43#include <sys/thread.h>
44#include <sys/proc.h>
45#include <sys/cpuvar.h>
46#include <sys/tss.h>
47#include <sys/privregs.h>
48#include <sys/segments.h>
49#include <sys/devops.h>
50#include <sys/ddi_impldefs.h>
51#include <vm/as.h>
52#include <sys/avintr.h>
53#include <sys/pic.h>
54#include <sys/rm_platter.h>
55#include <sys/stream.h>
56#include <sys/strsubr.h>
57#include <sys/sunddi.h>
58#include <sys/modctl.h>
59#include <sys/traptrace.h>
60#include <sys/ontrap.h>
61#include <sys/lgrp.h>
62#include <sys/dtrace.h>
63#include <sys/brand.h>
64#include <sys/fastboot.h>
65#include <sys/cpr_wakecode.h>
66#include <sys/comm_page.h>
67
68proc		PROCSIZE
69	p_link
70	p_next
71	p_child
72	p_sibling
73	p_sig
74	p_flag
75	p_tlist
76	p_as
77	p_lockp
78	p_user
79	p_model
80	p_pctx
81	p_agenttp
82	p_zone
83	p_brand
84	p_brand_data
85
86_kthread	THREAD_SIZE
87	t_pcb			T_LABEL
88	t_lock
89	t_lockstat
90	t_lockp
91	t_lock_flush
92	t_oldspl
93	t_pri
94	t_pil
95	t_lwp
96	t_procp
97	t_link
98	t_state
99	t_mstate
100	t_preempt_lk
101	t_stk			T_STACK
102	t_swap
103	t_lwpchan.lc_wchan	T_WCHAN
104	t_flag			T_FLAGS
105	t_ctx
106	t_lofault
107	t_onfault
108	t_ontrap
109	t_cpu
110	t_lpl
111	t_bound_cpu
112	t_intr
113	t_forw
114	t_back
115	t_sig
116	t_tid
117	t_pre_sys
118	t_preempt
119	t_proc_flag
120	t_startpc
121	t_sysnum
122	t_intr_start
123	_tu._ts._t_astflag	T_ASTFLAG
124	_tu._ts._t_post_sys	T_POST_SYS
125	_tu._t_post_sys_ast	T_POST_SYS_AST
126	t_copyops
127	t_useracc
128
129as
130	a_hat
131
132user	USIZEBYTES
133	u_comm
134	u_signal
135
136_label_t
137	val	LABEL_VAL
138
139\#define	LABEL_PC	LABEL_VAL
140\#define	LABEL_SP	_CONST(LABEL_VAL + LABEL_VAL_INCR)
141\#define	T_PC		_CONST(T_LABEL + LABEL_PC)
142\#define	T_SP		_CONST(T_LABEL + LABEL_SP)
143
144_klwp
145	lwp_thread
146	lwp_procp
147	lwp_brand
148	lwp_eosys
149	lwp_regs
150	lwp_arg
151	lwp_ap
152	lwp_cursig
153	lwp_state
154	lwp_mstate.ms_acct	LWP_MS_ACCT
155	lwp_mstate.ms_prev	LWP_MS_PREV
156	lwp_mstate.ms_start	LWP_MS_START
157	lwp_mstate.ms_state_start LWP_MS_STATE_START
158	lwp_pcb
159	lwp_ru.sysc		LWP_RU_SYSC
160
161\#define	LWP_ACCT_USER	_CONST(LWP_MS_ACCT + _MUL(LMS_USER, LWP_MS_ACCT_INCR))
162\#define	LWP_ACCT_SYSTEM	_CONST(LWP_MS_ACCT + _MUL(LMS_SYSTEM, LWP_MS_ACCT_INCR))
163
164fpu_ctx
165	fpu_regs		FPU_CTX_FPU_REGS
166	fpu_flags		FPU_CTX_FPU_FLAGS
167	fpu_xsave_mask		FPU_CTX_FPU_XSAVE_MASK
168
169fxsave_state	FXSAVE_STATE_SIZE
170	fx_fsw			FXSAVE_STATE_FSW
171	fx_mxcsr_mask		FXSAVE_STATE_MXCSR_MASK
172
173
174autovec		AUTOVECSIZE
175	av_vector
176	av_intarg1
177	av_intarg2
178	av_ticksp
179	av_link
180	av_prilevel
181	av_dip
182
183av_head
184	avh_link
185	avh_hi_pri
186	avh_lo_pri
187
188cpu
189	cpu_id
190	cpu_flags
191	cpu_self
192	cpu_thread
193	cpu_thread_lock
194	cpu_kprunrun
195	cpu_lwp
196	cpu_fpowner
197	cpu_idle_thread
198	cpu_intr_thread
199	cpu_intr_actv
200	cpu_base_spl
201	cpu_intr_stack
202	cpu_stats.sys.cpumigrate	CPU_STATS_SYS_CPUMIGRATE
203	cpu_stats.sys.intr		CPU_STATS_SYS_INTR
204	cpu_stats.sys.intrblk		CPU_STATS_SYS_INTRBLK
205	cpu_stats.sys.syscall		CPU_STATS_SYS_SYSCALL
206	cpu_profile_pc
207	cpu_profile_upc
208	cpu_profile_pil
209	cpu_ftrace.ftd_state		CPU_FTRACE_STATE
210	cpu_mstate
211	cpu_intracct
212
213\#define	CPU_INTR_ACTV_REF	_CONST(CPU_INTR_ACTV + 2)
214
215cpu
216	cpu_m.pil_high_start	CPU_PIL_HIGH_START
217	cpu_m.intrstat		CPU_INTRSTAT
218	cpu_m.mcpu_current_hat	CPU_CURRENT_HAT
219	cpu_m.mcpu_gdt		CPU_GDT
220	cpu_m.mcpu_idt		CPU_IDT
221	cpu_m.mcpu_tss		CPU_TSS
222	cpu_m.mcpu_softinfo	CPU_SOFTINFO
223	cpu_m.mcpu_pri		CPU_PRI
224#if defined(__xpv)
225	cpu_m.mcpu_vcpu_info	CPU_VCPU_INFO
226#endif
227
228cpu
229	cpu_m.mcpu_kpti.kf_kernel_cr3	CPU_KPTI_KCR3
230	cpu_m.mcpu_kpti.kf_user_cr3	CPU_KPTI_UCR3
231	cpu_m.mcpu_kpti.kf_tr_rsp	CPU_KPTI_TR_RSP
232	cpu_m.mcpu_kpti.kf_tr_cr3	CPU_KPTI_TR_CR3
233	cpu_m.mcpu_kpti.kf_r13		CPU_KPTI_R13
234	cpu_m.mcpu_kpti.kf_r14		CPU_KPTI_R14
235	cpu_m.mcpu_kpti.kf_tr_ret_rsp	CPU_KPTI_RET_RSP
236
237	cpu_m.mcpu_kpti.kf_ss		CPU_KPTI_SS
238	cpu_m.mcpu_kpti.kf_rsp		CPU_KPTI_RSP
239	cpu_m.mcpu_kpti.kf_rflags	CPU_KPTI_RFLAGS
240	cpu_m.mcpu_kpti.kf_cs		CPU_KPTI_CS
241	cpu_m.mcpu_kpti.kf_rip		CPU_KPTI_RIP
242	cpu_m.mcpu_kpti.kf_err		CPU_KPTI_ERR
243
244	cpu_m.mcpu_pad2			CPU_KPTI_START
245	cpu_m.mcpu_pad3			CPU_KPTI_END
246
247	cpu_m.mcpu_kpti_dbg		CPU_KPTI_DBG
248
249kpti_frame
250	kf_r14		KPTI_R14
251	kf_r13		KPTI_R13
252	kf_err		KPTI_ERR
253	kf_rip		KPTI_RIP
254	kf_cs		KPTI_CS
255	kf_rflags	KPTI_RFLAGS
256	kf_rsp		KPTI_RSP
257	kf_ss		KPTI_SS
258
259	kf_tr_rsp	KPTI_TOP
260
261	kf_kernel_cr3	KPTI_KCR3
262	kf_user_cr3	KPTI_UCR3
263	kf_tr_ret_rsp	KPTI_RET_RSP
264	kf_tr_cr3	KPTI_TR_CR3
265
266	kf_tr_flag	KPTI_FLAG
267
268standard_pic
269	c_curmask
270	c_iplmask
271
272ddi_dma_impl
273	dmai_rflags
274	dmai_rdip
275
276dev_info
277	devi_ops		DEVI_DEV_OPS
278	devi_bus_ctl
279	devi_bus_dma_ctl
280	devi_bus_dma_allochdl
281	devi_bus_dma_freehdl
282	devi_bus_dma_bindhdl
283	devi_bus_dma_unbindhdl
284	devi_bus_dma_flush
285	devi_bus_dma_win
286
287dev_ops
288	devo_bus_ops		DEVI_BUS_OPS
289
290bus_ops
291	bus_ctl			OPS_CTL
292	bus_dma_map		OPS_MAP
293	bus_dma_ctl		OPS_MCTL
294	bus_dma_allochdl	OPS_ALLOCHDL
295	bus_dma_freehdl		OPS_FREEHDL
296	bus_dma_bindhdl		OPS_BINDHDL
297	bus_dma_unbindhdl	OPS_UNBINDHDL
298	bus_dma_flush		OPS_FLUSH
299	bus_dma_win		OPS_WIN
300
301sysent	SYSENT_SIZE	SYSENT_SIZE_SHIFT
302	sy_callc
303	sy_flags
304	sy_narg
305
306stdata
307	sd_lock
308
309queue
310	q_flag
311	q_next
312	q_stream
313	q_syncq
314	q_qinfo
315
316qinit
317	qi_putp
318
319syncq
320	sq_flags
321	sq_count
322	sq_lock
323	sq_wait
324
325rm_platter
326	rm_idt_lim		IDTROFF
327	rm_gdt_lim		GDTROFF
328	rm_pdbr			CR3OFF
329	rm_cpu			CPUNOFF
330	rm_cr4			CR4OFF
331	rm_cpu_halt_code	CPUHALTCODEOFF
332	rm_cpu_halted		CPUHALTEDOFF
333
334ddi_acc_impl
335	ahi_acc_attr	ACC_ATTR
336	ahi_get8	ACC_GETB
337	ahi_get16	ACC_GETW
338	ahi_get32	ACC_GETL
339	ahi_get64	ACC_GETLL
340	ahi_put8	ACC_PUTB
341	ahi_put16	ACC_PUTW
342	ahi_put32	ACC_PUTL
343	ahi_put64	ACC_PUTLL
344	ahi_rep_get8	ACC_REP_GETB
345	ahi_rep_get16	ACC_REP_GETW
346	ahi_rep_get32	ACC_REP_GETL
347	ahi_rep_get64	ACC_REP_GETLL
348	ahi_rep_put8	ACC_REP_PUTB
349	ahi_rep_put16	ACC_REP_PUTW
350	ahi_rep_put32	ACC_REP_PUTL
351	ahi_rep_put64	ACC_REP_PUTLL
352
353on_trap_data
354	ot_prot
355	ot_trap
356	ot_trampoline
357	ot_jmpbuf
358	ot_prev
359	ot_handle
360	ot_pad1
361
362trap_trace_ctl_t	__TRAPTR_SIZE TRAPTR_SIZE_SHIFT
363	ttc_next	TRAPTR_NEXT
364	ttc_first	TRAPTR_FIRST
365	ttc_limit	TRAPTR_LIMIT
366
367trap_trace_rec_t	TRAP_ENT_SIZE
368	ttr_cr2
369	ttr_info.idt_entry.vector	TTR_VECTOR
370	ttr_info.idt_entry.ipl		TTR_IPL
371	ttr_info.idt_entry.spl		TTR_SPL
372	ttr_info.idt_entry.pri		TTR_PRI
373	ttr_info.gate_entry.sysnum	TTR_SYSNUM
374	ttr_marker
375	ttr_stamp
376	ttr_curthread
377	ttr_sdepth
378	ttr_stack
379
380lgrp_ld
381	lpl_lgrpid
382
383dtrace_id_t	DTRACE_IDSIZE
384
385cpu_core	CPU_CORE_SIZE	CPU_CORE_SHIFT
386	cpuc_dtrace_flags
387	cpuc_dtrace_illval
388
389timespec	TIMESPEC_SIZE
390
391gate_desc	GATE_DESC_SIZE
392
393desctbr_t	DESCTBR_SIZE
394	dtr_limit
395	dtr_base
396
397mod_stub_info	MODS_SIZE
398	mods_func_adr	MODS_INSTFCN
399	mods_errfcn	MODS_RETFCN
400	mods_flag
401
402\#define	TRAP_TSIZE		_MUL(TRAP_ENT_SIZE, TRAPTR_NENT)
403
404copyops
405	cp_copyin
406	cp_xcopyin
407	cp_copyout
408	cp_xcopyout
409	cp_copyinstr
410	cp_copyoutstr
411	cp_fuword8
412	cp_fuword16
413	cp_fuword32
414	cp_fuword64
415	cp_suword8
416	cp_suword16
417	cp_suword32
418	cp_suword64
419	cp_physio
420
421brand
422	b_machops
423
424brand_proc_data_t
425	spd_handler
426
427fastboot_file_t
428	fb_va
429	fb_pte_list_va
430	fb_pte_list_pa
431	fb_dest_pa
432	fb_size
433	fb_next_pa
434	fb_sections
435	fb_sectcnt
436
437fastboot_section_t
438	fb_sec_offset
439	fb_sec_paddr
440	fb_sec_size
441	fb_sec_bss_size
442
443fastboot_info_t
444	fi_files
445	fi_has_pae
446	fi_pagetable_va
447	fi_pagetable_pa
448	fi_last_table_pa
449	fi_new_mbi_pa
450	fi_valid
451
452zone
453	zone_brand_data
454
455wc_cpu	WC_CPU_SIZE
456	wc_retaddr
457	wc_virtaddr
458	wc_cr0
459	wc_cr3
460	wc_cr4
461	wc_cr8
462	wc_fs
463	wc_fsbase
464	wc_gs
465	wc_gsbase
466	wc_kgsbase
467	wc_r8
468	wc_r9
469	wc_r10
470	wc_r11
471	wc_r12
472	wc_r13
473	wc_r14
474	wc_r15
475	wc_rax
476	wc_rbp
477	wc_rbx
478	wc_rcx
479	wc_rdi
480	wc_rdx
481	wc_rsi
482	wc_rsp
483	wc_gdt_limit	WC_GDT
484	wc_gdt_base
485	wc_idt_limit	WC_IDT
486	wc_idt_base
487	wc_tr
488	wc_ldt
489	wc_eflags
490	wc_ebx
491	wc_edi
492	wc_esi
493	wc_ebp
494	wc_esp
495	wc_esp
496	wc_ss
497	wc_cs
498	wc_ds
499	wc_es
500	wc_cpu_id
501	wc_saved_stack
502
503wc_wakecode
504	wc_cpu
505
506comm_page_s	COMM_PAGE_S_SIZE
507	_cp_pad1	COMM_PAGE_PAD1
508	cp_tsc_sync_tick_delta	COMM_PAGE_TSC_SYNC_TICK_DELTA
509	_cp_pad2	COMM_PAGE_PAD2
510