Print this page
    
OS-3149 lx brand always sends SIGCHLD to parent processes, regardless of how clone was invoked
OS-2887 lxbrand add WALL, WCLONE, WNOTHREAD support to waitid
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
    
      
        | Split | 
	Close | 
      
      | Expand all | 
      | Collapse all | 
    
    
          --- old/usr/src/uts/sun4/ml/offsets.in
          +++ new/usr/src/uts/sun4/ml/offsets.in
   1    1  \ offsets.in: input file to produce assym.h using the stabs program
   2    2  \ Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
   3    3  \ Copyright 2012 Garrett D'Amore <garett@damore.org>.  All rights reserved.
   4    4  \
   5    5  \ CDDL HEADER START
   6    6  \
   7    7  \ The contents of this file are subject to the terms of the
   8    8  \ Common Development and Distribution License (the "License").
   9    9  \ You may not use this file except in compliance with the License.
  10   10  \
  11   11  \ You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  12   12  \ or http://www.opensolaris.org/os/licensing.
  13   13  \ See the License for the specific language governing permissions
  14   14  \ and limitations under the License.
  15   15  \
  16   16  \ When distributing Covered Code, include this CDDL HEADER in each
  17   17  \ file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  18   18  \ If applicable, add the following below this CDDL HEADER, with the
  19   19  \ fields enclosed by brackets "[]" replaced with your own identifying
  20   20  \ information: Portions Copyright [yyyy] [name of copyright owner]
  21   21  \
  22   22  \ CDDL HEADER END
  23   23  \
  24   24  \
  25   25  \
  26   26  \ Guidelines:
  27   27  \ 
  28   28  \ A blank line is required between structure/union/intrinsic names.
  29   29  \ 
  30   30  \ The general form is:
  31   31  \ 
  32   32  \       name size_define [shift_define]
  33   33  \               member_name [offset_define]
  34   34  \       {blank line}
  35   35  \ 
  36   36  \ If offset_define is not specified then the member_name is
  37   37  \ converted to all caps and used instead.  If the size of an item is
  38   38  \ a power of two then an optional shift count may be output using
  39   39  \ shift_define as the name but only if shift_define was specified.
  40   40  \ 
  41   41  \ Arrays cause stabs to automatically output the per-array-item increment
  42   42  \ in addition to the base address:
  43   43  \ 
  44   44  \        foo FOO_SIZE
  45   45  \               array   FOO_ARRAY
  46   46  \ 
  47   47  \ results in:
  48   48  \ 
  49   49  \       #define FOO_ARRAY       0x0
  50   50  \       #define FOO_ARRAY_INCR  0x4
  51   51  \ 
  52   52  \ which allows \#define's to be used to specify array items:
  53   53  \ 
  54   54  \       #define FOO_0   (FOO_ARRAY + (0 * FOO_ARRAY_INCR))
  55   55  \       #define FOO_1   (FOO_ARRAY + (1 * FOO_ARRAY_INCR))
  56   56  \       ...
  57   57  \       #define FOO_n   (FOO_ARRAY + (n * FOO_ARRAY_INCR))
  58   58  \ 
  59   59  \ There are several examples below (search for _INCR).
  60   60  \ 
  61   61  \ There is currently no manner in which to identify "anonymous"
  62   62  \ structures or unions so if they are to be used in assembly code
  63   63  \ they must be given names.
  64   64  \ 
  65   65  \ When specifying the offsets of nested structures/unions each nested
  66   66  \ structure or union must be listed separately then use the
  67   67  \ "\#define" escapes to add the offsets from the base structure/union
  68   68  \ and all of the nested structures/unions together.  See the many
  69   69  \ examples already in this file.
  70   70  
  71   71  #ifndef _GENASSYM
  72   72  #define _GENASSYM
  73   73  #endif
  74   74  
  75   75  #define SIZES   1
  76   76  
  77   77  #include <sys/mutex_impl.h>
  78   78  #include <sys/lockstat.h>
  79   79  #include <sys/ddi_isa.h>
  80   80  #include <sys/ivintr.h>
  81   81  #include <sys/ddi_impldefs.h>
  82   82  #include <vm/hat_sfmmu.h>
  83   83  #include <sys/avintr.h>
  84   84  #include <sys/strsubr.h>
  85   85  #include <sys/dmv.h>
  86   86  #include <sys/fpu/fpu_simulator.h>
  87   87  #include <sys/ontrap.h>
  88   88  #include <sys/lgrp.h>
  89   89  #include <sys/ddifm_impl.h>
  90   90  #include <sys/brand.h>
  91   91  
  92   92  greg_t          GREGSIZE
  93   93  
  94   94  uintptr_t       LWP_ARG_SZ
  95   95  
  96   96  proc            PROCSIZE
  97   97          p_link
  98   98          p_next
  99   99          p_child
 100  100          p_sibling
 101  101          p_sig
  
    | 
      ↓ open down ↓ | 
    101 lines elided | 
    
      ↑ open up ↑ | 
  
 102  102          p_wcode
 103  103          p_flag
 104  104          p_tlist
 105  105          p_as
 106  106          p_lockp
 107  107          p_pidp
 108  108          p_fixalignment
 109  109          p_utraps
 110  110          p_agenttp
 111  111          p_brand
 112      -        p_brand_data
      112 +        __p_brand_data
 113  113  
 114  114  \#define        P_UTRAP4        (UT_ILLTRAP_INSTRUCTION * CPTRSIZE)
 115  115  \#define        P_UTRAP7        (UT_FP_DISABLED * CPTRSIZE)
 116  116  \#define        P_UTRAP8        (UT_FP_EXCEPTION_IEEE_754 * CPTRSIZE)
 117  117  \#define        P_UTRAP10       (UT_TAG_OVERFLOW * CPTRSIZE)
 118  118  \#define        P_UTRAP11       (UT_DIVISION_BY_ZERO * CPTRSIZE)
 119  119  \#define        P_UTRAP15       (UT_MEM_ADDRESS_NOT_ALIGNED * CPTRSIZE)
 120  120  \#define        P_UTRAP16       (UT_PRIVILEGED_ACTION * CPTRSIZE)
 121  121  
 122  122  pid     PID_SIZE
 123  123          pid_id  PID_PIDID
 124  124  
 125  125  _label_t        LABEL_SIZE
 126  126          val     LABEL_VAL
 127  127  
 128  128  _kthread        THREAD_SIZE
 129  129          t_lock
 130  130          t_lock_flush
 131  131          t_lockp
 132  132          t_oldspl
 133  133          t_pri
 134  134          t_lwp
 135  135          t_procp
 136  136          t_link
 137  137          t_state
 138  138          t_mstate
 139  139          t_stk           T_STACK
 140  140          t_swap
 141  141          t_flag          T_FLAGS
 142  142          t_ctx
 143  143          t_pcb
 144  144          t_lofault
 145  145          t_onfault
 146  146          t_ontrap
 147  147          t_nomigrate
 148  148          t_cpu
 149  149          t_weakbound_cpu
 150  150          t_lpl
 151  151          t_bound_cpu
 152  152          t_intr
 153  153          t_forw
 154  154          t_back
 155  155          t_sig
 156  156          t_tid
 157  157          t_pre_sys
 158  158          t_preempt
 159  159          t_proc_flag
 160  160          t_startpc
 161  161          t_sysnum
 162  162          _tu._t_post_sys_ast     T_POST_SYS_AST
 163  163          _tu._ts._t_astflag      T_ASTFLAG
 164  164          _tu._ts._t_sig_check    T_SIG_CHECK
 165  165          _tu._ts._t_post_sys     T_POST_SYS
 166  166          _tu._ts._t_trapret      T_TRAPRET
 167  167          t_preempt_lk
 168  168          t_kpri_req
 169  169          t_lockstat
 170  170          t_pil
 171  171          t_intr_start
 172  172          _tdu._tds._t_dtrace_on  T_DTRACE_ON
 173  173          _tdu._tds._t_dtrace_step T_DTRACE_STEP
 174  174          _tdu._tds._t_dtrace_ret T_DTRACE_RET
 175  175          _tdu._tds._t_dtrace_ast T_DTRACE_AST
 176  176          _tdu._t_dtrace_ft       T_DTRACE_FT
 177  177          t_dtrace_npc
 178  178          t_copyops
 179  179  
 180  180  \#define        L_PC    (0 * LABEL_VAL_INCR)
 181  181  \#define        L_SP    (1 * LABEL_VAL_INCR)
 182  182  
 183  183  \#define        T_PC    (T_PCB + L_PC)
 184  184  \#define        T_SP    (T_PCB + L_SP)
 185  185  
 186  186  sysent  SYSENT_SIZE SYSENT_SHIFT
 187  187          sy_callc
 188  188          sy_flags
 189  189  
 190  190  as      AS_SIZE
 191  191          a_hat
 192  192          a_userlimit
 193  193  
 194  194  hmehash_bucket  HMEBUCK_SIZE
 195  195          hmeblkp HMEBUCK_HBLK
 196  196          hmeh_nextpa     HMEBUCK_NEXTPA
 197  197          hmeh_listlock   HMEBUCK_LOCK
 198  198  
 199  199  tte_t   TTE_SIZE
 200  200          ll      TTE_LL
 201  201  
 202  202  ism_blk ISMBLK_SIZE
 203  203          iblk_maps       IBLK_MAPS
 204  204          iblk_next       IBLK_NEXT
 205  205          iblk_nextpa     IBLK_NEXTPA
 206  206  
 207  207  ism_map_t       ISM_MAP_SZ
 208  208          imap_seg        IMAP_SEG
 209  209          imap_vb_shift   IMAP_VB_SHIFT
 210  210          imap_rid        IMAP_RID
 211  211          imap_hatflags   IMAP_HATFLAGS
 212  212          imap_sz_mask    IMAP_SZ_MASK
 213  213          imap_ismhat     IMAP_ISMHAT
 214  214  
 215  215  tsbe    TSBE_SIZE
 216  216          tte_tag         TSBE_TAG
 217  217          tte_data        TSBE_TTE
 218  218  
 219  219  tsb_tag TSBTAG_SIZE
 220  220          tagints.inthi   TSBTAG_INTHI
 221  221          tagints.intlo   TSBTAG_INTLO
 222  222  
 223  223  hme_blk HMEBLK_SIZE
 224  224          hblk_next       HMEBLK_NEXT
 225  225          hblk_tag        HMEBLK_TAG
 226  226          hblk_misc       HMEBLK_MISC
 227  227          hblk_hme        HMEBLK_HME1
 228  228          hblk_nextpa     HMEBLK_NEXTPA
 229  229  
 230  230  mmu_ctx MMU_CTX_SIZE
 231  231          mmu_gnum        MMU_CTX_GNUM
 232  232          mmu_cnum        MMU_CTX_CNUM
 233  233          mmu_nctxs       MMU_CTX_NCTXS
 234  234  
 235  235  sfmmu_ctx       SFMMU_MMU_CTX_SIZE SFMMU_MMU_CTX_SHIFT
 236  236          gnum            SFMMU_MMU_GC_NUM
 237  237  
 238  238  user    USIZEBYTES
 239  239          u_comm
 240  240          u_signal
 241  241  
 242  242  _klwp   LWP_SIZE
 243  243          lwp_thread
 244  244          lwp_regs
 245  245          lwp_fpu
 246  246          lwp_arg
 247  247          lwp_cursig
 248  248          lwp_ru.sysc                     LWP_RU_SYSC
 249  249          lwp_state
 250  250          lwp_mstate.ms_start             LWP_MS_START
 251  251          lwp_mstate.ms_prev              LWP_MS_PREV
 252  252          lwp_mstate.ms_state_start       LWP_STATE_START
 253  253          lwp_mstate.ms_acct              LWP_MS_ACCT
 254  254          lwp_pcb.pcb_flags               PCB_FLAGS
 255  255          lwp_pcb.pcb_trap0addr           PCB_TRAP0
 256  256          lwp_pcb.pcb_step                PCB_STEP
 257  257          lwp_pcb.pcb_tracepc             PCB_TRACEPC
 258  258  
 259  259  mstate  MSTATE_SIZE
 260  260          ms_start
 261  261          ms_prev
 262  262          ms_term
 263  263          ms_state_start
 264  264          ms_acct
 265  265  
 266  266  \#define        LWP_ACCT_USER   (LWP_MS_ACCT + (LMS_USER * LWP_MS_ACCT_INCR))
 267  267  \#define        LWP_ACCT_SYSTEM (LWP_MS_ACCT + (LMS_SYSTEM * LWP_MS_ACCT_INCR))
 268  268  
 269  269  rwindow32       RWIN32SIZE      RWIN32SHIFT
 270  270          rw_local        RW32_LOCAL
 271  271          rw_in           RW32_IN
 272  272  
 273  273  rwindow64       RWIN64SIZE      RWIN64SHIFT
 274  274          rw_local        RW64_LOCAL
 275  275          rw_in           RW64_IN
 276  276  
 277  277  machpcb MPCBSIZE
 278  278          mpcb_regs
 279  279          mpcb_wbuf
 280  280          mpcb_spbuf
 281  281          mpcb_wbcnt
 282  282          mpcb_rwin
 283  283          mpcb_rsp
 284  284          mpcb_flags
 285  285          mpcb_thread
 286  286          mpcb_wstate
 287  287          mpcb_pa         MPCB_PA
 288  288          mpcb_wbuf_pa
 289  289  
 290  290  \#define        MPCB_RWIN0      (MPCB_RWIN + (0 * MPCB_RWIN_INCR))
 291  291  \#define        MPCB_RWIN1      (MPCB_RWIN + (1 * MPCB_RWIN_INCR))
 292  292  \#define        MPCB_RSP0       (MPCB_RSP + (0 * MPCB_RSP_INCR))
 293  293  \#define        MPCB_RSP1       (MPCB_RSP + (1 * MPCB_RSP_INCR))
 294  294  
 295  295  kfpu_t  KFPUSIZE
 296  296          fpu_fr.fpu_regs         FPU_REGS
 297  297          fpu_fsr
 298  298          fpu_fprs
 299  299          fpu_q
 300  300          fpu_qcnt
 301  301          fpu_en
 302  302  
 303  303  \#define        FPU_GSR         KFPUSIZE
 304  304  
 305  305  regs    REGSIZE
 306  306          r_tstate        TSTATE_OFF
 307  307          r_g1            G1_OFF
 308  308          r_g2            G2_OFF
 309  309          r_g3            G3_OFF
 310  310          r_g4            G4_OFF
 311  311          r_g5            G5_OFF
 312  312          r_g6            G6_OFF
 313  313          r_g7            G7_OFF
 314  314          r_o0            O0_OFF
 315  315          r_o1            O1_OFF
 316  316          r_o2            O2_OFF
 317  317          r_o3            O3_OFF
 318  318          r_o4            O4_OFF
 319  319          r_o5            O5_OFF
 320  320          r_o6            O6_OFF
 321  321          r_o7            O7_OFF
 322  322          r_pc            PC_OFF
 323  323          r_npc           NPC_OFF
 324  324          r_y             Y_OFF
 325  325  
 326  326  \ XXX - doesn't preserve case up above
 327  327  \#define        nPC_OFF         NPC_OFF
 328  328  
 329  329  autovec         AUTOVECSIZE
 330  330          av_vector
 331  331          av_intarg
 332  332  
 333  333  cpu     CPUSIZE
 334  334          cpu_id
 335  335          cpu_flags
 336  336          cpu_thread
 337  337          cpu_thread_lock
 338  338          cpu_kprunrun
 339  339          cpu_lwp
 340  340          cpu_fpowner
 341  341          cpu_idle_thread
 342  342          cpu_intr_thread
 343  343          cpu_intr_actv
 344  344          cpu_base_spl
 345  345          cpu_intr_stack
 346  346          cpu_stats.sys.cpumigrate        CPU_STATS_SYS_CPUMIGRATE
 347  347          cpu_stats.sys.intr              CPU_STATS_SYS_INTR
 348  348          cpu_stats.sys.intrunpin         CPU_STATS_SYS_INTRUNPIN
 349  349          cpu_stats.sys.intrblk           CPU_STATS_SYS_INTRBLK
 350  350          cpu_stats.sys.syscall           CPU_STATS_SYS_SYSCALL
 351  351          cpu_profile_pc
 352  352          cpu_profile_upc
 353  353          cpu_profile_pil
 354  354          cpu_ftrace.ftd_state            CPU_FTRACE_STATE
 355  355          cpu_mstate
 356  356          cpu_intracct
 357  357          cpu_cpcprofile_pc
 358  358          cpu_cpcprofile_upc
 359  359          cpu_m                           CPU_MCPU
 360  360          cpu_m.divisor                   CPU_DIVISOR
 361  361          cpu_m.intrstat                  CPU_INTRSTAT
 362  362          cpu_m.pil_high_start            CPU_PIL_HIGH_START
 363  363          cpu_m.intr_tail                 INTR_TAIL
 364  364          cpu_m.intr_head                 INTR_HEAD
 365  365          cpu_m.tl1_hdlr                  CPU_TL1_HDLR
 366  366          cpu_m.intrcnt                   CPU_INTRCNT
 367  367          cpu_m.tmp1                      CPU_TMP1
 368  368          cpu_m.tmp2                      CPU_TMP2
 369  369          cpu_m.tmp3                      CPU_TMP3
 370  370          cpu_m.tmp4                      CPU_TMP4
 371  371          cpu_m.ofd                       CPU_OFD
 372  372          cpu_m.lfd                       CPU_LFD
 373  373          cpu_m.otd                       CPU_OTD
 374  374          cpu_m.mpcb                      CPU_MPCB
 375  375          cpu_m.cpu_private               CPU_PRIVATE
 376  376          cpu_m.cpu_mmu_idx               CPU_MMU_IDX
 377  377          cpu_m.cpu_mmu_ctxp              CPU_MMU_CTXP
 378  378          cpu_m.ptl1_state                CPU_PTL1
 379  379  
 380  380  cpu_core_t      CPU_CORE_SIZE   CPU_CORE_SHIFT
 381  381          cpuc_dtrace_flags
 382  382          cpuc_dtrace_illval
 383  383  
 384  384  cpuset_t        CPUSET_SIZE
 385  385  
 386  386  ptl1_state      PTL1_STATE_SIZE
 387  387          ptl1_regs
 388  388          ptl1_entry_count
 389  389          ptl1_stktop
 390  390  
 391  391  ptl1_trapregs
 392  392          ptl1_tl
 393  393          ptl1_tt
 394  394          ptl1_tstate
 395  395          ptl1_tpc
 396  396          ptl1_tnpc
 397  397  
 398  398  lgrp_ld         LGRP_LD_SIZE
 399  399          lpl_loadavg
 400  400          lpl_ncpu
 401  401          lpl_lgrpid
 402  402  
 403  403  intr_vec IV_SIZE
 404  404          iv_inum
 405  405          iv_pil
 406  406          iv_flags
 407  407          iv_pad
 408  408          iv_handler
 409  409          iv_arg1
 410  410          iv_arg2
 411  411          iv_payload_buf
 412  412          iv_vec_next
 413  413          iv_pil_next
 414  414  
 415  415  dmv_disp DMV_DISP_SIZE DMV_DISP_SHIFT
 416  416          dmv_func
 417  417          dmv_arg
 418  418  
 419  419  spin_mutex SM_SIZE
 420  420          m_spinlock
 421  421  
 422  422  i_ndi_err       NDI_ERR_SIZE
 423  423          err_ena
 424  424          err_status
 425  425          err_ontrap
 426  426  
 427  427  ddi_acc_impl    DDI_ACC_IMPL_SIZE
 428  428          ahi_common
 429  429          ahi_get8
 430  430          ahi_get16
 431  431          ahi_get32
 432  432          ahi_get64
 433  433          ahi_put8
 434  434          ahi_put16
 435  435          ahi_put32
 436  436          ahi_put64
 437  437          ahi_rep_get8
 438  438          ahi_rep_get16
 439  439          ahi_rep_get32
 440  440          ahi_rep_get64
 441  441          ahi_rep_put8
 442  442          ahi_rep_put16
 443  443          ahi_rep_put32
 444  444          ahi_rep_put64
 445  445          ahi_fault_check
 446  446          ahi_fault
 447  447          ahi_err
 448  448  
 449  449  stdata  STDATA_SIZE
 450  450          sd_lock
 451  451  
 452  452  queue    Q_SIZE
 453  453          q_flag
 454  454          q_next
 455  455          q_stream
 456  456          q_syncq
 457  457          q_qinfo
 458  458  
 459  459  qinit   QI_SIZE
 460  460          qi_putp
 461  461  
 462  462  syncq   SQ_SIZE
 463  463          sq_flags
 464  464          sq_count
 465  465          sq_lock
 466  466          sq_wait
 467  467          sq_exitwait
 468  468  
 469  469  bus_ops         BUS_OPS_SIZE
 470  470          bus_dma_allochdl        OPS_ALLOCHDL
 471  471          bus_dma_freehdl         OPS_FREEHDL
 472  472          bus_dma_bindhdl         OPS_BINDHDL
 473  473          bus_dma_unbindhdl       OPS_UNBINDHDL
 474  474          bus_dma_flush           OPS_FLUSH
 475  475          bus_dma_win             OPS_WIN
 476  476          bus_dma_ctl             OPS_MCTL
 477  477          bus_ctl                 OPS_CTL
 478  478  
 479  479  dev_ops         DEV_OPS_SIZE
 480  480          devo_bus_ops    DEVI_BUS_OPS
 481  481  
 482  482  dev_info        DEVI_SIZE
 483  483          devi_ops        DEVI_DEV_OPS
 484  484          devi_bus_dma_win
 485  485          devi_bus_dma_allochdl
 486  486          devi_bus_dma_freehdl
 487  487          devi_bus_dma_bindhdl
 488  488          devi_bus_dma_unbindhdl
 489  489          devi_bus_dma_flush
 490  490          devi_bus_dma_unbindfunc
 491  491          devi_bus_ctl
 492  492          devi_bus_dma_ctl
 493  493  
 494  494  kstat_io
 495  495          wtime           KSTAT_IO_WTIME
 496  496          wlentime        KSTAT_IO_WLENTIME
 497  497          wlastupdate     KSTAT_IO_WLASTUPDATE
 498  498          rtime           KSTAT_IO_RTIME
 499  499          rlentime        KSTAT_IO_RLENTIME
 500  500          rlastupdate     KSTAT_IO_RLASTUPDATE
 501  501          wcnt            KSTAT_IO_WCNT
 502  502          rcnt            KSTAT_IO_RCNT
 503  503  
 504  504  ddi_dma_impl
 505  505          dmai_rflags     DMA_HANDLE_RFLAGS
 506  506          dmai_rdip       DMA_HANDLE_RDIP
 507  507  
 508  508  on_trap_data
 509  509          ot_prot
 510  510          ot_trap
 511  511          ot_trampoline
 512  512          ot_jmpbuf
 513  513          ot_prev
 514  514          ot_handle
 515  515          ot_pad1
 516  516  
 517  517  fpustat_kstat   FPUSTAT_KSTAT_SIZE
 518  518          fpu_unfinished_traps.value      FPUSTAT_UNFIN_KSTAT
 519  519  
 520  520  fpuinfo_kstat   FPUINFO_KSTAT_SIZE
 521  521          fpu_sim_fitos.value             FPUINFO_FITOS_KSTAT
 522  522  
 523  523  mod_stub_info   MODS_SIZE
 524  524          mods_func_adr   MODS_INSTFCN
 525  525          mods_errfcn     MODS_RETFCN
 526  526          mods_flag       MODS_FLAG
 527  527  
 528  528  copyops
 529  529          cp_copyin
 530  530          cp_xcopyin
 531  531          cp_copyout
 532  532          cp_xcopyout
 533  533          cp_copyinstr
 534  534          cp_copyoutstr
 535  535          cp_fuword8
 536  536          cp_fuword16
 537  537          cp_fuword32
 538  538          cp_fuword64
 539  539          cp_suword8
 540  540          cp_suword16
 541  541          cp_suword32
 542  542          cp_suword64
 543  543          cp_physio
 544  544  
 545  545  brand   BRAND_SIZE
 546  546          b_machops
 547  547  
 548  548  brand_proc_data_t
 549  549          spd_handler
  
    | 
      ↓ open down ↓ | 
    427 lines elided | 
    
      ↑ open up ↑ | 
  
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX