void destroyStub_gdb( gdbstub_handle_t instance) { struct gdb_stub_state *stub = (struct gdb_stub_state *)instance; causeQuit_gdb( stub); joinThread_gdb( stub->thread); //stub->cpu_ctl->unstall( stub->cpu_ctl->data); //stub->cpu_ctl->remove_post_ex_fn( stub->cpu_ctl->data); free( stub); }
void destroyStub_gdb( gdbstub_handle_t instance) { if (instance == NULL) return; struct gdb_stub_state *stub = (struct gdb_stub_state *)instance; armcpu_t *theCPU = (armcpu_t *)stub->arm_cpu_object; causeQuit_gdb( stub); joinThread_gdb( stub->thread); //stub->cpu_ctl->unstall( stub->cpu_ctl->data); //stub->cpu_ctl->remove_post_ex_fn( stub->cpu_ctl->data); theCPU->ResetMemoryInterfaceToBase(); DEBUG_LOG("Destroyed GDB stub on port %d\n", stub->port_num); delete stub->direct_memio; delete stub->gdb_memio; delete stub; }