X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_extensions.h;h=fdddb6939230ce31e25be4b2e958f667330c6665;hb=f7e4262b2d65bbe3eb0c21ab3a6c4bb185531af7;hp=0135f880ae33de4e15e844dbdc21325950657e69;hpb=f18097c35ddc13572ab41e03ad7a14430cff11ac;p=palacios.git diff --git a/palacios/include/palacios/vmm_extensions.h b/palacios/include/palacios/vmm_extensions.h index 0135f88..fdddb69 100644 --- a/palacios/include/palacios/vmm_extensions.h +++ b/palacios/include/palacios/vmm_extensions.h @@ -23,8 +23,8 @@ #ifdef __V3VEE__ #include -#include #include +#include struct v3_vm_info; @@ -41,10 +41,10 @@ struct v3_extension_impl { char * name; int (*init)(struct v3_vm_info * vm, v3_cfg_tree_t * cfg, void ** priv_data); int (*deinit)(struct v3_vm_info * vm, void * priv_data); - int (*core_init)(struct guest_info * core); - int (*core_deinit)(struct guest_info * core); - int (*on_entry)(struct guest_info * core); - int (*on_exit)(struct guest_info * core); + int (*core_init)(struct guest_info * core, void * priv_data); + int (*core_deinit)(struct guest_info * core, void * priv_data); + int (*on_entry)(struct guest_info * core, void * priv_data); + int (*on_exit)(struct guest_info * core, void * priv_data); }; struct v3_extension { @@ -64,6 +64,9 @@ int V3_deinit_extensions(); int v3_init_ext_manager(struct v3_vm_info * vm); int v3_add_extension(struct v3_vm_info * vm, const char * name, v3_cfg_tree_t * cfg); +int v3_init_core_extensions(struct guest_info * core); + +void * v3_get_extension_state(struct v3_vm_info * vm, const char * name); #define register_extension(ext) \