4 #include <palacios/vmm_types.h>
5 #include <palacios/vmm_list.h>
6 #include <palacios/vmm_string.h>
14 struct list_head dev_list;
17 struct list_head io_hooks;
20 struct list_head mem_hooks;
26 // Registration of devices
29 // The following device manager functions should only be called
30 // when the guest is stopped
33 int v3_attach_device(struct guest_info *vm, struct vm_device * dev);
34 int v3_unattach_device(struct vm_device *dev);
44 int (*read)(ushort_t port, void * dst, uint_t length, struct vm_device * dev);
45 int (*write)(ushort_t port, void * src, uint_t length, struct vm_device * dev);
47 struct vm_device * dev;
49 // Do not touch anything below this
51 struct list_head dev_list;
52 struct list_head mgr_list;
59 struct vm_device * dev;
61 // Do not touch anything below this
62 struct list_head dev_list;
63 struct list_head mgr_list;
67 int dev_mgr_init(struct guest_info * info);
68 int dev_mgr_deinit(struct guest_info * info);
70 void PrintDebugDevMgr(struct guest_info * info);
71 void PrintDebugDev(struct vm_device * dev);
72 void PrintDebugDevIO(struct vm_device * dev);
73 void PrintDebugDevMgrIO(struct vmm_dev_mgr * mgr);