[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [Qemu-devel][PATCH] configure: introduce --enable-xen-fb-backend
On 04/14/2017 03:12 AM, Stefano Stabellini wrote: On Tue, 11 Apr 2017, Oleksandr Andrushchenko wrote:From: Oleksandr Andrushchenko <oleksandr_andrushchenko@xxxxxxxx> 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.In these cases when you don't want xenfb, why don't you just remove "vfb" from the xl config file? QEMU only starts the xenfb backend when requested by the toolstack. Is it because you have an alternative xenfb backend? If so, is it really fully xenfb compatible, or is it a different protocol? If it is a different protocol, I suggest you rename your frontend/backend PV device name to something different from "vfb". Well, offending part is vkbd actually (for multi-touch we run our own user-space backend which supports kbd/ptr/mtouch), but vfb and vkbd is the same backend in QEMU. So, I am ok for vfb, but just want vkbd off So, there are 2 options: 1. At compile time remove vkbd and still allow vfb 2. Remove xenfb completely, if acceptable (this is my case) Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@xxxxxxxx> --- 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.ocommon-obj-$(CONFIG_VGA_PCI) += vga-pci.ocommon-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 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |