Home | History | Annotate | Download | only in common

Lines Matching refs:events

190 /* "events" module install handler.
191 This is called via sim_module_install to install the "events" subsystem
222 sim_events *events = STATE_EVENTS (sd);
224 SIM_ASSERT (events->resume_wallclock == 0);
225 events->resume_wallclock = sim_elapsed_time_get ();
234 sim_events *events = STATE_EVENTS (sd);
236 SIM_ASSERT (events->resume_wallclock != 0);
237 events->elapsed_wallclock += sim_elapsed_time_since (events->resume_wallclock);
238 events->resume_wallclock = 0;
244 /* Uninstall the "events" subsystem from the simulator. */
262 sim_events *events = STATE_EVENTS (sd);
263 sim_event *new = events->free_list;
266 events->free_list = new->next;
293 sim_events *events = STATE_EVENTS (sd);
294 dead->next = events->free_list;
295 events->free_list = dead;
310 sim_events *events = STATE_EVENTS (sd);
313 events->nr_held = 0;
314 if (events->held == NULL)
315 events->held = NZALLOC (sim_event, MAX_NR_SIGNAL_SIM_EVENTS);
334 events->nr_ticks_to_process = 1; /* start by doing queue */
335 events->time_of_event = 0;
336 events->time_from_event = 0;
337 events->elapsed_wallclock = 0;
338 events->resume_wallclock = 0;
345 SIM_ASSERT (events->queue != NULL);
356 sim_events *events = STATE_EVENTS (sd);
357 return (events->time_of_event - events->time_from_event);
393 sim_events *events = STATE_EVENTS (sd);
395 if (events->queue != NULL)
397 events->time_of_event = events->queue->time_of_event;
398 events->time_from_event = (events->queue->time_of_event - current_time);
402 events->time_of_event = current_time - 1;
403 events->time_from_event = -1;
409 for (event = events->queue, i = 0;
419 events->time_from_event,
439 sim_events *events = STATE_EVENTS (sd);
451 prev = &events->queue;
452 curr = events->queue;
542 sim_events *events = STATE_EVENTS (sd);
553 new_event = &events->held [events->nr_held];
554 events->nr_held ++;
555 if (events->nr_held > MAX_NR_SIGNAL_SIM_EVENTS)
566 events->work_pending = 1; /* notify main process */
592 sim_events *events = STATE_EVENTS (sd);
600 if (events->resume_wallclock == 0)
601 new_event->wallclock = (events->elapsed_wallclock + delta_ms_time);
603 new_event->wallclock = (events->elapsed_wallclock
604 + sim_elapsed_time_since (events->resume_wallclock)
607 new_event->next = events->watchpoints;
608 events->watchpoints = new_event;
609 events->work_pending = 1;
632 sim_events *events = STATE_EVENTS (sd);
646 new_event->next = events->watchpoints;
647 events->watchpoints = new_event;
648 events->work_pending = 1;
675 sim_events *events = STATE_EVENTS (sd);
724 new_event->next = events->watchpoints;
725 events->watchpoints = new_event;
726 events->work_pending = 1;
755 sim_events *events = STATE_EVENTS (sd);
805 new_event->next = events->watchpoints;
806 events->watchpoints = new_event;
807 events->work_pending = 1;
828 sim_events *events = STATE_EVENTS (sd);
855 SIM_ASSERT ((events->time_from_event >= 0) == (events->queue != NULL));
1057 sim_events *events = STATE_EVENTS (sd);
1063 if (events->work_pending
1064 || events->time_from_event == 0)
1066 events->nr_ticks_to_process += 1;
1071 events->time_from_event -= 1;
1082 sim_events *events = STATE_EVENTS (sd);
1089 if (events->work_pending || events->time_from_event < n)
1091 events->nr_ticks_to_process += n;
1096 events->time_from_event -= n;
1107 sim_events *events = STATE_EVENTS (sd);
1112 if (events->time_from_event < slip)
1114 events->work_pending = 1;
1116 events->time_from_event -= slip;
1126 sim_events *events = STATE_EVENTS (sd);
1130 ASSERT (events->nr_ticks_to_process != 0);
1149 sim_events *events = STATE_EVENTS (sd);
1155 events->work_pending = 0;
1157 /* move any events that were asynchronously queued by any signal
1159 if (events->nr_held > 0)
1171 for (i = 0; i < events->nr_held; i++)
1173 sim_event *entry = &events->held [i];
1179 events->nr_held = 0;
1194 while (events->watchpoints != NULL)
1196 sim_event *to_do = events->watchpoints;
1197 events->watchpoints = to_do->next;
1216 to_do->next = events->watchedpoints;
1217 events->watchedpoints = to_do;
1221 /* consume all events for this or earlier times. Be careful to
1223 while (events->queue->time_of_event <
1224 (event_time + events->nr_ticks_to_process))
1226 sim_event *to_do = events->queue;
1229 events->queue = to_do->next;
1244 events->watchpoints = events->watchedpoints;
1245 events->watchedpoints = NULL;
1246 if (events->watchpoints != NULL)
1247 events->work_pending = 1;
1250 SIM_ASSERT (events->time_from_event >= events->nr_ticks_to_process);
1251 SIM_ASSERT (events->queue != NULL); /* always poll event */
1252 events->time_from_event -= events->nr_ticks_to_process;
1255 events->nr_ticks_to_process = 0;