X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_dev_mgr.h;h=87f62fc880941124837cad439a7cca97d56299bf;hb=382829fe58cb541af371547325c5502e37032ecd;hp=84bbc5827e557a1ff2bad5e1fd32b0f51180396c;hpb=e47ed16a96f6d7faa282bf757e9d2cc065d2657e;p=palacios.git diff --git a/palacios/include/palacios/vmm_dev_mgr.h b/palacios/include/palacios/vmm_dev_mgr.h index 84bbc58..87f62fc 100644 --- a/palacios/include/palacios/vmm_dev_mgr.h +++ b/palacios/include/palacios/vmm_dev_mgr.h @@ -28,7 +28,7 @@ #include #include #include - +#include struct v3_vm_info; @@ -102,11 +102,17 @@ int V3_init_devices(); int V3_deinit_devices(); +#ifdef V3_CONFIG_KEYED_STREAMS +#include +#endif + struct v3_device_ops { int (*free)(void * private_data); - //int (*save)(struct vm_device *dev, struct *iostream); - //int (*restore)(struct vm_device *dev, struct *iostream); +#ifdef V3_CONFIG_KEYED_STREAMS + int (*checkpoint)(struct vm_device *dev, v3_keyed_stream_t stream); + int (*restore)(struct vm_device *dev, v3_keyed_stream_t stream); +#endif }; @@ -173,18 +179,14 @@ struct v3_dev_blk_ops { struct v3_dev_net_ops { /* Backend implemented functions */ - int (*send)(uint8_t * buf, uint32_t count, void * private_data); - void (*start_rx)(void * back_data); - void (*stop_rx)(void * back_data); + int (*send)(uint8_t * buf, uint32_t len, int synchronize, void * private_data); /* Frontend implemented functions */ - int (*recv)(uint8_t * buf, uint32_t count, void * frnt_data); - void (*poll)(struct v3_vm_info * vm, void * frnt_data); - void (*start_tx)(void * frnt_data); - void (*stop_tx)(void * frnt_data); + int (*recv)(uint8_t * buf, uint32_t len, void * frnt_data); /* This is ugly... */ void * frontend_data; + char fnt_mac[ETH_ALEN]; }; struct v3_dev_console_ops {