X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_host_events.h;h=d2fb21104e3dbab3ebb36006ab615ca3c3c42d27;hb=0246f0904a4800dbe1e8e23332d49b468a58f751;hp=c8113731885e0d9f4f6ffd8c450602f6b336b917;hpb=13d8e5d4035b90bf1ab8b1da115c7d6310c76526;p=palacios.git diff --git a/palacios/include/palacios/vmm_host_events.h b/palacios/include/palacios/vmm_host_events.h index c811373..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,8 +66,8 @@ typedef enum { HOST_KEYBOARD_EVT, HOST_MOUSE_EVT, HOST_TIMER_EVT, HOST_CONSOLE_EVT, - HOST_SERIAL_EVT, - HOST_PACKET_EVT} v3_host_evt_type_t; + HOST_SERIAL_EVT, + HOST_DEBUG_EVT} v3_host_evt_type_t; union v3_host_event_handler { @@ -68,7 +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 (*packet_handler)(struct v3_vm_info * vm, struct v3_packet_event * evt, void * priv_data); + int (*debug_handler)(struct v3_vm_info * vm, struct v3_debug_event * evt, void * priv_data); }; @@ -86,12 +94,13 @@ struct v3_host_events { struct list_head timer_events; struct list_head serial_events; struct list_head console_events; - struct list_head packet_events; + struct list_head debug_events; }; int v3_init_host_events(struct v3_vm_info * vm); +int v3_deinit_host_events(struct v3_vm_info * vm); #define V3_HOST_EVENT_HANDLER(cb) ((union v3_host_event_handler)cb) @@ -109,7 +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_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); #endif