Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


Merge branch 'devel' of palacios@newskysaw.cs.northwestern.edu:/home/palacios/palacio...
Peter Dinda [Tue, 12 Apr 2011 14:46:05 +0000 (09:46 -0500)]
35 files changed:
Kconfig
Makefile
linux_module/Makefile
linux_module/palacios-console.c
linux_module/palacios-file.c
linux_module/palacios-packet.c
linux_module/palacios-socket.c
linux_module/palacios-stream.c
palacios/include/interfaces/vmm_console.h [moved from palacios/include/palacios/vmm_console.h with 100% similarity]
palacios/include/interfaces/vmm_file.h [moved from palacios/include/palacios/vmm_file.h with 100% similarity]
palacios/include/interfaces/vmm_graphics_console.h [moved from palacios/include/palacios/vmm_graphics_console.h with 100% similarity]
palacios/include/interfaces/vmm_keyed_stream.h [moved from palacios/include/palacios/vmm_keyed_stream.h with 100% similarity]
palacios/include/interfaces/vmm_packet.h [moved from palacios/include/palacios/vmm_packet.h with 100% similarity]
palacios/include/interfaces/vmm_socket.h [moved from palacios/include/palacios/vmm_socket.h with 100% similarity]
palacios/include/interfaces/vmm_stream.h [moved from palacios/include/palacios/vmm_stream.h with 100% similarity]
palacios/include/palacios/vmm_dev_mgr.h
palacios/src/devices/char_stream.c
palacios/src/devices/cirrus_gfx_card.c
palacios/src/devices/curses_cons.c
palacios/src/devices/filedisk.c
palacios/src/devices/netdisk.c
palacios/src/devices/nic_bridge.c
palacios/src/devices/telnet_cons.c
palacios/src/devices/vga.c
palacios/src/interfaces/Kconfig [new file with mode: 0644]
palacios/src/interfaces/Makefile [new file with mode: 0644]
palacios/src/interfaces/vmm_console.c [moved from palacios/src/palacios/vmm_console.c with 98% similarity]
palacios/src/interfaces/vmm_file.c [moved from palacios/src/palacios/vmm_file.c with 98% similarity]
palacios/src/interfaces/vmm_graphics_console.c [moved from palacios/src/palacios/vmm_graphics_console.c with 98% similarity]
palacios/src/interfaces/vmm_keyed_stream.c [moved from palacios/src/palacios/vmm_keyed_stream.c with 98% similarity]
palacios/src/interfaces/vmm_packet.c [moved from palacios/src/palacios/vmm_packet.c with 98% similarity]
palacios/src/interfaces/vmm_socket.c [moved from palacios/src/palacios/vmm_socket.c with 99% similarity]
palacios/src/interfaces/vmm_stream.c [moved from palacios/src/palacios/vmm_stream.c with 97% similarity]
palacios/src/palacios/Makefile
palacios/src/palacios/vmm_config.c

diff --git a/Kconfig b/Kconfig
index b7f64e1..7a48606 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -125,52 +125,9 @@ config MAX_CPUS
          Specifies the maximum number of hardware CPUs supported by the OS
          For uniprocessor environments, set this to 1
 
-config FILE
-       bool "Host Support for file operations"
-       default n
-       help
-         Select this if your host OS supports file operatoins and you want Palacios to be able to use them.
-
-config KEYED_STREAMS
-       bool "Host support for keyed streams"
-       default n
-       help
-         Select this if your host OS supports keyed streams
-          Palacios Checkpoint/Restore and Migration depends on this feature
-
-config CONSOLE
-       bool "Host Support for VM text-mode console"
-       default n
-       help 
-         Select this if you want to forward a guest console interface to some host OS service
-          This is for a TEXT MODE console.   Select the framebuffer console for graphics and text
-
-config GRAPHICS_CONSOLE
-       bool "Host Support for VM graphics and text-mode console based on a frame buffer"
-       default n
-       help 
-         Select this if you want to forward a guest graphics-mode (and text-mode) console 
-          interface to some host OS service.  This is for a GRAPHICS console based on a shared frame buffer.
-          Text mode output is RENDERED onto the framebuffer
-
-config SOCKET
-        bool "Host support for Network Sockets"
-        default y
-        help
-          Select this if you host OS implements a socket API that is available to Palacios. This is required
-          to support the internal networking features of Palacios.
-
-
-config PACKET
-       bool "Host support for Raw Packet Transmision"
-       depends on EXPERIMENTAL
-       default n
-       help 
-         Select this if you host OS implements a raw packet network API that is available to Palacios. This is required 
-         to support the internal networking features of Palacios.
-
 endmenu
 
