Print this page
OS-5192 need faster clock_gettime
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Joshua M. Clulow <jmc@joyent.com>
Reviewed by: Ryan Zezeski <ryan@zinascii.com>
OS-5202 Support AT_SECURE & AT_*ID in LX
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
OS-3405 lx brand: socket() fails for PF_INET6
OS-3382 lxbrand 64bit gettimeofday depends on vsyscall or vdso
OS-3280 need a way to specify the root of a native system in the lx brand
OS-3279 lx brand should allow delegated datasets
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
OS-2949 add support for AT_RANDOM aux vector entry

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/sys/auxv.h
          +++ new/usr/src/uts/common/sys/auxv.h
↓ open down ↓ 21 lines elided ↑ open up ↑
  22   22  /*        All Rights Reserved   */
  23   23  
  24   24  
  25   25  /*
  26   26   * Copyright 2014 Garrett D'Amore <garrett@damore.org>
  27   27   *
  28   28   * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  29   29   * Use is subject to license terms.
  30   30   */
  31   31  /*
  32      - * Copyright (c) 2012, Joyent, Inc.  All rights reserved.
       32 + * Copyright 2016 Joyent, Inc.
  33   33   */
  34   34  
  35   35  #ifndef _SYS_AUXV_H
  36   36  #define _SYS_AUXV_H
  37   37  
  38   38  #include <sys/types.h>
  39   39  
  40   40  #ifdef  __cplusplus
  41   41  extern "C" {
  42   42  #endif
↓ open down ↓ 28 lines elided ↑ open up ↑
  71   71  #define AT_IGNORE       1
  72   72  #define AT_EXECFD       2
  73   73  #define AT_PHDR         3       /* &phdr[0] */
  74   74  #define AT_PHENT        4       /* sizeof(phdr[0]) */
  75   75  #define AT_PHNUM        5       /* # phdr entries */
  76   76  #define AT_PAGESZ       6       /* getpagesize(2) */
  77   77  #define AT_BASE         7       /* ld.so base addr */
  78   78  #define AT_FLAGS        8       /* processor flags */
  79   79  #define AT_ENTRY        9       /* a.out entry point */
  80   80  
       81 +/* First introduced on Linux */
       82 +#define AT_RANDOM       25      /* address of 16 random bytes */
       83 +
  81   84  /*
  82   85   * These relate to the original PPC ABI document; Linux reused
  83   86   * the values for other things (see below), so disambiguation of
  84   87   * these values may require additional context in PPC binaries.
  85   88   *
  86   89   * AT_DCACHEBSIZE       10      smallest data cache block size
  87   90   * AT_ICACHEBSIZE       11      smallest instruction cache block size
  88   91   * AT_UCACHEBSIZE       12      smallest unified cache block size
  89   92   *
  90   93   * These are the values from LSB 1.3, the first five are also described
  91   94   * in the draft amd64 ABI.
  92   95   *
  93      - * At the time of writing, Solaris doesn't place any of these values into
  94      - * the aux vector, except AT_CLKTCK which is placed on the aux vector for
  95      - * lx branded processes; also, we do similar things via AT_SUN_ values.
       96 + * At the time of writing, illumos doesn't place any of these values into the
       97 + * aux vector, except where noted. We do similar things via AT_SUN_ values.
  96   98   *
  97   99   * AT_NOTELF            10      program is not ELF?
  98      - * AT_UID               11      real user id
  99      - * AT_EUID              12      effective user id
 100      - * AT_GID               13      real group id
 101      - * AT_EGID              14      effective group id
      100 + * AT_UID               11      real user id (provided in LX)
      101 + * AT_EUID              12      effective user id (provided in LX)
      102 + * AT_GID               13      real group id (provided in LX)
      103 + * AT_EGID              14      effective group id (provided in LX)
 102  104   *
 103  105   * AT_PLATFORM          15
 104  106   * AT_HWCAP             16
 105      - * AT_CLKTCK            17      c.f. _SC_CLK_TCK
      107 + * AT_CLKTCK            17      c.f. _SC_CLK_TCK (provided in LX)
 106  108   * AT_FPUCW             18
 107  109   *
 108  110   * AT_DCACHEBSIZE       19      (moved from 10)
 109  111   * AT_ICACHEBSIZE       20      (moved from 11)
 110  112   * AT_UCACHEBSIZE       21      (moved from 12)
 111  113   *
 112  114   * AT_IGNOREPPC         22
      115 + *
      116 + * On Linux:
      117 + * AT_* values 18 through 22 are reserved
      118 + * AT_SECURE            23      secure mode boolean (provided in LX)
      119 + * AT_BASE_PLATFORM     24      string identifying real platform, may
      120 + *                              differ from AT_PLATFORM.
      121 + * AT_HWCAP2            26      extension of AT_HWCAP
      122 + * AT_EXECFN            31      filename of program
      123 + * AT_SYSINFO           32
      124 + * AT_SYSINFO_EHDR      33      The vDSO location
 113  125   */
 114  126  
 115  127  /*
 116  128   * Sun extensions begin here
 117  129   */
 118  130  #define AT_SUN_UID      2000    /* effective user id */
 119  131  #define AT_SUN_RUID     2001    /* real user id */
 120  132  #define AT_SUN_GID      2002    /* effective group id */
 121  133  #define AT_SUN_RGID     2003    /* real group id */
 122  134  
↓ open down ↓ 56 lines elided ↑ open up ↑
 179  191  #define AT_SUN_EMULATOR         2018
 180  192  
 181  193  #define AT_SUN_BRANDNAME        2019
 182  194  
 183  195  /*
 184  196   * Aux vectors available for brand modules.
 185  197   */
 186  198  #define AT_SUN_BRAND_AUX1       2020
 187  199  #define AT_SUN_BRAND_AUX2       2021
 188  200  #define AT_SUN_BRAND_AUX3       2022
      201 +#define AT_SUN_BRAND_AUX4       2025
      202 +#define AT_SUN_BRAND_NROOT      2024
 189  203  
 190  204  /*
      205 + * Aux vector for comm page
      206 + */
      207 +#define AT_SUN_COMMPAGE         2026
      208 +
      209 +/*
 191  210   * Note that 2023 is reserved for the AT_SUN_HWCAP2 word defined above.
 192  211   */
 193  212  
 194  213  /*
 195  214   * The kernel is in a better position to determine whether a process needs to
 196  215   * ignore dangerous LD environment variables.  If set, this flags tells
 197  216   * ld.so.1 to run "secure" and ignore the the environment.
 198  217   */
 199  218  #define AF_SUN_SETUGID          0x00000001
 200  219  
↓ open down ↓ 26 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX