void MIPSEmuCreate(MIPSEmu *self) { /* Parent */ EmuCreate(asEmu(self), "MIPS"); /* Initialize */ self->current_pid = 100; pthread_mutex_init(&self->process_events_mutex, NULL); /* Virtual functions */ asObject(self)->Dump = MIPSEmuDump; asEmu(self)->DumpSummary = MIPSEmuDumpSummary; asEmu(self)->Run = MIPSEmuRun; }
void SIEmuCreate(SIEmu *self) { /* Parent */ EmuCreate(asEmu(self), "SouthernIslands"); /* Initialize */ self->video_mem = mem_create(); self->video_mem->safe = 0; self->video_mem_top = 0; self->waiting_work_groups = list_create(); self->running_work_groups = list_create(); /* Set global memory to video memory by default */ self->global_mem = self->video_mem; /* Virtual functions */ asObject(self)->Dump = SIEmuDump; asEmu(self)->DumpSummary = SIEmuDumpSummary; asEmu(self)->Run = SIEmuRun; }
void FrmEmuCreate(FrmEmu *self) { /* Parent */ EmuCreate(asEmu(self), "Fermi"); /* Initialize */ self->grids = list_create(); self->pending_grids = list_create(); self->running_grids = list_create(); self->finished_grids = list_create(); self->global_mem = mem_create(); self->global_mem->safe = 0; self->global_mem_top = 0; self->total_global_mem_size = 1 << 31; /* 2GB */ self->free_global_mem_size = 1 << 31; /* 2GB */ self->const_mem = mem_create(); self->const_mem->safe = 0; /* Virtual functions */ asObject(self)->Dump = FrmEmuDump; asEmu(self)->DumpSummary = FrmEmuDumpSummary; asEmu(self)->Run = FrmEmuRun; }