X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmm_host_events.c;h=432b9fb81679456be51e1a98a42bfce4cf7f9d4a;hb=b283373f3067fe329fb6c526f62d72cec27f4149;hp=2f52e3061a1ca0d7130beddc05e6ad9e9820d434;hpb=13d8e5d4035b90bf1ab8b1da115c7d6310c76526;p=palacios.git diff --git a/palacios/src/palacios/vmm_host_events.c b/palacios/src/palacios/vmm_host_events.c index 2f52e30..432b9fb 100644 --- a/palacios/src/palacios/vmm_host_events.c +++ b/palacios/src/palacios/vmm_host_events.c @@ -35,6 +35,48 @@ int v3_init_host_events(struct v3_vm_info * vm) { return 0; } +int v3_deinit_host_events(struct v3_vm_info * vm) { + struct v3_host_events * host_evts = &(vm->host_event_hooks); + struct v3_host_event_hook * hook = NULL; + struct v3_host_event_hook * tmp = NULL; + + list_for_each_entry_safe(hook, tmp, &(host_evts->keyboard_events), link) { + list_del(&(hook->link)); + V3_Free(hook); + } + + list_for_each_entry_safe(hook, tmp, &(host_evts->mouse_events), link) { + list_del(&(hook->link)); + V3_Free(hook); + } + + + list_for_each_entry_safe(hook, tmp, &(host_evts->timer_events), link) { + list_del(&(hook->link)); + V3_Free(hook); + } + + + list_for_each_entry_safe(hook, tmp, &(host_evts->serial_events), link) { + list_del(&(hook->link)); + V3_Free(hook); + } + + + list_for_each_entry_safe(hook, tmp, &(host_evts->console_events), link) { + list_del(&(hook->link)); + V3_Free(hook); + } + + + list_for_each_entry_safe(hook, tmp, &(host_evts->packet_events), link) { + list_del(&(hook->link)); + V3_Free(hook); + } + + return 0; +} + int v3_hook_host_event(struct v3_vm_info * vm, v3_host_evt_type_t event_type,