#include "linux-exts.h"
#include "util-ringbuffer.h"
#include "vm.h"
-#include "iface-stream.h"
+
// This is probably overkill
#define STREAM_RING_LEN 4096
-
+#define STREAM_NAME_LEN 128
+++ /dev/null
-/*
- * Stream
- * (c) Lei Xia 2010
- */
-
-
-#ifndef __IFACE_STREAM_H__
-#define __IFACE_STREAM_H__
-
-
-// Stream Connection IOCTL number
-#define V3_VM_STREAM_CONNECT 21
-
-// Buffer size of the stream name being connected to
-#define STREAM_NAME_LEN 128
-
-
-#endif
Global commands (/dev/v3vee)
-10 -- (VMM) Start guest
+12 -- (VMM) Create VM
+13 -- (VMM) Free VM
50 -- (VMM) Add physical memory to VMM manager
+55 -- (IFACE) Add PCI HW Device
+56 -- (IFACE) Add PCI User Device
VM Commands (/dev/v3-vm*)
20 -- (IFACE) Connect CGA Console
21 -- (IFACE) Connect Stream
-22 -- (VMM) Stop Guest
+23 -- (VMM) Pause VM
+24 -- (VMM) Continue VM
+25 -- (VMM) Launch VM
+26 -- (VMM) Stop VM
+27 -- (VMM) Load VM
+28 -- (VMM) Save VM
29 -- (VMM) Simulate guest
30 -- (EXT) Activate Inspector
+31 -- (VMM) Debug VM
+33 -- (VMM) Move VM core
257 -- (IFACE) VGA Console Framebuf Input
258 -- (IFACE) VGA Console Framebuf Query
ret = thread_info->fn(thread_info->arg);
+
+ INFO("Palacios Thread (%s) EXITTING\n", thread_info->name);
+
kfree(thread_info);
// handle cleanup
-
- printk("Palacios Thread (%s) EXITTING\n", thread_info->name);
-
do_exit(ret);
return 0; // should not get here.
if (error) {
ERROR("error code for request_irq is %d\n", error);
- panic("request vector %d failed",vector);
+ panic("request vector %d failed", vector);
}
}
)
{
ack_APIC_irq();
- DEBUG("Pretending to ack interrupt, vector=%d\n",vector);
+ DEBUG("Pretending to ack interrupt, vector=%d\n", vector);
return 0;
}
static unsigned int
palacios_get_cpu_khz(void)
{
- INFO("cpu_khz is %u\n",cpu_khz);
+ INFO("cpu_khz is %u\n", cpu_khz);
if (cpu_khz == 0) {
INFO("faking cpu_khz to 1000000\n");
/* 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_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 (10244+1)
+#define V3_VM_HOST_DEV_CONNECT 10245
-#define V3_VM_KSTREAM_USER_CONNECT (11244+1)
+#define V3_VM_KSTREAM_USER_CONNECT 11245
// KERN_EMERG "<0>" /* system is unusable */
// KERN_ALERT "<1>" /* action must be taken immediately */
+
void * trace_malloc(size_t size, gfp_t flags);
void trace_free(const void * objp);
#define V3_FREE_GUEST 13
+/* VM Specific ioctls */
+#define V3_VM_CONSOLE_CONNECT 20
+#define V3_VM_SERIAL_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_ADD_MEMORY 50
-#define V3_VM_CONSOLE_CONNECT 20
-#define V3_VM_SERIAL_CONNECT 21
-
#define V3_VM_MOVE_CORE 33
+#define V3_VM_FB_INPUT 257
+#define V3_VM_FB_QUERY 258
+
+#define V3_VM_HOST_DEV_CONNECT 10245
+#define V3_VM_KSTREAM_USER_CONNECT 11245
+
+
static const char * v3_dev = "/dev/v3vee";
struct v3_guest_img {