1 \ offsets.in: input file to produce assym.h using the stabs program 2 \ Copyright 2009 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 #ifndef _GENASSYM 72 #define _GENASSYM 73 #endif 74 75 #define SIZES 1 76 77 #include <sys/vmmeter.h> 78 #include <sys/mutex_impl.h> 79 #include <sys/lockstat.h> 80 #include <sys/ddi_isa.h> 81 #include <sys/ivintr.h> 82 #include <sys/ddi_impldefs.h> 83 #include <vm/hat_sfmmu.h> 84 #include <sys/avintr.h> 85 #include <sys/strsubr.h> 86 #include <sys/dmv.h> 87 #include <sys/fpu/fpu_simulator.h> 88 #include <sys/ontrap.h> 89 #include <sys/lgrp.h> 90 #include <sys/ddifm_impl.h> 91 #include <sys/brand.h> 92 93 greg_t GREGSIZE 94 95 uintptr_t LWP_ARG_SZ 96 97 proc PROCSIZE 98 p_link 99 p_next 100 p_child 101 p_sibling 102 p_sig 103 p_wcode 104 p_flag 105 p_tlist 106 p_as 107 p_lockp 108 p_pidp 109 p_fixalignment 110 p_utraps 111 p_agenttp 112 p_brand 113 p_brand_data 114 115 \#define P_UTRAP4 (UT_ILLTRAP_INSTRUCTION * CPTRSIZE) 116 \#define P_UTRAP7 (UT_FP_DISABLED * CPTRSIZE) 117 \#define P_UTRAP8 (UT_FP_EXCEPTION_IEEE_754 * CPTRSIZE) 118 \#define P_UTRAP10 (UT_TAG_OVERFLOW * CPTRSIZE) 119 \#define P_UTRAP11 (UT_DIVISION_BY_ZERO * CPTRSIZE) 120 \#define P_UTRAP15 (UT_MEM_ADDRESS_NOT_ALIGNED * CPTRSIZE) 121 \#define P_UTRAP16 (UT_PRIVILEGED_ACTION * CPTRSIZE) 122 123 pid PID_SIZE 124 pid_id PID_PIDID 125 126 _label_t LABEL_SIZE 127 val LABEL_VAL 128 129 _kthread THREAD_SIZE 130 t_lock 131 t_lock_flush 132 t_lockp 133 t_oldspl 134 t_pri 135 t_lwp 136 t_procp 137 t_link 138 t_state 139 t_mstate 140 t_stk T_STACK 141 t_swap 142 t_flag T_FLAGS 143 t_ctx 144 t_pcb 145 t_lofault 146 t_onfault 147 t_ontrap 148 t_nomigrate 149 t_cpu 150 t_weakbound_cpu 151 t_lpl 152 t_bound_cpu 153 t_intr 154 t_forw 155 t_back 156 t_sig 157 t_tid 158 t_pre_sys 159 t_preempt 160 t_proc_flag 161 t_startpc 162 t_sysnum 163 _tu._t_post_sys_ast T_POST_SYS_AST 164 _tu._ts._t_astflag T_ASTFLAG 165 _tu._ts._t_sig_check T_SIG_CHECK 166 _tu._ts._t_post_sys T_POST_SYS 167 _tu._ts._t_trapret T_TRAPRET 168 t_preempt_lk 169 t_kpri_req 170 t_lockstat 171 t_pil 172 t_intr_start 173 _tdu._tds._t_dtrace_on T_DTRACE_ON 174 _tdu._tds._t_dtrace_step T_DTRACE_STEP 175 _tdu._tds._t_dtrace_ret T_DTRACE_RET 176 _tdu._tds._t_dtrace_ast T_DTRACE_AST 177 _tdu._t_dtrace_ft T_DTRACE_FT 178 t_dtrace_npc 179 t_copyops 180 181 \#define L_PC (0 * LABEL_VAL_INCR) 182 \#define L_SP (1 * LABEL_VAL_INCR) 183 184 \#define T_PC (T_PCB + L_PC) 185 \#define T_SP (T_PCB + L_SP) 186 187 sysent SYSENT_SIZE SYSENT_SHIFT 188 sy_callc 189 sy_flags 190 191 as AS_SIZE 192 a_hat 193 a_userlimit 194 195 hmehash_bucket HMEBUCK_SIZE 196 hmeblkp HMEBUCK_HBLK 197 hmeh_nextpa HMEBUCK_NEXTPA 198 hmeh_listlock HMEBUCK_LOCK 199 200 tte_t TTE_SIZE 201 ll TTE_LL 202 203 ism_blk ISMBLK_SIZE 204 iblk_maps IBLK_MAPS 205 iblk_next IBLK_NEXT 206 iblk_nextpa IBLK_NEXTPA 207 208 ism_map_t ISM_MAP_SZ 209 imap_seg IMAP_SEG 210 imap_vb_shift IMAP_VB_SHIFT 211 imap_rid IMAP_RID 212 imap_hatflags IMAP_HATFLAGS 213 imap_sz_mask IMAP_SZ_MASK 214 imap_ismhat IMAP_ISMHAT 215 216 tsbe TSBE_SIZE 217 tte_tag TSBE_TAG 218 tte_data TSBE_TTE 219 220 tsb_tag TSBTAG_SIZE 221 tagints.inthi TSBTAG_INTHI 222 tagints.intlo TSBTAG_INTLO 223 224 hme_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 231 mmu_ctx MMU_CTX_SIZE 232 mmu_gnum MMU_CTX_GNUM 233 mmu_cnum MMU_CTX_CNUM 234 mmu_nctxs MMU_CTX_NCTXS 235 236 sfmmu_ctx SFMMU_MMU_CTX_SIZE SFMMU_MMU_CTX_SHIFT 237 gnum SFMMU_MMU_GC_NUM 238 239 user 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 260 mstate 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 270 rwindow32 RWIN32SIZE RWIN32SHIFT 271 rw_local RW32_LOCAL 272 rw_in RW32_IN 273 274 rwindow64 RWIN64SIZE RWIN64SHIFT 275 rw_local RW64_LOCAL 276 rw_in RW64_IN 277 278 machpcb 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 296 kfpu_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 306 regs 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 330 flushmeter 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 338 autovec AUTOVECSIZE 339 av_vector 340 av_intarg 341 342 cpu 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_cpcprofile_pc 367 cpu_cpcprofile_upc 368 cpu_m CPU_MCPU 369 cpu_m.divisor CPU_DIVISOR 370 cpu_m.intrstat CPU_INTRSTAT 371 cpu_m.pil_high_start CPU_PIL_HIGH_START 372 cpu_m.intr_tail INTR_TAIL 373 cpu_m.intr_head INTR_HEAD 374 cpu_m.tl1_hdlr CPU_TL1_HDLR 375 cpu_m.intrcnt CPU_INTRCNT 376 cpu_m.tmp1 CPU_TMP1 377 cpu_m.tmp2 CPU_TMP2 378 cpu_m.tmp3 CPU_TMP3 379 cpu_m.tmp4 CPU_TMP4 380 cpu_m.ofd CPU_OFD 381 cpu_m.lfd CPU_LFD 382 cpu_m.otd CPU_OTD 383 cpu_m.mpcb CPU_MPCB 384 cpu_m.cpu_private CPU_PRIVATE 385 cpu_m.cpu_mmu_idx CPU_MMU_IDX 386 cpu_m.cpu_mmu_ctxp CPU_MMU_CTXP 387 cpu_m.ptl1_state CPU_PTL1 388 389 cpu_core_t CPU_CORE_SIZE CPU_CORE_SHIFT 390 cpuc_dtrace_flags 391 cpuc_dtrace_illval 392 393 cpuset_t CPUSET_SIZE 394 395 ptl1_state PTL1_STATE_SIZE 396 ptl1_regs 397 ptl1_entry_count 398 ptl1_stktop 399 400 ptl1_trapregs 401 ptl1_tl 402 ptl1_tt 403 ptl1_tstate 404 ptl1_tpc 405 ptl1_tnpc 406 407 lgrp_ld LGRP_LD_SIZE 408 lpl_loadavg 409 lpl_ncpu 410 lpl_lgrpid 411 412 intr_vec IV_SIZE 413 iv_inum 414 iv_pil 415 iv_flags 416 iv_pad 417 iv_handler 418 iv_arg1 419 iv_arg2 420 iv_payload_buf 421 iv_vec_next 422 iv_pil_next 423 424 dmv_disp DMV_DISP_SIZE DMV_DISP_SHIFT 425 dmv_func 426 dmv_arg 427 428 spin_mutex SM_SIZE 429 m_spinlock 430 431 i_ndi_err NDI_ERR_SIZE 432 err_ena 433 err_status 434 err_ontrap 435 436 ddi_acc_impl DDI_ACC_IMPL_SIZE 437 ahi_common 438 ahi_get8 439 ahi_get16 440 ahi_get32 441 ahi_get64 442 ahi_put8 443 ahi_put16 444 ahi_put32 445 ahi_put64 446 ahi_rep_get8 447 ahi_rep_get16 448 ahi_rep_get32 449 ahi_rep_get64 450 ahi_rep_put8 451 ahi_rep_put16 452 ahi_rep_put32 453 ahi_rep_put64 454 ahi_fault_check 455 ahi_fault 456 ahi_err 457 458 stdata STDATA_SIZE 459 sd_lock 460 461 queue Q_SIZE 462 q_flag 463 q_next 464 q_stream 465 q_syncq 466 q_qinfo 467 468 qinit QI_SIZE 469 qi_putp 470 471 syncq SQ_SIZE 472 sq_flags 473 sq_count 474 sq_lock 475 sq_wait 476 sq_exitwait 477 478 bus_ops BUS_OPS_SIZE 479 bus_dma_map OPS_MAP 480 bus_dma_allochdl OPS_ALLOCHDL 481 bus_dma_freehdl OPS_FREEHDL 482 bus_dma_bindhdl OPS_BINDHDL 483 bus_dma_unbindhdl OPS_UNBINDHDL 484 bus_dma_flush OPS_FLUSH 485 bus_dma_win OPS_WIN 486 bus_dma_ctl OPS_MCTL 487 bus_ctl OPS_CTL 488 489 dev_ops DEV_OPS_SIZE 490 devo_bus_ops DEVI_BUS_OPS 491 492 dev_info DEVI_SIZE 493 devi_ops DEVI_DEV_OPS 494 devi_bus_dma_win 495 devi_bus_dma_allochdl 496 devi_bus_dma_freehdl 497 devi_bus_dma_bindhdl 498 devi_bus_dma_unbindhdl 499 devi_bus_dma_flush 500 devi_bus_dma_unbindfunc 501 devi_bus_ctl 502 devi_bus_dma_map 503 devi_bus_dma_ctl 504 505 kstat_io 506 wtime KSTAT_IO_WTIME 507 wlentime KSTAT_IO_WLENTIME 508 wlastupdate KSTAT_IO_WLASTUPDATE 509 rtime KSTAT_IO_RTIME 510 rlentime KSTAT_IO_RLENTIME 511 rlastupdate KSTAT_IO_RLASTUPDATE 512 wcnt KSTAT_IO_WCNT 513 rcnt KSTAT_IO_RCNT 514 515 ddi_dma_impl 516 dmai_rflags DMA_HANDLE_RFLAGS 517 dmai_rdip DMA_HANDLE_RDIP 518 519 on_trap_data 520 ot_prot 521 ot_trap 522 ot_trampoline 523 ot_jmpbuf 524 ot_prev 525 ot_handle 526 ot_pad1 527 528 fpustat_kstat FPUSTAT_KSTAT_SIZE 529 fpu_unfinished_traps.value FPUSTAT_UNFIN_KSTAT 530 531 fpuinfo_kstat FPUINFO_KSTAT_SIZE 532 fpu_sim_fitos.value FPUINFO_FITOS_KSTAT 533 534 mod_stub_info MODS_SIZE 535 mods_func_adr MODS_INSTFCN 536 mods_errfcn MODS_RETFCN 537 mods_flag MODS_FLAG 538 539 copyops 540 cp_copyin 541 cp_xcopyin 542 cp_copyout 543 cp_xcopyout 544 cp_copyinstr 545 cp_copyoutstr 546 cp_fuword8 547 cp_fuword16 548 cp_fuword32 549 cp_fuword64 550 cp_suword8 551 cp_suword16 552 cp_suword32 553 cp_suword64 554 cp_physio 555 556 brand BRAND_SIZE 557 b_machops 558