Print this page


Split Close
Expand all
Collapse all
          --- old/usr/src/uts/intel/sys/ucontext.h
          +++ new/usr/src/uts/intel/sys/ucontext.h
↓ open down ↓ 12 lines elided ↑ open up ↑
  13   13   * When distributing Covered Code, include this CDDL HEADER in each
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  
  22   22  /*
       23 + * Copyright 2015 Joyent, Inc.
  23   24   * Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
  24   25   * Copyright 2023 Oxide Computer Company
  25   26   *
  26   27   * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
  27   28   * Use is subject to license terms.
  28   29   */
  29   30  
  30   31  /*      Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
  31   32  /*        All Rights Reserved   */
  32   33  
↓ open down ↓ 49 lines elided ↑ open up ↑
  82   83  #endif
  83   84          unsigned long   uc_flags;
  84   85          ucontext_t      *uc_link;
  85   86          sigset_t        uc_sigmask;
  86   87          stack_t         uc_stack;
  87   88          mcontext_t      uc_mcontext;
  88   89          /*
  89   90           * The first three entries have been borrowed by the lx brand right now.
  90   91           * That should be consolidated into a single uc_brand entry with a
  91   92           * UC_BRAND flag. Until such time, we leave them as is.
       93 +         *
       94 +         * We rename those first three entries here for SmartOS.
  92   95           */
  93      -        long            uc_filler[3];
       96 +        void            *uc_brand_data[3];
  94   97          long            uc_xsave;
  95   98          long            uc_filler1;
  96   99  };
  97      -
  98  100  #if defined(_SYSCALL32)
  99  101  
 100  102  /* Kernel view of user ILP32 ucontext structure */
 101  103  
 102  104  typedef struct ucontext32 {
 103  105          uint32_t        uc_flags;
 104  106          caddr32_t       uc_link;
 105  107          sigset_t        uc_sigmask;
 106  108          stack32_t       uc_stack;
 107  109          mcontext32_t    uc_mcontext;
 108      -        int32_t         uc_filler[3];
      110 +        caddr32_t       uc_brand_data[3];
 109  111          int32_t         uc_xsave;
 110  112          int32_t         uc_filler1;
 111  113  } ucontext32_t;
 112  114  
 113  115  #if defined(_KERNEL)
 114  116  extern void ucontext_nto32(const ucontext_t *src, ucontext32_t *dest);
 115  117  extern void ucontext_32ton(const ucontext32_t *src, ucontext_t *dest);
 116  118  #endif
 117  119  
 118  120  #endif  /* _SYSCALL32 */
↓ open down ↓ 78 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX