/* VM Specific IOCTLs */
#define V3_VM_CONSOLE_CONNECT 20
-
+#define V3_VM_STREAM_CONNECT 21
#define V3_VM_PAUSE 23
#define V3_VM_CONTINUE 24
#define V3_VM_STOP 26
#define V3_VM_LOAD 27
#define V3_VM_SAVE 28
+#define V3_VM_SIMULATE 29
#define V3_VM_INSPECT 30
+#define V3_VM_DEBUG 31
#define V3_VM_MOVE_CORE 33
-#define V3_VM_FB_INPUT (256+1)
-#define V3_VM_FB_QUERY (256+2)
+#define V3_VM_FB_INPUT 257
+#define V3_VM_FB_QUERY 258
+
+#define V3_VM_HOST_DEV_CONNECT 10245
-#define V3_VM_HOST_DEV_CONNECT (10244+1)
+#define V3_VM_KSTREAM_USER_CONNECT 11245
-#define V3_VM_KSTREAM_USER_CONNECT (11244+1)
+// KERN_EMERG "<0>" /* system is unusable */
+// KERN_ALERT "<1>" /* action must be taken immediately */
+// KERN_CRIT "<2>" /* critical conditions */
+// KERN_ERR "<3>" /* error conditions */
+// KERN_WARNING "<4>" /* warning conditions */
+// KERN_NOTICE "<5>" /* normal but significant condition */
+// KERN_INFO "<6>" /* informational */
+// KERN_DEBUG "<7>" /* debug-level messages */
+// All 'printk's should be changed to one of these macros, for easier control
+#define ERROR(fmt, args...) printk((KERN_ERR "palacios: " fmt), ##args)
+#define WARNING(fmt, args...) printk((KERN_WARNING "palacios: " fmt), ##args)
+#define NOTICE(fmt, args...) printk((KERN_NOTICE "palacios: " fmt), ##args)
+#define INFO(fmt, args...) printk((KERN_INFO "palacios: " fmt), ##args)
+#define DEBUG(fmt, args...) printk((KERN_DEBUG "palacios: " fmt), ##args)
+
+// Turn this on for unprefaced output
+#define V3_PRINTK_OLD_STYLE_OUTPUT 0
+// Maximum length output from printk
+#define V3_PRINTK_BUF_SIZE 1024
struct v3_guest_img {
unsigned long long size;
+
void * trace_malloc(size_t size, gfp_t flags);
void trace_free(const void * objp);