This commit was generated by cvs2svn to track changes on a CVS vendor
[deliverable/binutils-gdb.git] / sim / common / sim-hw.c
index 51b7b0fbaf59abebafe9452163177786e8039870..f438462a9baf8f3bf4bc9af5fb012dec1dcbb7c0 100644 (file)
@@ -26,6 +26,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 #include "hw-tree.h"
 #include "hw-device.h"
+#include "hw-main.h"
 #include "hw-base.h"
 
 
@@ -53,15 +54,17 @@ struct sim_hw {
 };
 
 
-void
+struct hw *
 sim_hw_parse (struct sim_state *sd,
              const char *fmt,
              ...)
 {
+  struct hw *current;
   va_list ap;
   va_start (ap, fmt);
-  hw_tree_vparse (STATE_HW (sd)->tree, fmt, ap);
+  current = hw_tree_vparse (STATE_HW (sd)->tree, fmt, ap);
   va_end (ap);
+  return current;
 }
 
 struct printer {
@@ -503,62 +506,3 @@ do_hw_poll_read (struct hw *me,
 #endif
     }
 }
-
-\f
-/* The event queue abstraction (for devices) */
-
-
-struct _hw_event {
-  void *data;
-  struct hw *me;
-  hw_event_handler *handler;
-  sim_event *real;
-};
-
-/* Pass the H/W event onto the real handler */
-
-static void
-bounce_hw_event (SIM_DESC sd,
-                void *data)
-{
-  hw_event event = * (hw_event*) data;
-  zfree (data);
-  /* if we are delivering an event, we don't have a CPU. */
-  STATE_HW (sd)->cpu = NULL;
-  event.handler (event.me, event.data);
-}
-
-
-/* Map onto the event functions */
-
-hw_event *
-hw_event_queue_schedule (struct hw *me,
-                        signed64 delta_time,
-                        hw_event_handler *handler,
-                        void *data)
-{
-  hw_event *event = ZALLOC (hw_event);
-  event->data = data;
-  event->handler = handler;
-  event->me = me;
-  event->real = sim_events_schedule (hw_system (me),
-                                    delta_time,
-                                    bounce_hw_event,
-                                    event);
-  return event;
-}
-
-void
-hw_event_queue_deschedule (struct hw *me,
-                          hw_event *event_to_remove)
-{
-  sim_events_deschedule (hw_system (me),
-                        event_to_remove->real);
-  zfree (event_to_remove);
-}
-
-signed64
-hw_event_queue_time (struct hw *me)
-{
-  return sim_events_time (hw_system (me));
-}
This page took 0.02362 seconds and 4 git commands to generate.