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