On Friday 24 August 2012 20:49:36 DJ Delorie wrote: > Problem turned out to be this: running "make all-sim" doesn't return > an error if your compilation fails, at least on my system. weird ... it does for me. i don't think the rules added by the common make fragments swallow any errors ... > I've now gotten to the point where sim_engine_run() is called. I > assume this is where I put the actual core simulation? yes & no. i think the core of the sim_engine_run loop is best left simple: void sim_engine_run (SIM_DESC sd, int next_cpu_nr, /* ignore */ int nr_cpus, /* ignore */ int siggnal) /* ignore */ { SIM_CPU *cpu; SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER); cpu = STATE_CPU (sd, 0); while (1) { step_once (cpu); if (sim_events_tick (sd)) sim_events_process (sd); } } feel free to call "step_once" whatever you want -- there doesn't appear to be consistency atm. but that func is where you'd put all the decode+execute logic. -mike