Print this page
OS-5510 remove lwp_brand_syscall_fast handler
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
OS-4961 lxbrand want fasttrap-like brand hook
Reviewed by: Joshua M. Clulow <jmc@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
OS-3561 lxbrand emulation library should execute on alternate stack
OS-3558 lxbrand add support for full in-kernel syscall handling
OS-3545 lx_syscall_regs should not walk stack
OS-3868 many LTP testcases now hang
OS-3901 lxbrand lx_recvmsg fails to translate control messages when 64-bit
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Bryan Cantrill <bryan@joyent.com>
        
@@ -22,11 +22,11 @@
  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
 /*
- * Copyright (c) 2013, Joyent, Inc. All rights reserved.
+ * Copyright 2016 Joyent, Inc.
  */
 
 #ifndef _SYS_KLWP_H
 #define _SYS_KLWP_H
 
@@ -189,11 +189,18 @@
          * Contracts
          */
         struct ct_template *lwp_ct_active[CTT_MAXTYPE]; /* active templates */
         struct contract *lwp_ct_latest[CTT_MAXTYPE]; /* last created contract */
 
-        void    *lwp_brand;             /* per-lwp brand data */
+        /*
+         * Branding:
+         * lwp_brand                    - per-lwp brand data
+         * lwp_brand_syscall            - brand syscall interposer
+         */
+        void    *lwp_brand;
+        int     (*lwp_brand_syscall)(void);
+
         struct psinfo *lwp_spymaster;   /* if an agent LWP, our spymaster */
 } klwp_t;
 
 /* lwp states */
 #define LWP_USER        0x01            /* Running in user mode */