X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_io.h;h=34c04f05078d8213225ec415495e9621853ccf16;hb=90b8236597004a37a9d5acb33a1b1f987fe9070c;hp=df58367d951b788b7bb6c7086bf000fd2e8feb3c;hpb=dc87c976e1423a304f7d4c8848c85874c58e05b5;p=palacios.git diff --git a/palacios/include/palacios/vmm_io.h b/palacios/include/palacios/vmm_io.h index df58367..34c04f0 100644 --- a/palacios/include/palacios/vmm_io.h +++ b/palacios/include/palacios/vmm_io.h @@ -35,22 +35,28 @@ typedef struct vmm_io_map { } vmm_io_map_t; -void add_io_hook(vmm_io_map_t * io_map, vmm_io_hook_t * io_hook); - +int add_io_hook(vmm_io_map_t * io_map, vmm_io_hook_t * io_hook); +int remove_io_hook(vmm_io_map_t * io_map, vmm_io_hook_t * io_hook); vmm_io_hook_t * get_io_hook(vmm_io_map_t * io_map, uint_t port); /* External API */ -void hook_io_port(vmm_io_map_t * io_map, uint_t port, +int hook_io_port(vmm_io_map_t * io_map, uint_t port, int (*read)(ushort_t port, void * dst, uint_t length, void * priv_data), int (*write)(ushort_t port, void * src, uint_t length, void * priv_data), - void * priv_data ); + void * priv_data); + +int unhook_io_port(vmm_io_map_t * io_map, uint_t port); void init_vmm_io_map(vmm_io_map_t * io_map); void PrintDebugIOMap(vmm_io_map_t * io_map); + + + + #endif