qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Oleksandr Andrushchenko <andr2000@gmail.com>
To: qemu-devel@nongnu.org, xen-devel@lists.xenproject.org
Cc: joculator@gmail.com, al1img@gmail.com, vlad.babchuk@gmail.com,
	andrii.anisov@gmail.com, olekstysh@gmail.com, andr2000@gmail.com,
	sstabellini@kernel.org, anthony.perard@citrix.com,
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Subject: [Qemu-devel] [Xen-devel][PATCH] configure: introduce --enable-xen-fb-backend
Date: Tue, 11 Apr 2017 12:35:46 +0300	[thread overview]
Message-ID: <1491903346-16075-1-git-send-email-andr2000@gmail.com> (raw)

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

For some use cases when Xen framebuffer/input backend
is not a part of Qemu it is required to disable it,
because of conflicting access to input/display devices.
Introduce additional configuration option for explicit
input/display control.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
---
 configure                 | 18 ++++++++++++++++++
 hw/display/Makefile.objs  |  2 +-
 hw/xen/xen_backend.c      |  2 ++
 hw/xenpv/xen_machine_pv.c |  4 ++++
 4 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index 476210b1b93f..b805cb908f03 100755
--- a/configure
+++ b/configure
@@ -220,6 +220,7 @@ xen=""
 xen_ctrl_version=""
 xen_pv_domain_build="no"
 xen_pci_passthrough=""
+xen_fb_backend=""
 linux_aio=""
 cap_ng=""
 attr=""
@@ -909,6 +910,10 @@ for opt do
   ;;
   --enable-xen-pv-domain-build) xen_pv_domain_build="yes"
   ;;
+  --disable-xen-fb-backend) xen_fb_backend="no"
+  ;;
+  --enable-xen-fb-backend) xen_fb_backend="yes"
+  ;;
   --disable-brlapi) brlapi="no"
   ;;
   --enable-brlapi) brlapi="yes"
@@ -1368,6 +1373,7 @@ disabled with --disable-FEATURE, default is enabled if available:
   virtfs          VirtFS
   xen             xen backend driver support
   xen-pci-passthrough
+  xen-fb-backend  framebuffer/input backend support
   brlapi          BrlAPI (Braile)
   curl            curl connectivity
   fdt             fdt device tree
@@ -2213,6 +2219,15 @@ if test "$xen_pv_domain_build" = "yes" &&
 	       "which requires Xen support."
 fi
 
+if test "$xen_fb_backend" != "no"; then
+   if test "$xen" = "yes"; then
+     xen_fb_backend=yes
+   else
+     error_exit "User requested feature Xen framebufer backend support" \
+                " but this feature requires Xen support."
+   fi
+fi
+
 ##########################################
 # Sparse probe
 if test "$sparse" != "no" ; then
@@ -5444,6 +5459,9 @@ if test "$xen" = "yes" ; then
   if test "$xen_pv_domain_build" = "yes" ; then
     echo "CONFIG_XEN_PV_DOMAIN_BUILD=y" >> $config_host_mak
   fi
+  if test "$xen_fb_backend" = "yes" ; then
+    echo "CONFIG_XEN_FB_BACKEND=y" >> $config_host_mak
+  fi
 fi
 if test "$linux_aio" = "yes" ; then
   echo "CONFIG_LINUX_AIO=y" >> $config_host_mak
diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs
index 063889beaf4a..f5ec97ed4f48 100644
--- a/hw/display/Makefile.objs
+++ b/hw/display/Makefile.objs
@@ -5,7 +5,7 @@ common-obj-$(CONFIG_JAZZ_LED) += jazz_led.o
 common-obj-$(CONFIG_PL110) += pl110.o
 common-obj-$(CONFIG_SSD0303) += ssd0303.o
 common-obj-$(CONFIG_SSD0323) += ssd0323.o
-common-obj-$(CONFIG_XEN_BACKEND) += xenfb.o
+common-obj-$(CONFIG_XEN_FB_BACKEND) += xenfb.o
 
 common-obj-$(CONFIG_VGA_PCI) += vga-pci.o
 common-obj-$(CONFIG_VGA_ISA) += vga-isa.o
diff --git a/hw/xen/xen_backend.c b/hw/xen/xen_backend.c
index d1190041ae12..5146cbba6ca5 100644
--- a/hw/xen/xen_backend.c
+++ b/hw/xen/xen_backend.c
@@ -582,7 +582,9 @@ void xen_be_register_common(void)
     xen_set_dynamic_sysbus();
 
     xen_be_register("console", &xen_console_ops);
+#ifdef CONFIG_XEN_FB_BACKEND
     xen_be_register("vkbd", &xen_kbdmouse_ops);
+#endif
     xen_be_register("qdisk", &xen_blkdev_ops);
 #ifdef CONFIG_USB_LIBUSB
     xen_be_register("qusb", &xen_usb_ops);
diff --git a/hw/xenpv/xen_machine_pv.c b/hw/xenpv/xen_machine_pv.c
index 79aef4ecc37b..b731344c3f0a 100644
--- a/hw/xenpv/xen_machine_pv.c
+++ b/hw/xenpv/xen_machine_pv.c
@@ -68,7 +68,9 @@ static void xen_init_pv(MachineState *machine)
     }
 
     xen_be_register_common();
+#ifdef CONFIG_XEN_FB_BACKEND
     xen_be_register("vfb", &xen_framebuffer_ops);
+#endif
     xen_be_register("qnic", &xen_netdev_ops);
 
     /* configure framebuffer */
@@ -95,8 +97,10 @@ static void xen_init_pv(MachineState *machine)
     /* config cleanup hook */
     atexit(xen_config_cleanup);
 
+#ifdef CONFIG_XEN_FB_BACKEND
     /* setup framebuffer */
     xen_init_display(xen_domid);
+#endif
 }
 
 static void xenpv_machine_init(MachineClass *mc)
-- 
2.7.4

             reply	other threads:[~2017-04-11  9:36 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-11  9:35 Oleksandr Andrushchenko [this message]
2017-04-14  0:12 ` [Qemu-devel] [Xen-devel][PATCH] configure: introduce --enable-xen-fb-backend Stefano Stabellini
2017-04-14  6:06   ` Oleksandr Andrushchenko
2017-04-14  8:50     ` [Qemu-devel] [Xen-devel] [PATCH] " Juergen Gross
2017-04-14 17:52       ` Stefano Stabellini
2017-04-18  5:26         ` Juergen Gross
2017-04-18 17:25           ` Stefano Stabellini
2017-04-20  6:14         ` Oleksandr Andrushchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1491903346-16075-1-git-send-email-andr2000@gmail.com \
    --to=andr2000@gmail.com \
    --cc=al1img@gmail.com \
    --cc=andrii.anisov@gmail.com \
    --cc=anthony.perard@citrix.com \
    --cc=joculator@gmail.com \
    --cc=oleksandr_andrushchenko@epam.com \
    --cc=olekstysh@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=sstabellini@kernel.org \
    --cc=vlad.babchuk@gmail.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).