Пример #1
0
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;
}
Пример #2
0
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;
}
Пример #3
0
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;
}