1 \
   2 \ Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
   3 \ Copyright 2012 Garrett D'Amore <garrett@damore.org>.  All rights reserved.
   4 \ Copyright 2019 Joyent, Inc.
   5 \
   6 \ CDDL HEADER START
   7 \
   8 \ The contents of this file are subject to the terms of the
   9 \ Common Development and Distribution License (the "License").
  10 \ You may not use this file except in compliance 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 \
  28 \ offsets.in: input file to produce assym.h using the ctfstabs program
  29 \
  30 
  31 #ifndef _GENASSYM
  32 #define _GENASSYM
  33 #endif
  34 
  35 #define SIZES   1
  36 
  37 #include <sys/types.h>
  38 #include <sys/bootsvcs.h>
  39 #include <sys/systm.h>
  40 #include <sys/sysinfo.h>
  41 #include <sys/user.h>
  42 #include <sys/thread.h>
  43 #include <sys/proc.h>
  44 #include <sys/cpuvar.h>
  45 #include <sys/tss.h>
  46 #include <sys/privregs.h>
  47 #include <sys/segments.h>
  48 #include <sys/devops.h>
  49 #include <sys/ddi_impldefs.h>
  50 #include <vm/as.h>
  51 #include <sys/avintr.h>
  52 #include <sys/pic.h>
  53 #include <sys/rm_platter.h>
  54 #include <sys/stream.h>
  55 #include <sys/strsubr.h>
  56 #include <sys/sunddi.h>
  57 #include <sys/modctl.h>
  58 #include <sys/traptrace.h>
  59 #include <sys/ontrap.h>
  60 #include <sys/lgrp.h>
  61 #include <sys/dtrace.h>
  62 #include <sys/brand.h>
  63 #include <sys/fastboot.h>
  64 #include <sys/cpr_wakecode.h>
  65 #include <sys/comm_page.h>
  66 
  67 proc            PROCSIZE
  68         p_link
  69         p_next
  70         p_child
  71         p_sibling
  72         p_sig
  73         p_flag
  74         p_tlist
  75         p_as
  76         p_lockp
  77         p_user
  78         p_model
  79         p_pctx
  80         p_agenttp
  81         p_zone
  82         p_brand
  83         p_brand_data
  84 
  85 _kthread        THREAD_SIZE
  86         t_pcb                   T_LABEL
  87         t_lock
  88         t_lockstat
  89         t_lockp
  90         t_lock_flush
  91         t_oldspl
  92         t_pri
  93         t_pil
  94         t_lwp
  95         t_procp
  96         t_link
  97         t_state
  98         t_mstate
  99         t_preempt_lk
 100         t_stk                   T_STACK
 101         t_swap
 102         t_lwpchan.lc_wchan      T_WCHAN
 103         t_flag                  T_FLAGS
 104         t_ctx
 105         t_lofault
 106         t_onfault
 107         t_ontrap
 108         t_cpu
 109         t_lpl
 110         t_bound_cpu
 111         t_intr
 112         t_forw
 113         t_back
 114         t_sig
 115         t_tid
 116         t_pre_sys
 117         t_preempt
 118         t_proc_flag
 119         t_startpc
 120         t_sysnum
 121         t_intr_start
 122         _tu._ts._t_astflag      T_ASTFLAG
 123         _tu._ts._t_post_sys     T_POST_SYS
 124         _tu._t_post_sys_ast     T_POST_SYS_AST
 125         t_copyops
 126 #ifdef  __amd64
 127         t_useracc
 128 #endif
 129 
 130 ctxop
 131         save_op                 CTXOP_SAVE
 132 
 133 as
 134         a_hat
 135 
 136 user    USIZEBYTES
 137         u_comm
 138         u_signal
 139 
 140 _label_t
 141         val     LABEL_VAL
 142 
 143 \#define        LABEL_PC        LABEL_VAL
 144 \#define        LABEL_SP        _CONST(LABEL_VAL + LABEL_VAL_INCR)
 145 \#define        T_PC            _CONST(T_LABEL + LABEL_PC)
 146 \#define        T_SP            _CONST(T_LABEL + LABEL_SP)
 147 
 148 _klwp
 149         lwp_thread
 150         lwp_procp
 151         lwp_brand
 152         lwp_eosys
 153         lwp_regs
 154         lwp_arg
 155         lwp_ap
 156         lwp_cursig
 157         lwp_state
 158         lwp_mstate.ms_acct      LWP_MS_ACCT
 159         lwp_mstate.ms_prev      LWP_MS_PREV
 160         lwp_mstate.ms_start     LWP_MS_START
 161         lwp_mstate.ms_state_start LWP_MS_STATE_START
 162         lwp_pcb
 163         lwp_ru.sysc             LWP_RU_SYSC
 164 
 165 \#define        LWP_ACCT_USER   _CONST(LWP_MS_ACCT + _MUL(LMS_USER, LWP_MS_ACCT_INCR))
 166 \#define        LWP_ACCT_SYSTEM _CONST(LWP_MS_ACCT + _MUL(LMS_SYSTEM, LWP_MS_ACCT_INCR))
 167 
 168 fpu_ctx
 169         fpu_regs                FPU_CTX_FPU_REGS
 170         fpu_flags               FPU_CTX_FPU_FLAGS
 171         fpu_xsave_mask          FPU_CTX_FPU_XSAVE_MASK
 172 
 173 fxsave_state    FXSAVE_STATE_SIZE
 174         fx_fsw                  FXSAVE_STATE_FSW
 175         fx_mxcsr_mask           FXSAVE_STATE_MXCSR_MASK
 176 
 177 
 178 autovec         AUTOVECSIZE
 179         av_vector
 180         av_intarg1
 181         av_intarg2
 182         av_ticksp
 183         av_link
 184         av_prilevel
 185         av_dip
 186 
 187 av_head
 188         avh_link
 189         avh_hi_pri
 190         avh_lo_pri
 191 
 192 cpu
 193         cpu_id
 194         cpu_flags
 195         cpu_self
 196         cpu_thread
 197         cpu_thread_lock
 198         cpu_kprunrun
 199         cpu_lwp
 200         cpu_fpowner
 201         cpu_idle_thread
 202         cpu_intr_thread
 203         cpu_intr_actv
 204         cpu_base_spl
 205         cpu_intr_stack
 206         cpu_stats.sys.cpumigrate        CPU_STATS_SYS_CPUMIGRATE
 207         cpu_stats.sys.intr              CPU_STATS_SYS_INTR
 208         cpu_stats.sys.intrblk           CPU_STATS_SYS_INTRBLK
 209         cpu_stats.sys.syscall           CPU_STATS_SYS_SYSCALL
 210         cpu_profile_pc
 211         cpu_profile_upc
 212         cpu_profile_pil
 213         cpu_ftrace.ftd_state            CPU_FTRACE_STATE
 214         cpu_mstate
 215         cpu_intracct
 216 
 217 \#define        CPU_INTR_ACTV_REF       _CONST(CPU_INTR_ACTV + 2)
 218 
 219 cpu
 220         cpu_m.pil_high_start    CPU_PIL_HIGH_START
 221         cpu_m.intrstat          CPU_INTRSTAT
 222         cpu_m.mcpu_current_hat  CPU_CURRENT_HAT
 223         cpu_m.mcpu_gdt          CPU_GDT
 224         cpu_m.mcpu_idt          CPU_IDT
 225         cpu_m.mcpu_tss          CPU_TSS
 226         cpu_m.mcpu_softinfo     CPU_SOFTINFO
 227         cpu_m.mcpu_pri          CPU_PRI
 228 #if defined(__xpv)
 229         cpu_m.mcpu_vcpu_info    CPU_VCPU_INFO
 230 #endif
 231 
 232 cpu
 233         cpu_m.mcpu_kpti.kf_kernel_cr3   CPU_KPTI_KCR3
 234         cpu_m.mcpu_kpti.kf_user_cr3     CPU_KPTI_UCR3
 235         cpu_m.mcpu_kpti.kf_tr_rsp       CPU_KPTI_TR_RSP
 236         cpu_m.mcpu_kpti.kf_tr_cr3       CPU_KPTI_TR_CR3
 237         cpu_m.mcpu_kpti.kf_r13          CPU_KPTI_R13
 238         cpu_m.mcpu_kpti.kf_r14          CPU_KPTI_R14
 239         cpu_m.mcpu_kpti.kf_tr_ret_rsp   CPU_KPTI_RET_RSP
 240 
 241         cpu_m.mcpu_kpti.kf_ss           CPU_KPTI_SS
 242         cpu_m.mcpu_kpti.kf_rsp          CPU_KPTI_RSP
 243         cpu_m.mcpu_kpti.kf_rflags       CPU_KPTI_RFLAGS
 244         cpu_m.mcpu_kpti.kf_cs           CPU_KPTI_CS
 245         cpu_m.mcpu_kpti.kf_rip          CPU_KPTI_RIP
 246         cpu_m.mcpu_kpti.kf_err          CPU_KPTI_ERR
 247 
 248         cpu_m.mcpu_pad2                 CPU_KPTI_START
 249         cpu_m.mcpu_pad3                 CPU_KPTI_END
 250 
 251         cpu_m.mcpu_kpti_dbg             CPU_KPTI_DBG
 252 
 253 kpti_frame
 254         kf_r14          KPTI_R14
 255         kf_r13          KPTI_R13
 256         kf_err          KPTI_ERR
 257         kf_rip          KPTI_RIP
 258         kf_cs           KPTI_CS
 259         kf_rflags       KPTI_RFLAGS
 260         kf_rsp          KPTI_RSP
 261         kf_ss           KPTI_SS
 262 
 263         kf_tr_rsp       KPTI_TOP
 264 
 265         kf_kernel_cr3   KPTI_KCR3
 266         kf_user_cr3     KPTI_UCR3
 267         kf_tr_ret_rsp   KPTI_RET_RSP
 268         kf_tr_cr3       KPTI_TR_CR3
 269 
 270         kf_tr_flag      KPTI_FLAG
 271 
 272 standard_pic
 273         c_curmask
 274         c_iplmask
 275 
 276 ddi_dma_impl
 277         dmai_rflags
 278         dmai_rdip
 279 
 280 dev_info
 281         devi_ops                DEVI_DEV_OPS
 282         devi_bus_ctl
 283         devi_bus_dma_ctl
 284         devi_bus_dma_allochdl
 285         devi_bus_dma_freehdl
 286         devi_bus_dma_bindhdl
 287         devi_bus_dma_unbindhdl
 288         devi_bus_dma_flush
 289         devi_bus_dma_win
 290 
 291 dev_ops
 292         devo_bus_ops            DEVI_BUS_OPS
 293 
 294 bus_ops
 295         bus_ctl                 OPS_CTL
 296         bus_dma_map             OPS_MAP
 297         bus_dma_ctl             OPS_MCTL
 298         bus_dma_allochdl        OPS_ALLOCHDL
 299         bus_dma_freehdl         OPS_FREEHDL
 300         bus_dma_bindhdl         OPS_BINDHDL
 301         bus_dma_unbindhdl       OPS_UNBINDHDL
 302         bus_dma_flush           OPS_FLUSH
 303         bus_dma_win             OPS_WIN
 304 
 305 sysent  SYSENT_SIZE     SYSENT_SIZE_SHIFT
 306         sy_callc
 307         sy_flags
 308         sy_narg
 309 
 310 stdata
 311         sd_lock
 312 
 313 queue
 314         q_flag
 315         q_next
 316         q_stream
 317         q_syncq
 318         q_qinfo
 319 
 320 qinit
 321         qi_putp
 322 
 323 syncq
 324         sq_flags
 325         sq_count
 326         sq_lock
 327         sq_wait
 328 
 329 rm_platter
 330         rm_idt_lim              IDTROFF
 331         rm_gdt_lim              GDTROFF
 332         rm_pdbr                 CR3OFF
 333         rm_cpu                  CPUNOFF
 334         rm_cr4                  CR4OFF
 335         rm_cpu_halt_code        CPUHALTCODEOFF
 336         rm_cpu_halted           CPUHALTEDOFF
 337 
 338 ddi_acc_impl
 339         ahi_acc_attr    ACC_ATTR
 340         ahi_get8        ACC_GETB
 341         ahi_get16       ACC_GETW
 342         ahi_get32       ACC_GETL
 343         ahi_get64       ACC_GETLL
 344         ahi_put8        ACC_PUTB
 345         ahi_put16       ACC_PUTW
 346         ahi_put32       ACC_PUTL
 347         ahi_put64       ACC_PUTLL
 348         ahi_rep_get8    ACC_REP_GETB
 349         ahi_rep_get16   ACC_REP_GETW
 350         ahi_rep_get32   ACC_REP_GETL
 351         ahi_rep_get64   ACC_REP_GETLL
 352         ahi_rep_put8    ACC_REP_PUTB
 353         ahi_rep_put16   ACC_REP_PUTW
 354         ahi_rep_put32   ACC_REP_PUTL
 355         ahi_rep_put64   ACC_REP_PUTLL
 356 
 357 on_trap_data
 358         ot_prot
 359         ot_trap
 360         ot_trampoline
 361         ot_jmpbuf
 362         ot_prev
 363         ot_handle
 364         ot_pad1
 365 
 366 trap_trace_ctl_t        __TRAPTR_SIZE TRAPTR_SIZE_SHIFT
 367         ttc_next        TRAPTR_NEXT
 368         ttc_first       TRAPTR_FIRST
 369         ttc_limit       TRAPTR_LIMIT
 370 
 371 trap_trace_rec_t        TRAP_ENT_SIZE
 372         ttr_cr2
 373         ttr_info.idt_entry.vector       TTR_VECTOR
 374         ttr_info.idt_entry.ipl          TTR_IPL
 375         ttr_info.idt_entry.spl          TTR_SPL
 376         ttr_info.idt_entry.pri          TTR_PRI
 377         ttr_info.gate_entry.sysnum      TTR_SYSNUM
 378         ttr_marker
 379         ttr_stamp
 380         ttr_curthread
 381         ttr_sdepth
 382         ttr_stack
 383 
 384 lgrp_ld
 385         lpl_lgrpid
 386 
 387 dtrace_id_t     DTRACE_IDSIZE
 388 
 389 cpu_core        CPU_CORE_SIZE   CPU_CORE_SHIFT
 390         cpuc_dtrace_flags
 391         cpuc_dtrace_illval
 392 
 393 timespec        TIMESPEC_SIZE
 394 
 395 gate_desc       GATE_DESC_SIZE
 396 
 397 desctbr_t       DESCTBR_SIZE
 398         dtr_limit
 399         dtr_base
 400 
 401 mod_stub_info   MODS_SIZE
 402         mods_func_adr   MODS_INSTFCN
 403         mods_errfcn     MODS_RETFCN
 404         mods_flag
 405 
 406 \#define        TRAP_TSIZE              _MUL(TRAP_ENT_SIZE, TRAPTR_NENT)
 407 
 408 copyops
 409         cp_copyin
 410         cp_xcopyin
 411         cp_copyout
 412         cp_xcopyout
 413         cp_copyinstr
 414         cp_copyoutstr
 415         cp_fuword8
 416         cp_fuword16
 417         cp_fuword32
 418         cp_fuword64
 419         cp_suword8
 420         cp_suword16
 421         cp_suword32
 422         cp_suword64
 423         cp_physio
 424 
 425 brand
 426         b_machops
 427 
 428 brand_proc_data_t
 429         spd_handler
 430 
 431 fastboot_file_t
 432         fb_va
 433         fb_pte_list_va
 434         fb_pte_list_pa
 435         fb_dest_pa
 436         fb_size
 437         fb_next_pa
 438         fb_sections
 439         fb_sectcnt
 440 
 441 fastboot_section_t
 442         fb_sec_offset
 443         fb_sec_paddr
 444         fb_sec_size
 445         fb_sec_bss_size
 446 
 447 fastboot_info_t
 448         fi_files
 449         fi_has_pae
 450         fi_pagetable_va
 451         fi_pagetable_pa
 452         fi_last_table_pa
 453         fi_new_mbi_pa
 454         fi_valid
 455 
 456 zone
 457         zone_brand_data
 458 
 459 wc_cpu  WC_CPU_SIZE
 460         wc_retaddr
 461         wc_virtaddr
 462         wc_cr0
 463         wc_cr3
 464         wc_cr4
 465         wc_cr8
 466         wc_fs
 467         wc_fsbase
 468         wc_gs
 469         wc_gsbase
 470         wc_kgsbase
 471         wc_r8
 472         wc_r9
 473         wc_r10
 474         wc_r11
 475         wc_r12
 476         wc_r13
 477         wc_r14
 478         wc_r15
 479         wc_rax
 480         wc_rbp
 481         wc_rbx
 482         wc_rcx
 483         wc_rdi
 484         wc_rdx
 485         wc_rsi
 486         wc_rsp
 487         wc_gdt_limit    WC_GDT
 488         wc_gdt_base
 489         wc_idt_limit    WC_IDT
 490         wc_idt_base
 491         wc_tr
 492         wc_ldt
 493         wc_eflags
 494         wc_ebx
 495         wc_edi
 496         wc_esi
 497         wc_ebp
 498         wc_esp
 499         wc_esp
 500         wc_ss
 501         wc_cs
 502         wc_ds
 503         wc_es
 504         wc_cpu_id
 505         wc_saved_stack
 506 
 507 wc_wakecode
 508         wc_cpu
 509 
 510 comm_page_s     COMM_PAGE_S_SIZE