Print this page
9210 remove KMDB branch debugging support
9211 ::crregs could do with cr2/cr3 support
9209 ::ttrace should be able to filter by thread
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/mdb/common/mdb/mdb_target.h
          +++ new/usr/src/cmd/mdb/common/mdb/mdb_target.h
↓ open down ↓ 14 lines elided ↑ open up ↑
  15   15   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16   16   * If applicable, add the following below this CDDL HEADER, with the
  17   17   * fields enclosed by brackets "[]" replaced with your own identifying
  18   18   * information: Portions Copyright [yyyy] [name of copyright owner]
  19   19   *
  20   20   * CDDL HEADER END
  21   21   */
  22   22  /*
  23   23   * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
  24   24   * Use is subject to license terms.
       25 + *
       26 + * Copyright 2018 Joyent, Inc.
  25   27   */
  26   28  
  27   29  #ifndef _MDB_TARGET_H
  28   30  #define _MDB_TARGET_H
  29   31  
  30   32  #include <sys/utsname.h>
  31   33  #include <sys/types.h>
  32   34  #include <gelf.h>
  33   35  
  34   36  #ifdef  __cplusplus
↓ open down ↓ 37 lines elided ↑ open up ↑
  72   74   */
  73   75  
  74   76  #define MDB_TGT_F_RDWR          0x0001  /* Open for writing (else read-only) */
  75   77  #define MDB_TGT_F_ALLOWIO       0x0002  /* Allow I/O mem access (live only) */
  76   78  #define MDB_TGT_F_FORCE         0x0004  /* Force open (even if non-exclusive) */
  77   79  #define MDB_TGT_F_PRELOAD       0x0008  /* Preload all symbol tables */
  78   80  #define MDB_TGT_F_NOLOAD        0x0010  /* Do not do load-object processing */
  79   81  #define MDB_TGT_F_NOSTOP        0x0020  /* Do not stop target on attach */
  80   82  #define MDB_TGT_F_STEP          0x0040  /* Single-step is pending */
  81   83  #define MDB_TGT_F_STEP_OUT      0x0080  /* Step-out is pending */
  82      -#define MDB_TGT_F_STEP_BRANCH   0x0100  /* Step-branch is pending */
  83      -#define MDB_TGT_F_NEXT          0x0200  /* Step-over is pending */
  84      -#define MDB_TGT_F_CONT          0x0400  /* Continue is pending */
  85      -#define MDB_TGT_F_BUSY          0x0800  /* Target is busy executing */
  86      -#define MDB_TGT_F_ASIO          0x1000  /* Use t_aread and t_awrite for i/o */
  87      -#define MDB_TGT_F_UNLOAD        0x2000  /* Unload has been requested */
  88      -#define MDB_TGT_F_ALL           0x3fff  /* Mask of all valid flags */
       84 +#define MDB_TGT_F_NEXT          0x0100  /* Step-over is pending */
       85 +#define MDB_TGT_F_CONT          0x0200  /* Continue is pending */
       86 +#define MDB_TGT_F_BUSY          0x0400  /* Target is busy executing */
       87 +#define MDB_TGT_F_ASIO          0x0800  /* Use t_aread and t_awrite for i/o */
       88 +#define MDB_TGT_F_UNLOAD        0x1000  /* Unload has been requested */
       89 +#define MDB_TGT_F_ALL           0x1fff  /* Mask of all valid flags */
  89   90  
  90   91  typedef int mdb_tgt_ctor_f(mdb_tgt_t *, int, const char *[]);
  91   92  
  92   93  extern mdb_tgt_t *mdb_tgt_create(mdb_tgt_ctor_f *, int, int, const char *[]);
  93   94  extern void mdb_tgt_destroy(mdb_tgt_t *);
  94   95  
  95   96  extern int mdb_tgt_getflags(mdb_tgt_t *);
  96   97  extern int mdb_tgt_setflags(mdb_tgt_t *, int);
  97   98  extern int mdb_tgt_setcontext(mdb_tgt_t *, void *);
  98   99  
↓ open down ↓ 246 lines elided ↑ open up ↑
 345  346   * Status flags (st_flags):
 346  347   */
 347  348  #define MDB_TGT_ISTOP           0x1     /* Stop on event of interest */
 348  349  #define MDB_TGT_DSTOP           0x2     /* Stop directive is pending */
 349  350  #define MDB_TGT_BUSY            0x4     /* Busy in debugger */
 350  351  
 351  352  extern int mdb_tgt_status(mdb_tgt_t *, mdb_tgt_status_t *);
 352  353  extern int mdb_tgt_run(mdb_tgt_t *, int, const struct mdb_arg *);
 353  354  extern int mdb_tgt_step(mdb_tgt_t *, mdb_tgt_status_t *);
 354  355  extern int mdb_tgt_step_out(mdb_tgt_t *, mdb_tgt_status_t *);
 355      -extern int mdb_tgt_step_branch(mdb_tgt_t *, mdb_tgt_status_t *);
 356  356  extern int mdb_tgt_next(mdb_tgt_t *, mdb_tgt_status_t *);
 357  357  extern int mdb_tgt_continue(mdb_tgt_t *, mdb_tgt_status_t *);
 358  358  extern int mdb_tgt_signal(mdb_tgt_t *, int);
 359  359  
 360  360  /*
 361  361   * Iterating through the specifier list yields the integer id (VID) and private
 362  362   * data pointer for each specifier.
 363  363   */
 364  364  typedef int mdb_tgt_vespec_f(mdb_tgt_t *, void *, int, void *);
 365  365  
↓ open down ↓ 175 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX