aboutsummaryrefslogtreecommitdiffstats
path: root/extras
diff options
context:
space:
mode:
authorMatthew Fioravante <matthew.fioravante@jhuapl.edu>2012-10-08 14:36:31 +0100
committerMatthew Fioravante <matthew.fioravante@jhuapl.edu>2012-10-08 14:36:31 +0100
commit6c05d819d836f9955c0ab09e9dfa657e097b2a46 (patch)
treeb9a5fb5c0ee0915c5dcd203bdaf645d162504f84 /extras
parentb8902baf80d75b7f5832dc435a868dfcc4d1f36f (diff)
downloadxen-6c05d819d836f9955c0ab09e9dfa657e097b2a46.tar.gz
xen-6c05d819d836f9955c0ab09e9dfa657e097b2a46.tar.bz2
xen-6c05d819d836f9955c0ab09e9dfa657e097b2a46.zip
minios: add CONFIG_XC conditional
This patch adds a CONFIG_XC option to mini-os, to allow conditional support for libxc for mini-os domains. Signed-off-by: Matthew Fioravante <matthew.fioravante@jhuapl.edu> Acked-by: Samuel Thibault <samuel.thibault@ens-lyons.org> Committed-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'extras')
-rw-r--r--extras/mini-os/Makefile3
-rw-r--r--extras/mini-os/lib/sys.c7
2 files changed, 9 insertions, 1 deletions
diff --git a/extras/mini-os/Makefile b/extras/mini-os/Makefile
index c425f763f9..2422db384c 100644
--- a/extras/mini-os/Makefile
+++ b/extras/mini-os/Makefile
@@ -27,6 +27,7 @@ CONFIG_FBFRONT ?= y
CONFIG_KBDFRONT ?= y
CONFIG_CONSFRONT ?= y
CONFIG_XENBUS ?= y
+CONFIG_XC ?=y
CONFIG_LWIP ?= $(lwip)
# Export config items as compiler directives
@@ -144,7 +145,9 @@ endif
OBJS := $(filter-out $(OBJ_DIR)/lwip%.o $(LWO), $(OBJS))
ifeq ($(libc),y)
+ifeq ($(CONFIG_XC),y)
APP_LDLIBS += -L$(XEN_ROOT)/stubdom/libxc-$(XEN_TARGET_ARCH) -whole-archive -lxenguest -lxenctrl -no-whole-archive
+endif
APP_LDLIBS += -lpci
APP_LDLIBS += -lz
APP_LDLIBS += -lm
diff --git a/extras/mini-os/lib/sys.c b/extras/mini-os/lib/sys.c
index a7d35d689e..3172d2a60f 100644
--- a/extras/mini-os/lib/sys.c
+++ b/extras/mini-os/lib/sys.c
@@ -359,6 +359,7 @@ int close(int fd)
return res;
}
#endif
+#ifdef CONFIG_XC
case FTYPE_XC:
minios_interface_close_fd(fd);
return 0;
@@ -368,6 +369,7 @@ int close(int fd)
case FTYPE_GNTMAP:
minios_gnttab_close_fd(fd);
return 0;
+#endif
#ifdef CONFIG_NETFRONT
case FTYPE_TAP:
shutdown_netfront(files[fd].tap.dev);
@@ -1153,10 +1155,13 @@ void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset
if (fd == -1)
return map_zero(n, 1);
+#ifdef CONFIG_XC
else if (files[fd].type == FTYPE_XC) {
unsigned long zero = 0;
return map_frames_ex(&zero, n, 0, 0, 1, DOMID_SELF, NULL, 0);
- } else if (files[fd].type == FTYPE_MEM) {
+ }
+#endif
+ else if (files[fd].type == FTYPE_MEM) {
unsigned long first_mfn = offset >> PAGE_SHIFT;
return map_frames_ex(&first_mfn, n, 0, 1, 1, DOMID_IO, NULL, _PAGE_PRESENT|_PAGE_RW);
} else ASSERT(0);