OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [or1ksim/] [toplevel.c] - Diff between revs 1689 and 1690

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 1689 Rev 1690
Line 340... Line 340...
  runtime.sim.hush = 1;
  runtime.sim.hush = 1;
  recalc_do_stats();
  recalc_do_stats();
 
 
  sim_init ();
  sim_init ();
 
 
  while(1) {
  exec_main();
    long long time_start = runtime.sim.cycles;
 
    if (config.debug.enabled) {
 
      du_clock(); // reset watchpoints
 
      while (runtime.cpu.stalled) {
 
        if(config.debug.gdb_enabled) {
 
          BlockJTAG();
 
          HandleServerSocket(false);
 
        } else {
 
          fprintf (stderr, "WARNING: CPU stalled and gdb connection not enabled.\n");
 
          /* Dump the user into interactive mode.  From there he can decide what
 
           * to do. */
 
          handle_sim_command();
 
          sim_done();
 
        }
 
        if(runtime.sim.iprompt)
 
          handle_sim_command();
 
      }
 
    }
 
 
 
    /* Each cycle has counter of mem_cycles; this value is joined with cycles
 
       at the end of the cycle; no sim originated memory accesses should be
 
       performed inbetween. */
 
    runtime.sim.mem_cycles = 0;
 
    if (!config.pm.enabled ||
 
        !(cpu_state.sprs[SPR_PMR] & (SPR_PMR_DME | SPR_PMR_SME)))
 
      if (cpu_clock ())
 
        /* A breakpoint has been hit, drop to interactive mode */
 
        handle_sim_command();
 
 
 
    if (config.vapi.enabled && runtime.vapi.enabled) vapi_check();
 
    if (config.debug.gdb_enabled) HandleServerSocket(false); /* block & check_stdin = false */
 
    if(config.debug.enabled)
 
      if (cpu_state.sprs[SPR_DMR1] & SPR_DMR1_ST) set_stall_state (1);
 
 
 
    runtime.sim.cycles += runtime.sim.mem_cycles;
 
    scheduler.job_queue->time -= runtime.sim.cycles - time_start;
 
    if (scheduler.job_queue->time <= 0) do_scheduler ();
 
  }
 
  sim_done();
  sim_done();
}
}
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.