+source "palacios/src/interfaces/Kconfig"
 
 
 config TELEMETRY
index 360dbd6..46227ae 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -434,6 +434,7 @@ scripts_basic: palacios/include/autoconf.h
 core-y          := palacios/src/palacios/
 libs-y         := palacios/lib/$(ARCH)/
 devices-y       := palacios/src/devices/
+interfaces-y    := palacios/src/interfaces/
 modules-y       := modules/
 
 
@@ -528,7 +529,7 @@ export      INSTALL_PATH ?= /build
 
 
 palacios-dirs  := $(patsubst %/,%,$(filter %/,  \
-                    $(core-y) $(devices-y) $(libs-y)) $(modules-y))
+                    $(core-y) $(devices-y) $(interfaces-y) $(libs-y)) $(modules-y))
 
 
 
@@ -538,12 +539,14 @@ palacios-dirs     := $(patsubst %/,%,$(filter %/,  \
 
 
 palacios-cleandirs := $(sort $(palacios-dirs) $(patsubst %/,%,$(filter %/, \
-                       $(core-n) $(core-) $(devices-n) $(devices-) $(modules-n) $(modules-))))
+                       $(core-n) $(core-) $(devices-n) $(devices-) \
+                       $(interfaces-n) $(interfaces-) $(modules-n) $(modules-))))
 
 
 
 core-y         := $(patsubst %/, %/built-in.o, $(core-y))
 devices-y      := $(patsubst %/, %/built-in.o, $(devices-y))
+interfaces-y    := $(patsubst %/, %/built-in.o, $(interfaces-y))
 libs-y         := $(patsubst %/, %/built-in.o, $(libs-y))
 modules-y       := $(patsubst %/, %/built-in.o, $(modules-y))
 #lnxmod-y        := $(patsubst %/, %/built-in.o, $(lnxmod-y))
@@ -570,7 +573,7 @@ modules-y       := $(patsubst %/, %/built-in.o, $(modules-y))
 
 
 
-palacios := $(core-y) $(devices-y) $(libs-y) $(modules-y)
+palacios := $(core-y) $(devices-y) $(interfaces-y) $(libs-y) $(modules-y)
 
 
 # Rule to link palacios - also used during CONFIG_CONFIGKALLSYMS
index f20fb08..181df3c 100644 (file)
@@ -8,14 +8,15 @@ v3vee-objs:=  palacios.o \
                palacios-dev.o \
                palacios-vm.o \
                palacios-file.o \
-               palacios-stream.o \
                palacios-console.o \
                palacios-mm.o \
                palacios-serial.o \
+               palacios-stream.o \
                palacios-queue.o \
                palacios-ringbuffer.o \
                palacios-debugfs.o
 
+
 ifdef CONFIG_PALACIOS_VNET
                v3vee-objs += palacios-vnet.o           
 endif
index cc6d80e..7ba96bd 100644 (file)
@@ -13,7 +13,7 @@
 #include <linux/file.h>
 #include <linux/sched.h>
 
-#include <palacios/vmm_console.h>
+#include <interfaces/vmm_console.h>
 #include <palacios/vmm_host_events.h>
 
 #include "palacios.h"
index ed0b410..2f414b5 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "palacios.h"
 
-#include <palacios/vmm_file.h>
+#include <interfaces/vmm_file.h>
 
 static struct list_head global_files;
 
index 0fc3a9f..1907507 100644 (file)
@@ -15,7 +15,7 @@
 #include <linux/errno.h>
 #include <asm/msr.h>
  
