void drivecpu_shutdown(drive_context_t *drv) { drivecpu_context_t *cpu; cpu = drv->cpu; if (cpu->alarm_context != NULL) { alarm_context_destroy(cpu->alarm_context); } if (cpu->clk_guard != NULL) { clk_guard_destroy(cpu->clk_guard); } monitor_interface_destroy(cpu->monitor_interface); interrupt_cpu_status_destroy(cpu->int_status); lib_free(cpu->snap_module_name); lib_free(cpu->identification_string); machine_drive_shutdown(drv); lib_free(drv->func); lib_free(drv->cpud); lib_free(cpu); }
static void machine_maincpu_shutdown(void) { if (maincpu_alarm_context != NULL) alarm_context_destroy(maincpu_alarm_context); if (maincpu_clk_guard != NULL) clk_guard_destroy(maincpu_clk_guard); lib_free(maincpu_monitor_interface); maincpu_shutdown(); }