aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/include
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/include
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/include')
-rw-r--r--extras/mini-os/include/lib.h2
-rw-r--r--extras/mini-os/include/xenbus.h12
2 files changed, 14 insertions, 0 deletions
diff --git a/extras/mini-os/include/lib.h b/extras/mini-os/include/lib.h
index 3d03cf40f8..1af2717c0b 100644
--- a/extras/mini-os/include/lib.h
+++ b/extras/mini-os/include/lib.h
@@ -184,11 +184,13 @@ extern struct file {
struct {
struct consfront_dev *dev;
} cons;
+#ifdef CONFIG_XENBUS
struct {
/* To each xenbus FD is associated a queue of watch events for this
* FD. */
xenbus_event_queue events;
} xenbus;
+#endif
};
int read; /* maybe available for read */
} files[];
diff --git a/extras/mini-os/include/xenbus.h b/extras/mini-os/include/xenbus.h
index de618fcfa5..cd6316ebaf 100644
--- a/extras/mini-os/include/xenbus.h
+++ b/extras/mini-os/include/xenbus.h
@@ -6,8 +6,14 @@
typedef unsigned long xenbus_transaction_t;
#define XBT_NIL ((xenbus_transaction_t)0)
+#ifdef CONFIG_XENBUS
/* Initialize the XenBus system. */
void init_xenbus(void);
+#else
+static inline void init_xenbus(void)
+{
+}
+#endif
/* Read the value associated with a path. Returns a malloc'd error
string on failure and sets *value to NULL. On success, *value is
@@ -98,7 +104,13 @@ char* xenbus_printf(xenbus_transaction_t xbt,
/* Utility function to figure out our domain id */
domid_t xenbus_get_self_id(void);
+#ifdef CONFIG_XENBUS
/* Reset the XenBus system. */
void fini_xenbus(void);
+#else
+static inline void fini_xenbus(void)
+{
+}
+#endif
#endif /* XENBUS_H__ */