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