Print this page
OS-5569 uberdata32_t is missing ul_brand member
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Approved by: Jerry Jelinek <jerry.jelinek@joyent.com>
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-2844 lx brand should support 64-bit user-land
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>

@@ -963,10 +963,11 @@
         int     nthreads;       /* total number of live threads/lwps */
         int     nzombies;       /* total number of zombie threads */
         int     ndaemons;       /* total number of THR_DAEMON threads/lwps */
         pid_t   pid;            /* the current process's pid */
         void    (*sigacthandler)(int, siginfo_t *, void *);
+        int     (*setctxt)(const ucontext_t *);
         ulwp_t  *lwp_stacks;
         ulwp_t  *lwp_laststack;
         int     nfreestack;
         int     thread_stack_cache;
         ulwp_t  *ulwp_freelist;

@@ -975,10 +976,12 @@
         ulwp_t  *ulwp_replace_last;
         atfork_t        *atforklist;    /* circular Q for fork handlers */
         robust_t        **robustlocks;  /* table of registered robust locks */
         robust_t        *robustlist;    /* list of registered robust locks */
         char    *progname;      /* the basename of the program, from argv[0] */
+        char    *ub_broot;      /* the root of the native code in the brand */
+        void    *ub_comm_page;  /* arch-specific comm page of kernel data */
         struct uberdata **tdb_bootstrap;
         tdb_t   tdb;            /* thread debug interfaces (for libc_db) */
 } uberdata_t;
 
 #define link_lock       _link_lock.pad_lock

@@ -1176,10 +1179,11 @@
         int             nthreads;
         int             nzombies;
         int             ndaemons;
         int             pid;
         caddr32_t       sigacthandler;
+        caddr32_t       setctxt;
         caddr32_t       lwp_stacks;
         caddr32_t       lwp_laststack;
         int             nfreestack;
         int             thread_stack_cache;
         caddr32_t       ulwp_freelist;

@@ -1188,10 +1192,12 @@
         caddr32_t       ulwp_replace_last;
         caddr32_t       atforklist;
         caddr32_t       robustlocks;
         caddr32_t       robustlist;
         caddr32_t       progname;
+        caddr32_t       ub_broot;
+        caddr32_t       ub_comm_page;
         caddr32_t       tdb_bootstrap;
         tdb32_t         tdb;
 } uberdata32_t;
 
 #endif  /* _SYSCALL32 */

@@ -1277,10 +1283,11 @@
 extern  void    tls_free(ulwp_t *);
 extern  void    rwl_free(ulwp_t *);
 extern  void    heldlock_exit(void);
 extern  void    heldlock_free(ulwp_t *);
 extern  void    sigacthandler(int, siginfo_t *, void *);
+extern  int     setctxt(const ucontext_t *);
 extern  void    signal_init(void);
 extern  int     sigequalset(const sigset_t *, const sigset_t *);
 extern  void    mutex_setup(void);
 extern  void    take_deferred_signal(int);
 extern  void    *setup_top_frame(void *, size_t, ulwp_t *);