From 6c05d819d836f9955c0ab09e9dfa657e097b2a46 Mon Sep 17 00:00:00 2001 From: Matthew Fioravante Date: Mon, 8 Oct 2012 14:36:31 +0100 Subject: 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 Acked-by: Samuel Thibault Committed-by: Ian Campbell --- extras/mini-os/Makefile | 3 +++ extras/mini-os/lib/sys.c | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'extras') 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); -- cgit v1.2.3