xref: /titanic_44/usr/src/uts/sun4/ml/offsets.in (revision bd335c6465ddbafe543900df4b03247bfa288eff)
1\ offsets.in: input file to produce assym.h using the stabs program
2\ Copyright 2005 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, Version 1.0 only
9\ (the "License").  You may not use this file except in compliance
10\ with the License.
11\
12\ You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13\ or http://www.opensolaris.org/os/licensing.
14\ See the License for the specific language governing permissions
15\ and limitations under the License.
16\
17\ When distributing Covered Code, include this CDDL HEADER in each
18\ file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19\ If applicable, add the following below this CDDL HEADER, with the
20\ fields enclosed by brackets "[]" replaced with your own identifying
21\ information: Portions Copyright [yyyy] [name of copyright owner]
22\
23\ CDDL HEADER END
24\
25\
26\
27\ Guidelines:
28\
29\ A blank line is required between structure/union/intrinsic names.
30\
31\ The general form is:
32\
33\	name size_define [shift_define]
34\		member_name [offset_define]
35\	{blank line}
36\
37\ If offset_define is not specified then the member_name is
38\ converted to all caps and used instead.  If the size of an item is
39\ a power of two then an optional shift count may be output using
40\ shift_define as the name but only if shift_define was specified.
41\
42\ Arrays cause stabs to automatically output the per-array-item increment
43\ in addition to the base address:
44\
45\	 foo FOO_SIZE
46\		array	FOO_ARRAY
47\
48\ results in:
49\
50\	#define	FOO_ARRAY	0x0
51\	#define	FOO_ARRAY_INCR	0x4
52\
53\ which allows \#define's to be used to specify array items:
54\
55\	#define	FOO_0	(FOO_ARRAY + (0 * FOO_ARRAY_INCR))
56\	#define	FOO_1	(FOO_ARRAY + (1 * FOO_ARRAY_INCR))
57\	...
58\	#define	FOO_n	(FOO_ARRAY + (n * FOO_ARRAY_INCR))
59\
60\ There are several examples below (search for _INCR).
61\
62\ There is currently no manner in which to identify "anonymous"
63\ structures or unions so if they are to be used in assembly code
64\ they must be given names.
65\
66\ When specifying the offsets of nested structures/unions each nested
67\ structure or union must be listed separately then use the
68\ "\#define" escapes to add the offsets from the base structure/union
69\ and all of the nested structures/unions together.  See the many
70\ examples already in this file.
71
72#pragma ident	"%Z%%M%	%I%	%E% SMI"
73
74#ifndef	_GENASSYM
75#define	_GENASSYM
76#endif
77
78#define	SIZES	1
79
80#include <sys/vmmeter.h>
81#include <sys/mutex_impl.h>
82#include <sys/lockstat.h>
83#include <sys/ddi_isa.h>
84#include <sys/ivintr.h>
85#include <sys/ddi_impldefs.h>
86#include <vm/hat_sfmmu.h>
87#include <sys/avintr.h>
88#include <sys/strsubr.h>
89#include <sys/dmv.h>
90#include <sys/fpu/fpu_simulator.h>
91#include <sys/ontrap.h>
92#include <sys/lgrp.h>
93#include <sys/ddifm_impl.h>
94
95greg_t		GREGSIZE
96
97uintptr_t	LWP_ARG_SZ
98
99proc		PROCSIZE
100	p_link
101	p_next
102	p_child
103	p_sibling
104	p_sig
105	p_wcode
106	p_flag
107	p_tlist
108	p_as
109	p_lockp
110	p_pidp
111	p_fixalignment
112	p_utraps
113
114\#define	P_UTRAP4	(UT_ILLTRAP_INSTRUCTION * CPTRSIZE)
115\#define	P_UTRAP7	(UT_FP_DISABLED * CPTRSIZE)
116\#define	P_UTRAP8	(UT_FP_EXCEPTION_IEEE_754 * CPTRSIZE)
117\#define	P_UTRAP10	(UT_TAG_OVERFLOW * CPTRSIZE)
118\#define	P_UTRAP11	(UT_DIVISION_BY_ZERO * CPTRSIZE)
119\#define	P_UTRAP15	(UT_MEM_ADDRESS_NOT_ALIGNED * CPTRSIZE)
120\#define	P_UTRAP16	(UT_PRIVILEGED_ACTION * CPTRSIZE)
121
122pid	PID_SIZE
123	pid_id	PID_PIDID
124
125_label_t	LABEL_SIZE
126	val	LABEL_VAL
127
128_kthread	THREAD_SIZE
129	t_lock
130	t_lock_flush
131	t_lockp
132	t_oldspl
133	t_pri
134	t_lwp
135	t_procp
136	t_link
137	t_state
138	t_mstate
139	t_stk		T_STACK
140	t_swap
141	t_flag		T_FLAGS
142	t_ctx
143	t_pcb
144	t_lofault
145	t_onfault
146	t_ontrap
147	t_nomigrate
148	t_cpu
149	t_weakbound_cpu
150	t_lpl
151	t_bound_cpu
152	t_intr
153	t_forw
154	t_back
155	t_sig
156	t_tid
157	t_pre_sys
158	t_preempt
159	t_proc_flag
160	t_startpc
161	t_sysnum
162	_tu._t_post_sys_ast	T_POST_SYS_AST
163	_tu._ts._t_astflag	T_ASTFLAG
164	_tu._ts._t_sig_check	T_SIG_CHECK
165	_tu._ts._t_post_sys	T_POST_SYS
166	_tu._ts._t_trapret	T_TRAPRET
167	t_preempt_lk
168	t_kpri_req
169	t_lockstat
170	t_pil
171	t_intr_start
172	_tdu._tds._t_dtrace_on	T_DTRACE_ON
173	_tdu._tds._t_dtrace_step T_DTRACE_STEP
174	_tdu._tds._t_dtrace_ret	T_DTRACE_RET
175	_tdu._tds._t_dtrace_ast	T_DTRACE_AST
176	_tdu._t_dtrace_ft	T_DTRACE_FT
177	t_dtrace_npc
178	t_copyops
179
180\#define	L_PC	(0 * LABEL_VAL_INCR)
181\#define	L_SP	(1 * LABEL_VAL_INCR)
182
183\#define	T_PC	(T_PCB + L_PC)
184\#define	T_SP	(T_PCB + L_SP)
185
186sysent	SYSENT_SIZE SYSENT_SHIFT
187	sy_callc
188	sy_flags
189
190as	AS_SIZE
191	a_hat
192	a_userlimit
193
194hmehash_bucket	HMEBUCK_SIZE
195	hmeblkp	HMEBUCK_HBLK
196	hmeh_nextpa	HMEBUCK_NEXTPA
197	hmeh_listlock	HMEBUCK_LOCK
198
199tte_t	TTE_SIZE
200	ll	TTE_LL
201
202ism_blk	ISMBLK_SIZE
203	iblk_maps	IBLK_MAPS
204	iblk_next	IBLK_NEXT
205	iblk_nextpa	IBLK_NEXTPA
206
207ism_map_t	ISM_MAP_SZ
208	imap_seg	IMAP_SEG
209	imap_vb_shift	IMAP_VB_SHIFT
210	imap_hatflags	IMAP_HATFLAGS
211	imap_sz_mask	IMAP_SZ_MASK
212	imap_ismhat	IMAP_ISMHAT
213
214tsbe	TSBE_SIZE
215	tte_tag		TSBE_TAG
216	tte_data	TSBE_TTE
217
218tsb_tag	TSBTAG_SIZE
219	tagints.inthi	TSBTAG_INTHI
220	tagints.intlo	TSBTAG_INTLO
221
222hme_blk	HMEBLK_SIZE
223	hblk_next	HMEBLK_NEXT
224	hblk_tag	HMEBLK_TAG
225	hblk_misc	HMEBLK_MISC
226	hblk_hme	HMEBLK_HME1
227	hblk_nextpa	HMEBLK_NEXTPA
228
229user	USIZEBYTES
230	u_comm
231	u_signal
232
233_klwp	LWP_SIZE
234	lwp_thread
235	lwp_regs
236	lwp_fpu
237	lwp_arg
238	lwp_cursig
239	lwp_ru.sysc			LWP_RU_SYSC
240	lwp_state
241	lwp_mstate.ms_start		LWP_MS_START
242	lwp_mstate.ms_prev		LWP_MS_PREV
243	lwp_mstate.ms_state_start	LWP_STATE_START
244	lwp_mstate.ms_acct		LWP_MS_ACCT
245	lwp_pcb.pcb_flags		PCB_FLAGS
246	lwp_pcb.pcb_trap0addr		PCB_TRAP0
247	lwp_pcb.pcb_step		PCB_STEP
248	lwp_pcb.pcb_tracepc		PCB_TRACEPC
249
250mstate	MSTATE_SIZE
251	ms_start
252	ms_prev
253	ms_term
254	ms_state_start
255	ms_acct
256
257\#define	LWP_ACCT_USER	(LWP_MS_ACCT + (LMS_USER * LWP_MS_ACCT_INCR))
258\#define	LWP_ACCT_SYSTEM (LWP_MS_ACCT + (LMS_SYSTEM * LWP_MS_ACCT_INCR))
259
260rwindow32	RWIN32SIZE	RWIN32SHIFT
261	rw_local	RW32_LOCAL
262	rw_in		RW32_IN
263
264rwindow64	RWIN64SIZE	RWIN64SHIFT
265	rw_local	RW64_LOCAL
266	rw_in		RW64_IN
267
268machpcb	MPCBSIZE
269	mpcb_regs
270	mpcb_wbuf
271	mpcb_spbuf
272	mpcb_wbcnt
273	mpcb_rwin
274	mpcb_rsp
275	mpcb_flags
276	mpcb_thread
277	mpcb_wstate
278	mpcb_pa		MPCB_PA
279	mpcb_wbuf_pa
280
281\#define	MPCB_RWIN0	(MPCB_RWIN + (0 * MPCB_RWIN_INCR))
282\#define	MPCB_RWIN1	(MPCB_RWIN + (1 * MPCB_RWIN_INCR))
283\#define	MPCB_RSP0	(MPCB_RSP + (0 * MPCB_RSP_INCR))
284\#define	MPCB_RSP1	(MPCB_RSP + (1 * MPCB_RSP_INCR))
285
286kfpu_t	KFPUSIZE
287	fpu_fr.fpu_regs		FPU_REGS
288	fpu_fsr
289	fpu_fprs
290	fpu_q
291	fpu_qcnt
292	fpu_en
293
294\#define	FPU_GSR		KFPUSIZE
295
296regs	REGSIZE
297	r_tstate	TSTATE_OFF
298	r_g1		G1_OFF
299	r_g2		G2_OFF
300	r_g3		G3_OFF
301	r_g4		G4_OFF
302	r_g5		G5_OFF
303	r_g6		G6_OFF
304	r_g7		G7_OFF
305	r_o0		O0_OFF
306	r_o1		O1_OFF
307	r_o2		O2_OFF
308	r_o3		O3_OFF
309	r_o4		O4_OFF
310	r_o5		O5_OFF
311	r_o6		O6_OFF
312	r_o7		O7_OFF
313	r_pc		PC_OFF
314	r_npc		NPC_OFF
315	r_y		Y_OFF
316
317\ XXX - doesn't preserve case up above
318\#define	nPC_OFF		NPC_OFF
319
320flushmeter	FM_SIZE
321	f_ctx		FM_CTX
322	f_usr		FM_USR
323	f_region	FM_REGION
324	f_segment	FM_SEGMENT
325	f_page		FM_PAGE
326	f_partial	FM_PARTIAL
327
328autovec		AUTOVECSIZE
329	av_vector
330	av_intarg
331
332cpu	CPUSIZE
333	cpu_id
334	cpu_flags
335	cpu_thread
336	cpu_thread_lock
337	cpu_kprunrun
338	cpu_lwp
339	cpu_fpowner
340	cpu_idle_thread
341	cpu_intr_thread
342	cpu_intr_actv
343	cpu_base_spl
344	cpu_intr_stack
345	cpu_stats.sys.cpumigrate	CPU_STATS_SYS_CPUMIGRATE
346	cpu_stats.sys.intr		CPU_STATS_SYS_INTR
347	cpu_stats.sys.intrunpin		CPU_STATS_SYS_INTRUNPIN
348	cpu_stats.sys.intrblk		CPU_STATS_SYS_INTRBLK
349	cpu_stats.sys.syscall		CPU_STATS_SYS_SYSCALL
350	cpu_profile_pc
351	cpu_profile_upc
352	cpu_profile_pil
353	cpu_ftrace.ftd_state		CPU_FTRACE_STATE
354	cpu_m				CPU_MCPU
355	cpu_m.divisor			CPU_DIVISOR
356	cpu_m.intrstat			CPU_INTRSTAT
357	cpu_m.pil_high_start		CPU_PIL_HIGH_START
358	cpu_m.intr_tail			INTR_TAIL
359	cpu_m.intr_head			INTR_HEAD
360	cpu_m.intr_pool			INTR_POOL
361	cpu_m.tl1_hdlr			CPU_TL1_HDLR
362	cpu_m.intrcnt			CPU_INTRCNT
363	cpu_m.tmp1			CPU_TMP1
364	cpu_m.tmp2			CPU_TMP2
365	cpu_m.mpcb			CPU_MPCB
366	cpu_m.cpu_private		CPU_PRIVATE
367	cpu_m.ptl1_state		CPU_PTL1
368
369cpu_core_t	CPU_CORE_SIZE	CPU_CORE_SHIFT
370	cpuc_dtrace_flags
371	cpuc_dtrace_illval
372
373cpuset_t	CPUSET_SIZE
374
375ptl1_state	PTL1_STATE_SIZE
376	ptl1_regs
377	ptl1_entry_count
378	ptl1_stktop
379
380ptl1_regs
381	ptl1_trap_regs
382	ptl1_g1
383	ptl1_g2
384	ptl1_g3
385	ptl1_g4
386	ptl1_g5
387	ptl1_g6
388	ptl1_g7
389	ptl1_tick
390	ptl1_dmmu_sfar
391	ptl1_dmmu_sfsr
392	ptl1_dmmu_tag_access
393	ptl1_immu_sfsr
394	ptl1_immu_tag_access
395	ptl1_rwindow
396	ptl1_softint
397	ptl1_pstate
398	ptl1_pil
399	ptl1_cwp
400	ptl1_wstate
401	ptl1_otherwin
402	ptl1_cleanwin
403	ptl1_cansave
404	ptl1_canrestore
405
406ptl1_trapregs
407	ptl1_tl
408	ptl1_tt
409	ptl1_tstate
410	ptl1_tpc
411	ptl1_tnpc
412
413lgrp_ld		LGRP_LD_SIZE
414	lpl_loadavg
415	lpl_ncpu
416	lpl_lgrpid
417
418intr_vector INTR_VECTOR_SIZE INTR_VECTOR_SHIFT
419	iv_handler
420	iv_arg
421	iv_pil
422	iv_pending
423	iv_payload_buf
424	iv_softint_arg2
425
426dmv_disp DMV_DISP_SIZE DMV_DISP_SHIFT
427	dmv_func
428	dmv_arg
429
430intr_req	INTR_SIZE
431	intr_number
432	intr_next
433
434spin_mutex SM_SIZE
435	m_spinlock
436
437i_ndi_err	NDI_ERR_SIZE
438	err_ena
439	err_status
440	err_ontrap
441
442ddi_acc_impl	DDI_ACC_IMPL_SIZE
443	ahi_common
444	ahi_get8
445	ahi_get16
446	ahi_get32
447	ahi_get64
448	ahi_put8
449	ahi_put16
450	ahi_put32
451	ahi_put64
452	ahi_rep_get8
453	ahi_rep_get16
454	ahi_rep_get32
455	ahi_rep_get64
456	ahi_rep_put8
457	ahi_rep_put16
458	ahi_rep_put32
459	ahi_rep_put64
460	ahi_fault_check
461	ahi_fault
462	ahi_err
463
464stdata	STDATA_SIZE
465	sd_lock
466
467queue	 Q_SIZE
468	q_flag
469	q_next
470	q_stream
471	q_syncq
472	q_qinfo
473
474qinit	QI_SIZE
475	qi_putp
476
477syncq	SQ_SIZE
478	sq_flags
479	sq_count
480	sq_lock
481	sq_wait
482	sq_exitwait
483
484bus_ops		BUS_OPS_SIZE
485	bus_dma_map		OPS_MAP
486	bus_dma_allochdl	OPS_ALLOCHDL
487	bus_dma_freehdl		OPS_FREEHDL
488	bus_dma_bindhdl		OPS_BINDHDL
489	bus_dma_unbindhdl	OPS_UNBINDHDL
490	bus_dma_flush		OPS_FLUSH
491	bus_dma_win		OPS_WIN
492	bus_dma_ctl		OPS_MCTL
493	bus_ctl			OPS_CTL
494
495dev_ops		DEV_OPS_SIZE
496	devo_bus_ops	DEVI_BUS_OPS
497
498dev_info	DEVI_SIZE
499	devi_ops	DEVI_DEV_OPS
500	devi_bus_dma_win
501	devi_bus_dma_allochdl
502	devi_bus_dma_freehdl
503	devi_bus_dma_bindhdl
504	devi_bus_dma_unbindhdl
505	devi_bus_dma_flush
506	devi_bus_dma_unbindfunc
507	devi_bus_ctl
508	devi_bus_dma_map
509	devi_bus_dma_ctl
510
511kstat_io
512	wtime		KSTAT_IO_WTIME
513	wlentime	KSTAT_IO_WLENTIME
514	wlastupdate	KSTAT_IO_WLASTUPDATE
515	rtime		KSTAT_IO_RTIME
516	rlentime	KSTAT_IO_RLENTIME
517	rlastupdate	KSTAT_IO_RLASTUPDATE
518	wcnt		KSTAT_IO_WCNT
519	rcnt		KSTAT_IO_RCNT
520
521ddi_dma_impl
522	dmai_rflags	DMA_HANDLE_RFLAGS
523	dmai_rdip	DMA_HANDLE_RDIP
524
525on_trap_data
526	ot_prot
527	ot_trap
528	ot_trampoline
529	ot_jmpbuf
530	ot_prev
531	ot_handle
532	ot_pad1
533
534fpustat_kstat	FPUSTAT_KSTAT_SIZE
535	fpu_unfinished_traps.value	FPUSTAT_UNFIN_KSTAT
536
537fpuinfo_kstat	FPUINFO_KSTAT_SIZE
538	fpu_sim_fitos.value		FPUINFO_FITOS_KSTAT
539
540mod_stub_info	MODS_SIZE
541	mods_func_adr	MODS_INSTFCN
542	mods_errfcn	MODS_RETFCN
543	mods_flag	MODS_FLAG
544
545copyops
546	cp_copyin
547	cp_xcopyin
548	cp_copyout
549	cp_xcopyout
550	cp_copyinstr
551	cp_copyoutstr
552	cp_fuword8
553	cp_fuword16
554	cp_fuword32
555	cp_fuword64
556	cp_suword8
557	cp_suword16
558	cp_suword32
559	cp_suword64
560	cp_physio
561
562