Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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();
}