X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_host_events.h;h=d2fb21104e3dbab3ebb36006ab615ca3c3c42d27;hb=d389e7022c2afa3fb72bc87ab7b324fd9183e5b1;hp=47c6715f72492b6832c8fc0531248302c338f92b;hpb=9a32111c4074aafd55cd9590a24bd5c751a6fe61;p=palacios.git diff --git a/palacios/include/palacios/vmm_host_events.h b/palacios/include/palacios/vmm_host_events.h index 47c6715..d2fb211 100644 --- a/palacios/include/palacios/vmm_host_events.h +++ b/palacios/include/palacios/vmm_host_events.h @@ -22,12 +22,18 @@ struct v3_keyboard_event { + // A keyboard event is a PS/2 scancode and status reg unsigned char status; unsigned char scan_code; }; struct v3_mouse_event { - unsigned char data[3]; + // A mouse event is a PS/2 mouse packet + unsigned char sx; // sign bit for deltax + unsigned char dx; // deltax + unsigned char sy; // sign bit for deltay + unsigned char dy; // deltay + unsigned char buttons; // button state }; struct v3_timer_event { @@ -43,9 +49,11 @@ struct v3_console_event { unsigned int cmd; }; -struct v3_packet_event { - unsigned char * pkt; - unsigned int size; + +struct v3_debug_event { + unsigned int core_id; + unsigned int cmd; + }; #ifdef __V3VEE__ @@ -58,7 +66,8 @@ typedef enum { HOST_KEYBOARD_EVT, HOST_MOUSE_EVT, HOST_TIMER_EVT, HOST_CONSOLE_EVT, - HOST_SERIAL_EVT} v3_host_evt_type_t; + HOST_SERIAL_EVT, + HOST_DEBUG_EVT} v3_host_evt_type_t; union v3_host_event_handler { @@ -67,6 +76,7 @@ union v3_host_event_handler { int (*timer_handler)(struct v3_vm_info * vm, struct v3_timer_event * evt, void * priv_data); int (*serial_handler)(struct v3_vm_info * vm, struct v3_serial_event * evt, void * priv_data); int (*console_handler)(struct v3_vm_info * vm, struct v3_console_event * evt, void * priv_data); + int (*debug_handler)(struct v3_vm_info * vm, struct v3_debug_event * evt, void * priv_data); }; @@ -84,6 +94,7 @@ struct v3_host_events { struct list_head timer_events; struct list_head serial_events; struct list_head console_events; + struct list_head debug_events; }; @@ -107,6 +118,7 @@ int v3_deliver_mouse_event(struct v3_vm_info * vm, struct v3_mouse_event * evt); int v3_deliver_timer_event(struct v3_vm_info * vm, struct v3_timer_event * evt); int v3_deliver_serial_event(struct v3_vm_info * vm, struct v3_serial_event * evt); int v3_deliver_console_event(struct v3_vm_info * vm, struct v3_console_event * evt); +int v3_deliver_debug_event(struct v3_vm_info * vm, struct v3_debug_event * evt); #endif