-#include <palacios/vmm_packet.h>
+#include <interfaces/vmm_packet.h>
 #include <palacios/vmm_host_events.h>
 #include <palacios/vmm_vnet.h>
 #include <palacios/vmm_ethernet.h>
index d76c5c6..28b613f 100644 (file)
@@ -17,7 +17,7 @@
  * full text of the license.
  */
 
-#include <palacios/vmm_socket.h>
+#include <interfaces/vmm_socket.h>
 
 #include <linux/spinlock.h>
 #include <asm/uaccess.h>
index 702475c..e79f093 100644 (file)
@@ -7,7 +7,7 @@
 #include <linux/percpu.h>
 #include <linux/sched.h>
 
-#include <palacios/vmm_stream.h>
+#include <interfaces/vmm_stream.h>
 #include "palacios-stream.h"
 
 static struct list_head global_streams;
index 383aebd..1ec922c 100644 (file)
@@ -29,7 +29,6 @@
 #include <palacios/vmm_msr.h>
 #include <palacios/vmm_config.h>
 #include <palacios/vmm_ethernet.h>
-#include <palacios/vmm_keyed_stream.h>
 
 struct v3_vm_info;
 
@@ -103,11 +102,17 @@ int V3_init_devices();
 int V3_deinit_devices();
 
 
+#ifdef CONFIG_KEYED_STREAMS
+#include <interfaces/vmm_keyed_stream.h>
+#endif 
+
 struct v3_device_ops {
     int (*free)(void * private_data);
 
+#ifdef CONFIG_KEYED_STREAMS
     int (*checkpoint)(struct vm_device *dev, v3_keyed_stream_t stream);
     int (*restore)(struct vm_device *dev, v3_keyed_stream_t stream);
+#endif
 };
 
 
index 2bf4841..f0c762d 100644 (file)
@@ -18,7 +18,7 @@
  */
 
 #include <palacios/vmm.h>
-#include <palacios/vmm_stream.h>
+#include <interfaces/vmm_stream.h>
 #include <palacios/vmm_dev_mgr.h>
 #include <palacios/vmm_sprintf.h>
 #include <palacios/vmm_host_events.h>
index ca1e0ba..e9d27be 100644 (file)
@@ -28,7 +28,7 @@
 #include <palacios/vmm_paging.h>
 #include <palacios/vmm_instr_emulator.h>
 #include <palacios/vm_guest_mem.h>
-#include <palacios/vmm_socket.h>
+#include <interfaces/vmm_socket.h>
 #include <palacios/vmm_host_events.h>
 #include <devices/pci.h>
 #include <devices/pci_types.h>
index aa85972..e71cb51 100644 (file)
@@ -21,7 +21,7 @@
 /* Interface between virtual video card and console */
 
 #include <palacios/vmm.h>
-#include <palacios/vmm_console.h>
+#include <interfaces/vmm_console.h>
 #include <palacios/vmm_dev_mgr.h>
 #include <palacios/vmm_sprintf.h>
 #include <palacios/vmm_host_events.h>
index b007ace..629b4ed 100644 (file)
@@ -20,7 +20,7 @@
 #include <palacios/vmm.h>
 #include <palacios/vmm_dev_mgr.h>
 
-#include <palacios/vmm_file.h>
+#include <interfaces/vmm_file.h>
 #include <palacios/vm_guest.h>
 
 #ifndef CONFIG_DEBUG_FILEDISK
index fd80bcd..9a1509a 100644 (file)
@@ -19,7 +19,7 @@
 
 #include <palacios/vmm.h>
 #include <palacios/vmm_dev_mgr.h>
-#include <palacios/vmm_socket.h>
+#include <interfaces/vmm_socket.h>
 
 #ifndef CONFIG_DEBUG_IDE
 #undef PrintDebug
index ed1cd92..9bc28d2 100644 (file)
@@ -23,7 +23,7 @@
 #include <palacios/vmm_dev_mgr.h>
 #include <palacios/vm_guest_mem.h>
 #include <palacios/vmm_sprintf.h>
