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
        
*** 27,37 ****
   *
   * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
   * Use is subject to license terms.
   */
  /*
!  * Copyright (c) 2012, Joyent, Inc.  All rights reserved.
   */
  
  #ifndef _SYS_AUXV_H
  #define _SYS_AUXV_H
  
--- 27,37 ----
   *
   * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
   * Use is subject to license terms.
   */
  /*
!  * Copyright 2016 Joyent, Inc.
   */
  
  #ifndef _SYS_AUXV_H
  #define _SYS_AUXV_H
  
*** 76,85 ****
--- 76,88 ----
  #define AT_PAGESZ       6       /* getpagesize(2) */
  #define AT_BASE         7       /* ld.so base addr */
  #define AT_FLAGS        8       /* processor flags */
  #define AT_ENTRY        9       /* a.out entry point */
  
+ /* First introduced on Linux */
+ #define AT_RANDOM       25      /* address of 16 random bytes */
+ 
  /*
   * These relate to the original PPC ABI document; Linux reused
   * the values for other things (see below), so disambiguation of
   * these values may require additional context in PPC binaries.
   *
*** 88,117 ****
   * AT_UCACHEBSIZE       12      smallest unified cache block size
   *
   * These are the values from LSB 1.3, the first five are also described
   * in the draft amd64 ABI.
   *
!  * At the time of writing, Solaris doesn't place any of these values into
!  * the aux vector, except AT_CLKTCK which is placed on the aux vector for
!  * lx branded processes; also, we do similar things via AT_SUN_ values.
   *
   * AT_NOTELF            10      program is not ELF?
!  * AT_UID               11      real user id
!  * AT_EUID              12      effective user id
!  * AT_GID               13      real group id
!  * AT_EGID              14      effective group id
   *
   * AT_PLATFORM          15
   * AT_HWCAP             16
!  * AT_CLKTCK            17      c.f. _SC_CLK_TCK
   * AT_FPUCW             18
   *
   * AT_DCACHEBSIZE       19      (moved from 10)
   * AT_ICACHEBSIZE       20      (moved from 11)
   * AT_UCACHEBSIZE       21      (moved from 12)
   *
   * AT_IGNOREPPC         22
   */
  
  /*
   * Sun extensions begin here
   */
--- 91,129 ----
   * AT_UCACHEBSIZE       12      smallest unified cache block size
   *
   * These are the values from LSB 1.3, the first five are also described
   * in the draft amd64 ABI.
   *
!  * At the time of writing, illumos doesn't place any of these values into the
!  * aux vector, except where noted. We do similar things via AT_SUN_ values.
   *
   * AT_NOTELF            10      program is not ELF?
!  * AT_UID               11      real user id (provided in LX)
!  * AT_EUID              12      effective user id (provided in LX)
!  * AT_GID               13      real group id (provided in LX)
!  * AT_EGID              14      effective group id (provided in LX)
   *
   * AT_PLATFORM          15
   * AT_HWCAP             16
!  * AT_CLKTCK            17      c.f. _SC_CLK_TCK (provided in LX)
   * AT_FPUCW             18
   *
   * AT_DCACHEBSIZE       19      (moved from 10)
   * AT_ICACHEBSIZE       20      (moved from 11)
   * AT_UCACHEBSIZE       21      (moved from 12)
   *
   * AT_IGNOREPPC         22
+  *
+  * On Linux:
+  * AT_* values 18 through 22 are reserved
+  * AT_SECURE            23      secure mode boolean (provided in LX)
+  * AT_BASE_PLATFORM     24      string identifying real platform, may
+  *                              differ from AT_PLATFORM.
+  * AT_HWCAP2            26      extension of AT_HWCAP
+  * AT_EXECFN            31      filename of program
+  * AT_SYSINFO           32
+  * AT_SYSINFO_EHDR      33      The vDSO location
   */
  
  /*
   * Sun extensions begin here
   */
*** 184,195 ****
--- 196,214 ----
   * Aux vectors available for brand modules.
   */
  #define AT_SUN_BRAND_AUX1       2020
  #define AT_SUN_BRAND_AUX2       2021
  #define AT_SUN_BRAND_AUX3       2022
+ #define AT_SUN_BRAND_AUX4       2025
+ #define AT_SUN_BRAND_NROOT      2024
  
  /*
+  * Aux vector for comm page
+  */
+ #define AT_SUN_COMMPAGE         2026
+ 
+ /*
   * Note that 2023 is reserved for the AT_SUN_HWCAP2 word defined above.
   */
  
  /*
   * The kernel is in a better position to determine whether a process needs to