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.tmp3 CPU_TMP3 377 cpu_m.tmp4 CPU_TMP4 378 cpu_m.ofd CPU_OFD 379 cpu_m.lfd CPU_LFD 380 cpu_m.otd CPU_OTD 381 cpu_m.mpcb CPU_MPCB 382 cpu_m.cpu_private CPU_PRIVATE 383 cpu_m.cpu_mmu_idx CPU_MMU_IDX 384 cpu_m.cpu_mmu_ctxp CPU_MMU_CTXP 385 cpu_m.ptl1_state CPU_PTL1 386 387cpu_core_t CPU_CORE_SIZE CPU_CORE_SHIFT 388 cpuc_dtrace_flags 389 cpuc_dtrace_illval 390 391cpuset_t CPUSET_SIZE 392 393ptl1_state PTL1_STATE_SIZE 394 ptl1_regs 395 ptl1_entry_count 396 ptl1_stktop 397 398ptl1_trapregs 399 ptl1_tl 400 ptl1_tt 401 ptl1_tstate 402 ptl1_tpc 403 ptl1_tnpc 404 405lgrp_ld LGRP_LD_SIZE 406 lpl_loadavg 407 lpl_ncpu 408 lpl_lgrpid 409 410intr_vec IV_SIZE 411 iv_inum 412 iv_pil 413 iv_flags 414 iv_pad 415 iv_handler 416 iv_arg1 417 iv_arg2 418 iv_payload_buf 419 iv_vec_next 420 iv_pil_next 421 422dmv_disp DMV_DISP_SIZE DMV_DISP_SHIFT 423 dmv_func 424 dmv_arg 425 426spin_mutex SM_SIZE 427 m_spinlock 428 429i_ndi_err NDI_ERR_SIZE 430 err_ena 431 err_status 432 err_ontrap 433 434ddi_acc_impl DDI_ACC_IMPL_SIZE 435 ahi_common 436 ahi_get8 437 ahi_get16 438 ahi_get32 439 ahi_get64 440 ahi_put8 441 ahi_put16 442 ahi_put32 443 ahi_put64 444 ahi_rep_get8 445 ahi_rep_get16 446 ahi_rep_get32 447 ahi_rep_get64 448 ahi_rep_put8 449 ahi_rep_put16 450 ahi_rep_put32 451 ahi_rep_put64 452 ahi_fault_check 453 ahi_fault 454 ahi_err 455 456stdata STDATA_SIZE 457 sd_lock 458 459queue Q_SIZE 460 q_flag 461 q_next 462 q_stream 463 q_syncq 464 q_qinfo 465 466qinit QI_SIZE 467 qi_putp 468 469syncq SQ_SIZE 470 sq_flags 471 sq_count 472 sq_lock 473 sq_wait 474 sq_exitwait 475 476bus_ops BUS_OPS_SIZE 477 bus_dma_map OPS_MAP 478 bus_dma_allochdl OPS_ALLOCHDL 479 bus_dma_freehdl OPS_FREEHDL 480 bus_dma_bindhdl OPS_BINDHDL 481 bus_dma_unbindhdl OPS_UNBINDHDL 482 bus_dma_flush OPS_FLUSH 483 bus_dma_win OPS_WIN 484 bus_dma_ctl OPS_MCTL 485 bus_ctl OPS_CTL 486 487dev_ops DEV_OPS_SIZE 488 devo_bus_ops DEVI_BUS_OPS 489 490dev_info DEVI_SIZE 491 devi_ops DEVI_DEV_OPS 492 devi_bus_dma_win 493 devi_bus_dma_allochdl 494 devi_bus_dma_freehdl 495 devi_bus_dma_bindhdl 496 devi_bus_dma_unbindhdl 497 devi_bus_dma_flush 498 devi_bus_dma_unbindfunc 499 devi_bus_ctl 500 devi_bus_dma_map 501 devi_bus_dma_ctl 502 503kstat_io 504 wtime KSTAT_IO_WTIME 505 wlentime KSTAT_IO_WLENTIME 506 wlastupdate KSTAT_IO_WLASTUPDATE 507 rtime KSTAT_IO_RTIME 508 rlentime KSTAT_IO_RLENTIME 509 rlastupdate KSTAT_IO_RLASTUPDATE 510 wcnt KSTAT_IO_WCNT 511 rcnt KSTAT_IO_RCNT 512 513ddi_dma_impl 514 dmai_rflags DMA_HANDLE_RFLAGS 515 dmai_rdip DMA_HANDLE_RDIP 516 517on_trap_data 518 ot_prot 519 ot_trap 520 ot_trampoline 521 ot_jmpbuf 522 ot_prev 523 ot_handle 524 ot_pad1 525 526fpustat_kstat FPUSTAT_KSTAT_SIZE 527 fpu_unfinished_traps.value FPUSTAT_UNFIN_KSTAT 528 529fpuinfo_kstat FPUINFO_KSTAT_SIZE 530 fpu_sim_fitos.value FPUINFO_FITOS_KSTAT 531 532mod_stub_info MODS_SIZE 533 mods_func_adr MODS_INSTFCN 534 mods_errfcn MODS_RETFCN 535 mods_flag MODS_FLAG 536 537copyops 538 cp_copyin 539 cp_xcopyin 540 cp_copyout 541 cp_xcopyout 542 cp_copyinstr 543 cp_copyoutstr 544 cp_fuword8 545 cp_fuword16 546 cp_fuword32 547 cp_fuword64 548 cp_suword8 549 cp_suword16 550 cp_suword32 551 cp_suword64 552 cp_physio 553 554brand BRAND_SIZE 555 b_machops 556