aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorAnthony PERARD <anthony.perard@citrix.com>2010-08-19 12:27:56 +0100
committerAlexander Graf <agraf@suse.de>2011-05-08 10:10:00 +0200
commit3285cf4fe78b4b83b70b9306cc97968b414a6e9d (patch)
tree1e95a4a1f27382ab7bacc9825b375d33228ad18e /hw
parentd5b93ddfefe63d5869a8eb97ea3474867d3b105b (diff)
xen: Add initialisation of Xen
The xenpv machine use the common init function. Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Acked-by: Alexander Graf <agraf@suse.de> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'hw')
-rw-r--r--hw/xen.h13
-rw-r--r--hw/xen_backend.c3
-rw-r--r--hw/xen_machine_pv.c1
3 files changed, 15 insertions, 2 deletions
diff --git a/hw/xen.h b/hw/xen.h
index 780dcf713a..1fefe3ad25 100644
--- a/hw/xen.h
+++ b/hw/xen.h
@@ -18,4 +18,17 @@ enum xen_mode {
extern uint32_t xen_domid;
extern enum xen_mode xen_mode;
+extern int xen_allowed;
+
+static inline int xen_enabled(void)
+{
+#ifdef CONFIG_XEN
+ return xen_allowed;
+#else
+ return 0;
+#endif
+}
+
+int xen_init(void);
+
#endif /* QEMU_HW_XEN_H */
diff --git a/hw/xen_backend.c b/hw/xen_backend.c
index 5f58a3fe64..d881fa2f70 100644
--- a/hw/xen_backend.c
+++ b/hw/xen_backend.c
@@ -665,9 +665,8 @@ int xen_be_init(void)
goto err;
}
- xen_xc = xen_xc_interface_open(0, 0, 0);
if (xen_xc == XC_HANDLER_INITIAL_VALUE) {
- xen_be_printf(NULL, 0, "can't open xen interface\n");
+ /* Check if xen_init() have been called */
goto err;
}
return 0;
diff --git a/hw/xen_machine_pv.c b/hw/xen_machine_pv.c
index 0d7f73ed82..7985d11d5a 100644
--- a/hw/xen_machine_pv.c
+++ b/hw/xen_machine_pv.c
@@ -113,6 +113,7 @@ static QEMUMachine xenpv_machine = {
.desc = "Xen Para-virtualized PC",
.init = xen_init_pv,
.max_cpus = 1,
+ .default_machine_opts = "accel=xen",
};
static void xenpv_machine_init(void)