static void arm_step_once () { int i; machine_config_t* mach = get_current_mach(); ARM_CPU_State* cpu = get_current_cpu(); /* workaround boot sequence for dual core, we need the first core initialize some variable for second core. */ arm_core_t* core; for(i = 0; i < cpu->core_num; i++ ){ core = &cpu->core[i]; /* if CPU1_EN is set? */ per_cpu_step(core); } /* for peripheral */ mach->mach_io_do_cycle(cpu); }
static void ppc_step_once () { int i; /* workaround boot sequence for dual core, we need the first core initialize some variable for second core. */ for(i = 0; i < gCPU.core_num; i++ ){ current_core = &gCPU.core[i]; /* if CPU1_EN is set? */ if(!i || gCPU.eebpcr & 0x2000000) per_cpu_step(current_core); } /* for peripheral */ skyeye_config_t* config = get_current_config(); config->mach->mach_io_do_cycle(&gCPU); //skyeye_config.mach->mach_io_do_cycle(&gCPU); }