-#include <palacios/vmm_packet.h>
+#include <interfaces/vmm_packet.h>
 
 #ifndef CONFIG_DEBUG_NIC_BRIDGE
 #undef PrintDebug
index b155849..7bda58b 100644 (file)
@@ -27,7 +27,7 @@
 #include <palacios/vmm_host_events.h>
 #include <palacios/vmm_lock.h>
 #include <palacios/vmm_string.h>
-#include <palacios/vmm_socket.h>
+#include <interfaces/vmm_socket.h>
 
 #include <devices/console.h>
 
index 752b4f0..f5d5469 100644 (file)
@@ -22,7 +22,7 @@
 #include <palacios/vmm_types.h>
 #include <palacios/vm_guest_mem.h>
 #include <palacios/vmm_io.h>
-#include <palacios/vmm_graphics_console.h>
+#include <interfaces/vmm_graphics_console.h>
 
 #include "vga_regs.h"
 
diff --git a/palacios/src/interfaces/Kconfig b/palacios/src/interfaces/Kconfig
new file mode 100644 (file)
index 0000000..0bd9d15
--- /dev/null
@@ -0,0 +1,53 @@
+menu "Host Interfaces"
+
+config FILE
+        bool "Host Support for file operations"
+        default n
+        help
+          Select this if your host OS supports file operatoins and you want Palacios to be able to use them.
+       
+config KEYED_STREAMS
+        bool "Host support for keyed streams"
+        default n
+        help
+          Select this if your host OS supports keyed streams
+          Palacios Checkpoint/Restore and Migration depends on this feature
+
+config STREAM
+       bool "Stream support"
+       default n
+
+          
+config CONSOLE
+       bool "Host Support for VM text-mode console"
+        default n
+        help
+          Select this if you want to forward a guest console interface to some host OS service
+          This is for a TEXT MODE console.   Select the framebuffer console for graphics and text
+            
+config GRAPHICS_CONSOLE
+        bool "Host Support for VM graphics and text-mode console based on a frame buffer"
+        default n
+       help
+          Select this if you want to forward a guest graphics-mode (and text-mode) console
+          interface to some host OS service.  This is for a GRAPHICS console based on a shared frame buffer.
+          Text mode output is RENDERED onto the framebuffer
+
+config SOCKET
+        bool "Host support for Network Sockets"
+        default y
+        help
+          Select this if you host OS implements a socket API that is available to Palacios. This is required
+          to support the internal networking features of Palacios.
+
+
+config PACKET
+        bool "Host support for Raw Packet Transmision"
+        depends on EXPERIMENTAL
+        default n
+        help
+         Select this if you host OS implements a raw packet network API that is available to Palacios. This is required
+          to support the internal networking features of Palacios.
+
+
+endmenu
diff --git a/palacios/src/interfaces/Makefile b/palacios/src/interfaces/Makefile
new file mode 100644 (file)
index 0000000..4f3a17b
--- /dev/null
@@ -0,0 +1,9 @@
+obj-$(CONFIG_SOCKET) +=  vmm_socket.o
+obj-$(CONFIG_PACKET) +=  vmm_packet.o
+obj-$(CONFIG_FILE) += vmm_file.o
+obj-$(CONFIG_CONSOLE) += vmm_console.o
+obj-$(CONFIG_STREAM) += vmm_stream.o
+obj-$(CONFIG_GRAPHICS_CONSOLE) += vmm_graphics_console.o
+obj-$(CONFIG_KEYED_STREAMS) += vmm_keyed_stream.o
+
+
similarity index 98%
rename from palacios/src/palacios/vmm_console.c
rename to palacios/src/interfaces/vmm_console.c
index bf5d5ae..244fbf6 100644 (file)
@@ -20,7 +20,7 @@
  */
 
 
-#include <palacios/vmm_console.h>
+#include <interfaces/vmm_console.h>
 #include <palacios/vmm.h>
 #include <palacios/vmm_debug.h>
 #include <palacios/vmm_types.h>
