Print this page
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>
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>
        
*** 133,142 ****
--- 133,144 ----
              uc.uc_sigmask.__sigbits[2], uc.uc_sigmask.__sigbits[3]);
          mdb_printf("  stack    = sp 0x%p size 0x%lx flags %s\n",
              uc.uc_stack.ss_sp, uc.uc_stack.ss_size, stack_flags(&uc.uc_stack));
          mdb_printf("  mcontext = 0x%p\n",
              addr + OFFSETOF(ucontext_t, uc_mcontext));
+         mdb_printf("  brand    = 0x%p 0x%p 0x%p\n",
+             uc.uc_brand_data[0], uc.uc_brand_data[1], uc.uc_brand_data[2]);
  
          return (DCMD_OK);
  }
  
  /*ARGSUSED*/
*** 844,862 ****
              OFFSET(ulwp_one),
              prt_addr(uberdata.ulwp_one, 1),
              prt_addr(uberdata.all_lwps, 1),
              prt_addr(uberdata.all_zombies, 0));
  
!         HD("nthreads   nzombies   ndaemons   pid        sigacthandler");
!         mdb_printf(OFFSTR "%-10d %-10d %-10d %-10d %s\n",
              OFFSET(nthreads),
              uberdata.nthreads,
              uberdata.nzombies,
              uberdata.ndaemons,
!             (int)uberdata.pid,
!             prt_addr((void *)uberdata.sigacthandler, 0));
  
          HD("lwp_stacks            lwp_laststack         nfreestack stk_cache");
          mdb_printf(OFFSTR "%s %s %-10d %d\n",
              OFFSET(lwp_stacks),
              prt_addr(uberdata.lwp_stacks, 1),
              prt_addr(uberdata.lwp_laststack, 1),
--- 846,869 ----
              OFFSET(ulwp_one),
              prt_addr(uberdata.ulwp_one, 1),
              prt_addr(uberdata.all_lwps, 1),
              prt_addr(uberdata.all_zombies, 0));
  
!         HD("nthreads   nzombies   ndaemons   pid");
!         mdb_printf(OFFSTR "%-10d %-10d %-10d %-10d\n",
              OFFSET(nthreads),
              uberdata.nthreads,
              uberdata.nzombies,
              uberdata.ndaemons,
!             (int)uberdata.pid);
  
+         HD("sigacthandler         setctxt");
+         mdb_printf(OFFSTR "%s %s\n",
+             OFFSET(sigacthandler),
+             prt_addr((void *)uberdata.sigacthandler, 1),
+             prt_addr((void *)uberdata.setctxt, 1));
+ 
          HD("lwp_stacks            lwp_laststack         nfreestack stk_cache");
          mdb_printf(OFFSTR "%s %s %-10d %d\n",
              OFFSET(lwp_stacks),
              prt_addr(uberdata.lwp_stacks, 1),
              prt_addr(uberdata.lwp_laststack, 1),
*** 874,890 ****
          mdb_printf(OFFSTR "%s %s\n",
              OFFSET(ulwp_replace_last),
              prt_addr(uberdata.ulwp_replace_last, 1),
              prt_addr(uberdata.atforklist, 0));
  
!         HD("robustlocks           robustlist            progname");
!         mdb_printf(OFFSTR "%s %s %s\n",
              OFFSET(robustlocks),
              prt_addr(uberdata.robustlocks, 1),
!             prt_addr(uberdata.robustlist, 1),
!             prt_addr(uberdata.progname, 0));
  
          HD("tdb_bootstrap         tdb_sync_addr_hash    tdb_'count tdb_'fail");
          mdb_printf(OFFSTR "%s %s %-10d %d\n",
              OFFSET(tdb_bootstrap),
              prt_addr(uberdata.tdb_bootstrap, 1),
              prt_addr(uberdata.tdb.tdb_sync_addr_hash, 1),
--- 881,902 ----
          mdb_printf(OFFSTR "%s %s\n",
              OFFSET(ulwp_replace_last),
              prt_addr(uberdata.ulwp_replace_last, 1),
              prt_addr(uberdata.atforklist, 0));
  
!         HD("robustlocks           robustlist");
!         mdb_printf(OFFSTR "%s %s\n",
              OFFSET(robustlocks),
              prt_addr(uberdata.robustlocks, 1),
!             prt_addr(uberdata.robustlist, 1));
  
+         HD("progname              ub_broot");
+         mdb_printf(OFFSTR "%s %s\n",
+             OFFSET(progname),
+             prt_addr(uberdata.progname, 1),
+             prt_addr(uberdata.ub_broot, 1));
+ 
          HD("tdb_bootstrap         tdb_sync_addr_hash    tdb_'count tdb_'fail");
          mdb_printf(OFFSTR "%s %s %-10d %d\n",
              OFFSET(tdb_bootstrap),
              prt_addr(uberdata.tdb_bootstrap, 1),
              prt_addr(uberdata.tdb.tdb_sync_addr_hash, 1),