diff options
Diffstat (limited to 'extras/mini-os/events.c')
-rw-r--r-- | extras/mini-os/events.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/extras/mini-os/events.c b/extras/mini-os/events.c index e05f68d83d..5d60ab70fc 100644 --- a/extras/mini-os/events.c +++ b/extras/mini-os/events.c @@ -35,6 +35,21 @@ typedef struct _ev_action_t { static ev_action_t ev_actions[NR_EVS]; void default_handler(evtchn_port_t port, struct pt_regs *regs, void *data); +void unbind_all_ports(void) +{ + int i; + + for(i=0;i<NR_EVS;i++) + { + if(ev_actions[i].handler != default_handler) + { + struct evtchn_close close; + mask_evtchn(i); + close.port = i; + HYPERVISOR_event_channel_op(EVTCHNOP_close, &close); + } + } +} /* * Demux events to different handlers. |