#define V3_FREE_GUEST 13
#define V3_ADD_MEMORY 50
+#define V3_RESET_MEMORY 51
+
+#define V3_ADD_PCI_HW_DEV 55
+#define V3_ADD_PCI_USER_DEV 56
/* VM Specific IOCTLs */
#define V3_VM_CONSOLE_CONNECT 20
#define V3_VM_MOVE_CORE 33
+#define V3_VM_SEND 34
+#define V3_VM_RECEIVE 35
+
#define V3_VM_FB_INPUT 257
#define V3_VM_FB_QUERY 258
} __attribute__((packed));
+struct v3_hw_pci_dev {
+ char name[128];
+ unsigned int bus;
+ unsigned int dev;
+ unsigned int func;
+} __attribute__((packed));
+
+struct v3_user_pci_dev {
+ char name[128];
+ unsigned short vendor_id;
+ unsigned short dev_id;
+} __attribute__((packed));
+
void * trace_malloc(size_t size, gfp_t flags);
-int palacios_vmm_init( void );
+int palacios_vmm_init( char *options );
int palacios_vmm_exit( void );
// Selected exported stubs, for use in other palacios components, like vnet
// The idea is that everything uses the same stubs
-void palacios_print(const char *fmt, ...);
+void palacios_print_scoped(void *vm, int vcore, const char *fmt, ...);
+#define palacios_print(...) palacios_print_scoped(0,-1, __VA_ARGS__)
void *palacios_allocate_pages(int num_pages, unsigned int alignment);
void palacios_free_pages(void *page_addr, int num_pages);
void *palacios_alloc(unsigned int size);