}
void hook_io_port(vmm_io_map_t * io_map, uint_t port,
- int (*read)(ushort_t port, void * dst, uint_t length),
- int (*write)(ushort_t port, void * src, uint_t length)) {
+ int (*read)(ushort_t port, void * dst, uint_t length, uint_t io_width),
+ int (*write)(ushort_t port, void * src, uint_t length, uint_t io_width)) {
vmm_io_hook_t * io_hook = os_hooks->malloc(sizeof(vmm_io_hook_t));
io_hook->port = port;
}
+vmm_io_hook_t * get_io_hook(vmm_io_map_t * io_map, uint_t port) {
+ vmm_io_hook_t * tmp_hook;
+ FOREACH_IO_HOOK(*io_map, tmp_hook) {
+ if (tmp_hook->port == port) {
+ return tmp_hook;
+ }
+ }
+ return NULL;
+}
+
+
+
void PrintDebugIOMap(vmm_io_map_t * io_map) {
vmm_io_hook_t * iter = io_map->head;