+/* Northwestern University */
+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+
#include <palacios/vmm_io.h>
#include <palacios/vmm_string.h>
#include <palacios/vmm.h>
#endif
-void init_vmm_io_map(struct vmm_io_map * io_map) {
+void init_vmm_io_map(struct guest_info * info) {
+ struct vmm_io_map * io_map = &(info->io_map);
io_map->num_ports = 0;
io_map->head = NULL;
}
return 0;
}
-int v3_hook_io_port(struct vmm_io_map * 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) {
+int v3_hook_io_port(struct guest_info * info, 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) {
+ struct vmm_io_map * io_map = &(info->io_map);
struct vmm_io_hook * io_hook = (struct vmm_io_hook *)V3_Malloc(sizeof(struct vmm_io_hook));
io_hook->port = port;
return 0;
}
-int v3_unhook_io_port(struct vmm_io_map * io_map, uint_t port) {
+int v3_unhook_io_port(struct guest_info * info, uint_t port) {
+ struct vmm_io_map * io_map = &(info->io_map);
struct vmm_io_hook * hook = v3_get_io_hook(io_map, port);
if (hook == NULL) {