aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/main.c
diff options
context:
space:
mode:
authorDaniel De Graaf <dgdegra@tycho.nsa.gov>2012-02-09 18:33:32 +0000
committerDaniel De Graaf <dgdegra@tycho.nsa.gov>2012-02-09 18:33:32 +0000
commit434a41d81776964364f426e3132489003c05e5df (patch)
tree1eb8a6a1846c155e049bf71d6c988fd52b3df458 /extras/mini-os/main.c
parent8111e0c59583ac278ecd07ca4c6be04d8802e567 (diff)
downloadxen-434a41d81776964364f426e3132489003c05e5df.tar.gz
xen-434a41d81776964364f426e3132489003c05e5df.tar.bz2
xen-434a41d81776964364f426e3132489003c05e5df.zip
mini-os: make frontends and xenbus optional
This adds compile-time logic to disable certain frontends in mini-os: - pcifront is disabled by default, enabled for ioemu - blkfront, netfront, fbfront, kbdfront, consfront are enabled by default - xenbus is required for any frontend, and is enabled by default If all frontends and xenbus are disabled, mini-os will run without needing to communicate with xenstore, making it suitable to run the xenstore daemon. The console frontend is not required for the initial console, only consoles opened via openpt or ptmx. Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Acked-by: Ian Campbell <ian.campbell@citrix.com> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Diffstat (limited to 'extras/mini-os/main.c')
-rw-r--r--extras/mini-os/main.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/extras/mini-os/main.c b/extras/mini-os/main.c
index aeda548f72..73eb6fb234 100644
--- a/extras/mini-os/main.c
+++ b/extras/mini-os/main.c
@@ -63,10 +63,12 @@ static void call_main(void *p)
#ifdef CONFIG_SPARSE_BSS
sparse((unsigned long) &__app_bss_start, &__app_bss_end - &__app_bss_start);
#endif
-#if defined(HAVE_LWIP) && defined(CONFIG_START_NETWORK)
+#if defined(HAVE_LWIP) && defined(CONFIG_START_NETWORK) && defined(CONFIG_NETFRONT)
start_networking();
#endif
+#ifdef CONFIG_PCIFRONT
create_thread("pcifront", pcifront_watches, NULL);
+#endif
#ifdef CONFIG_QEMU_XS_ARGS
/* Fetch argc, argv from XenStore */
@@ -169,7 +171,7 @@ void _exit(int ret)
close_all_files();
__libc_fini_array();
printk("main returned %d\n", ret);
-#ifdef HAVE_LWIP
+#if defined(HAVE_LWIP) && defined(CONFIG_NETFRONT)
stop_networking();
#endif
stop_kernel();