1\ offsets.in: input file to produce assym.h using the stabs program 2\ Copyright 2006 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 94greg_t GREGSIZE 95 96uintptr_t LWP_ARG_SZ 97 98proc PROCSIZE 99 p_link 100 p_next 101 p_child 102 p_sibling 103 p_sig 104 p_wcode 105 p_flag 106 p_tlist 107 p_as 108 p_lockp 109 p_pidp 110 p_fixalignment 111 p_utraps 112 113\#define P_UTRAP4 (UT_ILLTRAP_INSTRUCTION * CPTRSIZE) 114\#define P_UTRAP7 (UT_FP_DISABLED * CPTRSIZE) 115\#define P_UTRAP8 (UT_FP_EXCEPTION_IEEE_754 * CPTRSIZE) 116\#define P_UTRAP10 (UT_TAG_OVERFLOW * CPTRSIZE) 117\#define P_UTRAP11 (UT_DIVISION_BY_ZERO * CPTRSIZE) 118\#define P_UTRAP15 (UT_MEM_ADDRESS_NOT_ALIGNED * CPTRSIZE) 119\#define P_UTRAP16 (UT_PRIVILEGED_ACTION * CPTRSIZE) 120 121pid PID_SIZE 122 pid_id PID_PIDID 123 124_label_t LABEL_SIZE 125 val LABEL_VAL 126 127_kthread THREAD_SIZE 128 t_lock 129 t_lock_flush 130 t_lockp 131 t_oldspl 132 t_pri 133 t_lwp 134 t_procp 135 t_link 136 t_state 137 t_mstate 138 t_stk T_STACK 139 t_swap 140 t_flag T_FLAGS 141 t_ctx 142 t_pcb 143 t_lofault 144 t_onfault 145 t_ontrap 146 t_nomigrate 147 t_cpu 148 t_weakbound_cpu 149 t_lpl 150 t_bound_cpu 151 t_intr 152 t_forw 153 t_back 154 t_sig 155 t_tid 156 t_pre_sys 157 t_preempt 158 t_proc_flag 159 t_startpc 160 t_sysnum 161 _tu._t_post_sys_ast T_POST_SYS_AST 162 _tu._ts._t_astflag T_ASTFLAG 163 _tu._ts._t_sig_check T_SIG_CHECK 164 _tu._ts._t_post_sys T_POST_SYS 165 _tu._ts._t_trapret T_TRAPRET 166 t_preempt_lk 167 t_kpri_req 168 t_lockstat 169 t_pil 170 t_intr_start 171 _tdu._tds._t_dtrace_on T_DTRACE_ON 172 _tdu._tds._t_dtrace_step T_DTRACE_STEP 173 _tdu._tds._t_dtrace_ret T_DTRACE_RET 174 _tdu._tds._t_dtrace_ast T_DTRACE_AST 175 _tdu._t_dtrace_ft T_DTRACE_FT 176 t_dtrace_npc 177 t_copyops 178 179\#define L_PC (0 * LABEL_VAL_INCR) 180\#define L_SP (1 * LABEL_VAL_INCR) 181 182\#define T_PC (T_PCB + L_PC) 183\#define T_SP (T_PCB + L_SP) 184 185sysent SYSENT_SIZE SYSENT_SHIFT 186 sy_callc 187 sy_flags 188 189as AS_SIZE 190 a_hat 191 a_userlimit 192 193hmehash_bucket HMEBUCK_SIZE 194 hmeblkp HMEBUCK_HBLK 195 hmeh_nextpa HMEBUCK_NEXTPA 196 hmeh_listlock HMEBUCK_LOCK 197 198tte_t TTE_SIZE 199 ll TTE_LL 200 201ism_blk ISMBLK_SIZE 202 iblk_maps IBLK_MAPS 203 iblk_next IBLK_NEXT 204 iblk_nextpa IBLK_NEXTPA 205 206ism_map_t ISM_MAP_SZ 207 imap_seg IMAP_SEG 208 imap_vb_shift IMAP_VB_SHIFT 209 imap_hatflags IMAP_HATFLAGS 210 imap_sz_mask IMAP_SZ_MASK 211 imap_ismhat IMAP_ISMHAT 212 213tsbe TSBE_SIZE 214 tte_tag TSBE_TAG 215 tte_data TSBE_TTE 216 217tsb_tag TSBTAG_SIZE 218 tagints.inthi TSBTAG_INTHI 219 tagints.intlo TSBTAG_INTLO 220 221hme_blk HMEBLK_SIZE 222 hblk_next HMEBLK_NEXT 223 hblk_tag HMEBLK_TAG 224 hblk_misc HMEBLK_MISC 225 hblk_hme HMEBLK_HME1 226 hblk_nextpa HMEBLK_NEXTPA 227 228mmu_ctx MMU_CTX_SIZE 229 mmu_gnum MMU_CTX_GNUM 230 mmu_cnum MMU_CTX_CNUM 231 mmu_nctxs MMU_CTX_NCTXS 232 233sfmmu_ctx SFMMU_MMU_CTX_SIZE SFMMU_MMU_CTX_SHIFT 234 gnum SFMMU_MMU_GC_NUM 235 236user USIZEBYTES 237 u_comm 238 u_signal 239 240_klwp LWP_SIZE 241 lwp_thread 242 lwp_regs 243 lwp_fpu 244 lwp_arg 245 lwp_cursig 246 lwp_ru.sysc LWP_RU_SYSC 247 lwp_state 248 lwp_mstate.ms_start LWP_MS_START 249 lwp_mstate.ms_prev LWP_MS_PREV 250 lwp_mstate.ms_state_start LWP_STATE_START 251 lwp_mstate.ms_acct LWP_MS_ACCT 252 lwp_pcb.pcb_flags PCB_FLAGS 253 lwp_pcb.pcb_trap0addr PCB_TRAP0 254 lwp_pcb.pcb_step PCB_STEP 255 lwp_pcb.pcb_tracepc PCB_TRACEPC 256 257mstate MSTATE_SIZE 258 ms_start 259 ms_prev 260 ms_term 261 ms_state_start 262 ms_acct 263 264\#define LWP_ACCT_USER (LWP_MS_ACCT + (LMS_USER * LWP_MS_ACCT_INCR)) 265\#define LWP_ACCT_SYSTEM (LWP_MS_ACCT + (LMS_SYSTEM * LWP_MS_ACCT_INCR)) 266 267rwindow32 RWIN32SIZE RWIN32SHIFT 268 rw_local RW32_LOCAL 269 rw_in RW32_IN 270 271rwindow64 RWIN64SIZE RWIN64SHIFT 272 rw_local RW64_LOCAL 273 rw_in RW64_IN 274 275machpcb MPCBSIZE 276 mpcb_regs 277 mpcb_wbuf 278 mpcb_spbuf 279 mpcb_wbcnt 280 mpcb_rwin 281 mpcb_rsp 282 mpcb_flags 283 mpcb_thread 284 mpcb_wstate 285 mpcb_pa MPCB_PA 286 mpcb_wbuf_pa 287 288\#define MPCB_RWIN0 (MPCB_RWIN + (0 * MPCB_RWIN_INCR)) 289\#define MPCB_RWIN1 (MPCB_RWIN + (1 * MPCB_RWIN_INCR)) 290\#define MPCB_RSP0 (MPCB_RSP + (0 * MPCB_RSP_INCR)) 291\#define MPCB_RSP1 (MPCB_RSP + (1 * MPCB_RSP_INCR)) 292 293kfpu_t KFPUSIZE 294 fpu_fr.fpu_regs FPU_REGS 295 fpu_fsr 296 fpu_fprs 297 fpu_q 298 fpu_qcnt 299 fpu_en 300 301\#define FPU_GSR KFPUSIZE 302 303regs REGSIZE 304 r_tstate TSTATE_OFF 305 r_g1 G1_OFF 306 r_g2 G2_OFF 307 r_g3 G3_OFF 308 r_g4 G4_OFF 309 r_g5 G5_OFF 310 r_g6 G6_OFF 311 r_g7 G7_OFF 312 r_o0 O0_OFF 313 r_o1 O1_OFF 314 r_o2 O2_OFF 315 r_o3 O3_OFF 316 r_o4 O4_OFF 317 r_o5 O5_OFF 318 r_o6 O6_OFF 319 r_o7 O7_OFF 320 r_pc PC_OFF 321 r_npc NPC_OFF 322 r_y Y_OFF 323 324\ XXX - doesn't preserve case up above 325\#define nPC_OFF NPC_OFF 326 327flushmeter FM_SIZE 328 f_ctx FM_CTX 329 f_usr FM_USR 330 f_region FM_REGION 331 f_segment FM_SEGMENT 332 f_page FM_PAGE 333 f_partial FM_PARTIAL 334 335autovec AUTOVECSIZE 336 av_vector 337 av_intarg 338 339cpu CPUSIZE 340 cpu_id 341 cpu_flags 342 cpu_thread 343 cpu_thread_lock 344 cpu_kprunrun 345 cpu_lwp 346 cpu_fpowner 347 cpu_idle_thread 348 cpu_intr_thread 349 cpu_intr_actv 350 cpu_base_spl 351 cpu_intr_stack 352 cpu_stats.sys.cpumigrate CPU_STATS_SYS_CPUMIGRATE 353 cpu_stats.sys.intr CPU_STATS_SYS_INTR 354 cpu_stats.sys.intrunpin CPU_STATS_SYS_INTRUNPIN 355 cpu_stats.sys.intrblk CPU_STATS_SYS_INTRBLK 356 cpu_stats.sys.syscall CPU_STATS_SYS_SYSCALL 357 cpu_profile_pc 358 cpu_profile_upc 359 cpu_profile_pil 360 cpu_ftrace.ftd_state CPU_FTRACE_STATE 361 cpu_mstate 362 cpu_intracct 363 cpu_m CPU_MCPU 364 cpu_m.divisor CPU_DIVISOR 365 cpu_m.intrstat CPU_INTRSTAT 366 cpu_m.pil_high_start CPU_PIL_HIGH_START 367 cpu_m.intr_tail INTR_TAIL 368 cpu_m.intr_head INTR_HEAD 369 cpu_m.intr_pool INTR_POOL 370 cpu_m.tl1_hdlr CPU_TL1_HDLR 371 cpu_m.intrcnt CPU_INTRCNT 372 cpu_m.tmp1 CPU_TMP1 373 cpu_m.tmp2 CPU_TMP2 374 cpu_m.mpcb CPU_MPCB 375 cpu_m.cpu_private CPU_PRIVATE 376 cpu_m.cpu_mmu_idx CPU_MMU_IDX 377 cpu_m.cpu_mmu_ctxp CPU_MMU_CTXP 378 cpu_m.ptl1_state CPU_PTL1 379 380cpu_core_t CPU_CORE_SIZE CPU_CORE_SHIFT 381 cpuc_dtrace_flags 382 cpuc_dtrace_illval 383 384cpuset_t CPUSET_SIZE 385 386ptl1_state PTL1_STATE_SIZE 387 ptl1_regs 388 ptl1_entry_count 389 ptl1_stktop 390 391ptl1_trapregs 392 ptl1_tl 393 ptl1_tt 394 ptl1_tstate 395 ptl1_tpc 396 ptl1_tnpc 397 398lgrp_ld LGRP_LD_SIZE 399 lpl_loadavg 400 lpl_ncpu 401 lpl_lgrpid 402 403intr_vector INTR_VECTOR_SIZE INTR_VECTOR_SHIFT 404 iv_handler 405 iv_arg 406 iv_pil 407 iv_pending 408 iv_payload_buf 409 iv_softint_arg2 410 411dmv_disp DMV_DISP_SIZE DMV_DISP_SHIFT 412 dmv_func 413 dmv_arg 414 415intr_req INTR_SIZE 416 intr_number 417 intr_next 418 419spin_mutex SM_SIZE 420 m_spinlock 421 422i_ndi_err NDI_ERR_SIZE 423 err_ena 424 err_status 425 err_ontrap 426 427ddi_acc_impl DDI_ACC_IMPL_SIZE 428 ahi_common 429 ahi_get8 430 ahi_get16 431 ahi_get32 432 ahi_get64 433 ahi_put8 434 ahi_put16 435 ahi_put32 436 ahi_put64 437 ahi_rep_get8 438 ahi_rep_get16 439 ahi_rep_get32 440 ahi_rep_get64 441 ahi_rep_put8 442 ahi_rep_put16 443 ahi_rep_put32 444 ahi_rep_put64 445 ahi_fault_check 446 ahi_fault 447 ahi_err 448 449stdata STDATA_SIZE 450 sd_lock 451 452queue Q_SIZE 453 q_flag 454 q_next 455 q_stream 456 q_syncq 457 q_qinfo 458 459qinit QI_SIZE 460 qi_putp 461 462syncq SQ_SIZE 463 sq_flags 464 sq_count 465 sq_lock 466 sq_wait 467 sq_exitwait 468 469bus_ops BUS_OPS_SIZE 470 bus_dma_map OPS_MAP 471 bus_dma_allochdl OPS_ALLOCHDL 472 bus_dma_freehdl OPS_FREEHDL 473 bus_dma_bindhdl OPS_BINDHDL 474 bus_dma_unbindhdl OPS_UNBINDHDL 475 bus_dma_flush OPS_FLUSH 476 bus_dma_win OPS_WIN 477 bus_dma_ctl OPS_MCTL 478 bus_ctl OPS_CTL 479 480dev_ops DEV_OPS_SIZE 481 devo_bus_ops DEVI_BUS_OPS 482 483dev_info DEVI_SIZE 484 devi_ops DEVI_DEV_OPS 485 devi_bus_dma_win 486 devi_bus_dma_allochdl 487 devi_bus_dma_freehdl 488 devi_bus_dma_bindhdl 489 devi_bus_dma_unbindhdl 490 devi_bus_dma_flush 491 devi_bus_dma_unbindfunc 492 devi_bus_ctl 493 devi_bus_dma_map 494 devi_bus_dma_ctl 495 496kstat_io 497 wtime KSTAT_IO_WTIME 498 wlentime KSTAT_IO_WLENTIME 499 wlastupdate KSTAT_IO_WLASTUPDATE 500 rtime KSTAT_IO_RTIME 501 rlentime KSTAT_IO_RLENTIME 502 rlastupdate KSTAT_IO_RLASTUPDATE 503 wcnt KSTAT_IO_WCNT 504 rcnt KSTAT_IO_RCNT 505 506ddi_dma_impl 507 dmai_rflags DMA_HANDLE_RFLAGS 508 dmai_rdip DMA_HANDLE_RDIP 509 510on_trap_data 511 ot_prot 512 ot_trap 513 ot_trampoline 514 ot_jmpbuf 515 ot_prev 516 ot_handle 517 ot_pad1 518 519fpustat_kstat FPUSTAT_KSTAT_SIZE 520 fpu_unfinished_traps.value FPUSTAT_UNFIN_KSTAT 521 522fpuinfo_kstat FPUINFO_KSTAT_SIZE 523 fpu_sim_fitos.value FPUINFO_FITOS_KSTAT 524 525mod_stub_info MODS_SIZE 526 mods_func_adr MODS_INSTFCN 527 mods_errfcn MODS_RETFCN 528 mods_flag MODS_FLAG 529 530copyops 531 cp_copyin 532 cp_xcopyin 533 cp_copyout 534 cp_xcopyout 535 cp_copyinstr 536 cp_copyoutstr 537 cp_fuword8 538 cp_fuword16 539 cp_fuword32 540 cp_fuword64 541 cp_suword8 542 cp_suword16 543 cp_suword32 544 cp_suword64 545 cp_physio 546 547