6 #include <palacios/vmm_types.h>
7 #include <palacios/vmm_list.h>
8 #include <palacios/vmm_string.h>
16 struct list_head dev_list;
19 struct list_head io_hooks;
22 struct list_head mem_hooks;
28 // Registration of devices
31 // The following device manager functions should only be called
32 // when the guest is stopped
35 int v3_attach_device(struct guest_info *vm, struct vm_device * dev);
36 int v3_unattach_device(struct vm_device *dev);
46 int (*read)(ushort_t port, void * dst, uint_t length, struct vm_device * dev);
47 int (*write)(ushort_t port, void * src, uint_t length, struct vm_device * dev);
49 struct vm_device * dev;
51 // Do not touch anything below this
53 struct list_head dev_list;
54 struct list_head mgr_list;
61 struct vm_device * dev;
63 // Do not touch anything below this
64 struct list_head dev_list;
65 struct list_head mgr_list;
69 int dev_mgr_init(struct guest_info * info);
70 int dev_mgr_deinit(struct guest_info * info);
72 void PrintDebugDevMgr(struct guest_info * info);
73 void PrintDebugDev(struct vm_device * dev);
74 void PrintDebugDevIO(struct vm_device * dev);
75 void PrintDebugDevMgrIO(struct vmm_dev_mgr * mgr);