#include <palacios/vmm.h>
#include <palacios/vmm_host_events.h>
#include <palacios/vm_guest.h>
-#include <palacios/vmm_muxer.h>
int v3_init_host_events(struct v3_vm_info * vm) {
struct v3_host_events * host_evts = &(vm->host_event_hooks);
INIT_LIST_HEAD(&(host_evts->timer_events));
INIT_LIST_HEAD(&(host_evts->serial_events));
INIT_LIST_HEAD(&(host_evts->console_events));
- INIT_LIST_HEAD(&(host_evts->packet_events));
+ INIT_LIST_HEAD(&(host_evts->debug_events));
return 0;
}
}
- list_for_each_entry_safe(hook, tmp, &(host_evts->packet_events), link) {
+ list_for_each_entry_safe(hook, tmp, &(host_evts->debug_events), link) {
list_del(&(hook->link));
V3_Free(hook);
}
hook = (struct v3_host_event_hook *)V3_Malloc(sizeof(struct v3_host_event_hook));
if (hook == NULL) {
- PrintError("Could not allocate event hook\n");
+ PrintError(vm, VCORE_NONE,"Could not allocate event hook\n");
return -1;
}
case HOST_CONSOLE_EVT:
list_add(&(hook->link), &(host_evts->console_events));
break;
- case HOST_PACKET_EVT:
- list_add(&(hook->link), &(host_evts->packet_events));
+ case HOST_DEBUG_EVT:
+ list_add(&(hook->link), &(host_evts->debug_events));
break;
}
struct v3_host_events * host_evts = NULL;
struct v3_host_event_hook * hook = NULL;
- if (vm == NULL) {
- vm = v3_get_foreground_vm();
- }
host_evts = &(vm->host_event_hooks);
struct v3_host_events * host_evts = NULL;
struct v3_host_event_hook * hook = NULL;
- if (vm == NULL) {
- vm = v3_get_foreground_vm();
- }
host_evts = &(vm->host_event_hooks);
struct v3_host_events * host_evts = NULL;
struct v3_host_event_hook * hook = NULL;
- if (vm == NULL) {
- vm = v3_get_foreground_vm();
- }
host_evts = &(vm->host_event_hooks);
struct v3_host_events * host_evts = NULL;
struct v3_host_event_hook * hook = NULL;
- if (vm == NULL) {
- vm = v3_get_foreground_vm();
- }
host_evts = &(vm->host_event_hooks);
struct v3_host_events * host_evts = NULL;
struct v3_host_event_hook * hook = NULL;
- if (vm == NULL) {
- vm = v3_get_foreground_vm();
- }
host_evts = &(vm->host_event_hooks);
}
-int v3_deliver_packet_event(struct v3_vm_info * vm,
- struct v3_packet_event * evt) {
+
+int v3_deliver_debug_event(struct v3_vm_info * vm,
+ struct v3_debug_event * evt) {
struct v3_host_events * host_evts = NULL;
struct v3_host_event_hook * hook = NULL;
- if (vm == NULL) {
- vm = v3_get_foreground_vm();
- }
host_evts = &(vm->host_event_hooks);
return -1;
}
- list_for_each_entry(hook, &(host_evts->packet_events), link) {
- if (hook->cb.packet_handler(vm, evt, hook->private_data) == -1) {
+ list_for_each_entry(hook, &(host_evts->debug_events), link) {
+ if (hook->cb.debug_handler(vm, evt, hook->private_data) == -1) {
return -1;
}
}
return 0;
}
-
-