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>

@@ -19,10 +19,12 @@
  * CDDL HEADER END
  */
 /*
  * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2013 by Delphix. All rights reserved.
+ *
+ * Copyright 2018 Joyent, Inc.
  */
 
 #include <kmdb/kmdb_kvm.h>
 #include <kmdb/kvm.h>
 #include <kmdb/kmdb_kdi.h>

@@ -547,11 +549,10 @@
 
 /*ARGSUSED*/
 static int
 kmt_status_dcmd(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv)
 {
-        kmt_data_t *kmt = mdb.m_target->t_data;
         struct utsname uts;
         char uuid[37];
         kreg_t tt;
 
         if (mdb_tgt_readsym(mdb.m_target, MDB_TGT_AS_VIRT, &uts, sizeof (uts),

@@ -576,15 +577,10 @@
         } else if (uuid[36] != '\0') {
                 (void) strcpy(uuid, "(invalid)");
         }
         mdb_printf("image uuid: %s\n", uuid);
 
-        if (kmt->kmt_cpu != NULL) {
-                mdb_printf("CPU-specific support: %s\n",
-                    kmt_cpu_name(kmt->kmt_cpu));
-        }
-
         mdb_printf("DTrace state: %s\n", (kmdb_kdi_dtrace_get_state() ==
             KDI_DTSTATE_DTRACE_ACTIVE ? "active (debugger breakpoints cannot "
             "be armed)" : "inactive"));
 
         (void) kmdb_dpi_get_register("tt", &tt);

@@ -2390,13 +2386,10 @@
                 kmt_defbp_destroy_all();
 
         if (kmt->kmt_trapmap != NULL)
                 mdb_free(kmt->kmt_trapmap, BT_SIZEOFMAP(kmt->kmt_trapmax));
 
-        if (kmt->kmt_cpu != NULL)
-                kmt_cpu_destroy(kmt->kmt_cpu);
-
         if (kmt != NULL)
                 mdb_free(kmt, sizeof (kmt_data_t));
 }
 
 static const mdb_tgt_ops_t kmt_ops = {

@@ -2433,11 +2426,10 @@
         kmt_name_to_ctf,                        /* t_name_to_ctf */
         kmt_status,                             /* t_status */
         (int (*)()) mdb_tgt_notsup,             /* t_run */
         kmt_step,                               /* t_step */
         kmt_step_out,                           /* t_step_out */
-        kmt_step_branch,                        /* t_step_branch */
         kmt_next,                               /* t_next */
         kmt_continue,                           /* t_cont */
         (int (*)()) mdb_tgt_notsup,             /* t_signal */
         kmt_add_vbrkpt,                         /* t_add_vbrkpt */
         kmt_add_sbrkpt,                         /* t_add_sbrkpt */

@@ -2502,14 +2494,10 @@
                  */
                 (void) kmt_defbp_activate(t);
                 (void) mdb_tgt_sespec_activate_all(t);
         }
 
-        if (kmt->kmt_cpu_retry && ((kmt->kmt_cpu = kmt_cpu_create(t)) !=
-            NULL || errno != EAGAIN))
-                kmt->kmt_cpu_retry = FALSE;
-
         (void) mdb_tgt_status(t, &t->t_status);
 }
 
 /*
  * This routine executes while the kernel is running.

@@ -2534,11 +2522,10 @@
         (void) mdb_nv_create(&kmt->kmt_modules, UM_SLEEP);
 
         kmt_init_isadep(t);
 
         kmt->kmt_symavail = FALSE;
-        kmt->kmt_cpu_retry = TRUE;
 
         bzero(&kmt_defbp_list, sizeof (mdb_list_t));
 
         return (0);