From 39e953a72287cfa9335871478f27258989a22a66 Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Mon, 25 May 1998 07:37:30 +0000 Subject: Split out hw-event code. Clean up interface. Update all users. --- sim/common/sim-hw.c | 59 ----------------------------------------------------- 1 file changed, 59 deletions(-) (limited to 'sim/common/sim-hw.c') diff --git a/sim/common/sim-hw.c b/sim/common/sim-hw.c index 51b7b0f..fa3ca8f 100644 --- a/sim/common/sim-hw.c +++ b/sim/common/sim-hw.c @@ -503,62 +503,3 @@ do_hw_poll_read (struct hw *me, #endif } } - - -/* 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)); -} -- cgit v1.1