1 /* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
2 /* (c) 2008, The V3VEE Project <http://www.v3vee.org> */
9 #include <palacios/vmm_types.h>
10 #include <palacios/vmm_list.h>
11 #include <palacios/vmm_string.h>
19 struct list_head dev_list;
22 struct list_head io_hooks;
25 struct list_head mem_hooks;
31 // Registration of devices
34 // The following device manager functions should only be called
35 // when the guest is stopped
38 int v3_attach_device(struct guest_info *vm, struct vm_device * dev);
39 int v3_unattach_device(struct vm_device *dev);
49 int (*read)(ushort_t port, void * dst, uint_t length, struct vm_device * dev);
50 int (*write)(ushort_t port, void * src, uint_t length, struct vm_device * dev);
52 struct vm_device * dev;
54 // Do not touch anything below this
56 struct list_head dev_list;
57 struct list_head mgr_list;
64 struct vm_device * dev;
66 // Do not touch anything below this
67 struct list_head dev_list;
68 struct list_head mgr_list;
72 int dev_mgr_init(struct guest_info * info);
73 int dev_mgr_deinit(struct guest_info * info);
75 void PrintDebugDevMgr(struct guest_info * info);
76 void PrintDebugDev(struct vm_device * dev);
77 void PrintDebugDevIO(struct vm_device * dev);
78 void PrintDebugDevMgrIO(struct vmm_dev_mgr * mgr);