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
core-y := palacios/src/palacios/
libs-y := palacios/lib/$(ARCH)/
devices-y := palacios/src/devices/
+interfaces-y := palacios/src/interfaces/
modules-y := modules/
palacios-dirs := $(patsubst %/,%,$(filter %/, \
- $(core-y) $(devices-y) $(libs-y)) $(modules-y))
+ $(core-y) $(devices-y) $(interfaces-y) $(libs-y)) $(modules-y))
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))
-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
#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;
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
};
*/
#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>
#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>
/* 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>
#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
#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
#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>
*/
-#include <palacios/vmm_console.h>
+#include <interfaces/vmm_console.h>
#include <palacios/vmm.h>
#include <palacios/vmm_debug.h>
#include <palacios/vmm_types.h>
*/
-#include <palacios/vmm_file.h>
+#include <interfaces/vmm_file.h>
#include <palacios/vmm.h>
#include <palacios/vmm_debug.h>
#include <palacios/vmm_types.h>
*/
-#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>
*/
-#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>
* 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>
*/
-#include <palacios/vmm_socket.h>
+#include <interfaces/vmm_socket.h>
#include <palacios/vmm.h>
#include <palacios/vmm_debug.h>
#include <palacios/vmm_types.h>
#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;
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
#include <palacios/vmm_host_events.h>
-#include <palacios/vmm_socket.h>
#include "vmm_config_class.h"