similarity index 98%
rename from palacios/src/palacios/vmm_file.c
rename to palacios/src/interfaces/vmm_file.c
index f2e191a..c22267a 100644 (file)
@@ -18,7 +18,7 @@
  */
 
 
-#include <palacios/vmm_file.h>
+#include <interfaces/vmm_file.h>
 #include <palacios/vmm.h>
 #include <palacios/vmm_debug.h>
 #include <palacios/vmm_types.h>
@@ -18,7 +18,7 @@
  */
 
 
-#include <palacios/vmm_graphics_console.h>
+#include <interfaces/vmm_graphics_console.h>
 #include <palacios/vmm.h>
 #include <palacios/vmm_debug.h>
 #include <palacios/vmm_types.h>
similarity index 98%
rename from palacios/src/palacios/vmm_keyed_stream.c
rename to palacios/src/interfaces/vmm_keyed_stream.c
index e430ae8..4ba376b 100644 (file)
@@ -18,7 +18,7 @@
  */
 
 
-#include <palacios/vmm_keyed_stream.h>
+#include <interfaces/vmm_keyed_stream.h>
 #include <palacios/vmm.h>
 #include <palacios/vmm_debug.h>
 #include <palacios/vmm_types.h>
similarity index 98%
rename from palacios/src/palacios/vmm_packet.c
rename to palacios/src/interfaces/vmm_packet.c
index 7d90d3e..a813a7c 100644 (file)
@@ -16,7 +16,8 @@
  * This is free software.  You are permitted to use,
  * redistribute, and modify it as specified in the file "V3VEE_LICENSE".
  */
-#include <palacios/vmm.h>
+
+#include <interfaces/vmm.h>
 #include <palacios/vmm_debug.h>
 #include <palacios/vmm_types.h>
 #include <palacios/vm_guest.h>
similarity index 99%
rename from palacios/src/palacios/vmm_socket.c
rename to palacios/src/interfaces/vmm_socket.c
index 683f6e4..5ac5c15 100644 (file)
@@ -18,7 +18,7 @@
  */
 
 
-#include <palacios/vmm_socket.h>
+#include <interfaces/vmm_socket.h>
 #include <palacios/vmm.h>
 #include <palacios/vmm_debug.h>
 #include <palacios/vmm_types.h>
similarity index 97%
rename from palacios/src/palacios/vmm_stream.c
rename to palacios/src/interfaces/vmm_stream.c
index c7a2e51..66ce081 100644 (file)
@@ -22,7 +22,7 @@
 #include <palacios/vmm_debug.h>
 #include <palacios/vmm_types.h>
 
-#include <palacios/vmm_stream.h>
+#include <interfaces/vmm_stream.h>
 #include <palacios/vm_guest.h>
 
 static struct v3_stream_hooks * stream_hooks = NULL;
index e06c481..5747261 100644 (file)
@@ -68,13 +68,8 @@ obj-$(CONFIG_VMX) +=         vmx.o \
 
 obj-$(CONFIG_INSTRUMENT_VMM) += vmm_instrument.o
 obj-$(CONFIG_TELEMETRY) += vmm_telemetry.o 
-obj-$(CONFIG_SOCKET) +=  vmm_socket.o
-obj-$(CONFIG_PACKET) +=  vmm_packet.o
+
 obj-$(CONFIG_VNET) += vmm_vnet_core.o
-obj-$(CONFIG_FILE) += vmm_file.o
-obj-$(CONFIG_CONSOLE) += vmm_console.o vmm_stream.o
-obj-$(CONFIG_GRAPHICS_CONSOLE) += vmm_graphics_console.o
-obj-$(CONFIG_KEYED_STREAMS) += vmm_keyed_stream.o
 
 
 obj-$(CONFIG_SYMBIOTIC) += vmm_symbiotic.o vmm_symspy.o
index f24dc38..b1d747e 100644 (file)
@@ -38,7 +38,6 @@
 
 
 #include <palacios/vmm_host_events.h>
-#include <palacios/vmm_socket.h>
 
 #include "vmm_config_class.h"