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,28 **** --- 19,30 ---- * 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,557 **** /*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), --- 549,558 ----
*** 576,590 **** } 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); --- 577,586 ----
*** 2390,2402 **** 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 = { --- 2386,2395 ----
*** 2433,2443 **** 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 */ --- 2426,2435 ----
*** 2502,2515 **** */ (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. --- 2494,2503 ----
*** 2534,2544 **** (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); --- 2522,2531 ----