From: Oleksandr Andrushchenko <andr2000@gmail.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
Oleksandr Andrushchenko <andr2000@gmail.com>
Cc: qemu-devel@nongnu.org, xen-devel@lists.xenproject.org,
joculator@gmail.com, al1img@gmail.com, vlad.babchuk@gmail.com,
andrii.anisov@gmail.com, olekstysh@gmail.com,
anthony.perard@citrix.com
Subject: Re: [Qemu-devel] [Xen-devel][PATCH] configure: introduce --enable-xen-fb-backend
Date: Fri, 14 Apr 2017 09:06:45 +0300 [thread overview]
Message-ID: <693ebf90-00d7-823e-4db8-9b9686e56941@gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.10.1704131704560.2759@sstabellini-ThinkPad-X260>
On 04/14/2017 03:12 AM, Stefano Stabellini wrote:
> On Tue, 11 Apr 2017, Oleksandr Andrushchenko wrote:
>> 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.
> 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@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
>>
next prev parent reply other threads:[~2017-04-14 6:06 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-11 9:35 [Qemu-devel] [Xen-devel][PATCH] configure: introduce --enable-xen-fb-backend Oleksandr Andrushchenko
2017-04-14 0:12 ` Stefano Stabellini
2017-04-14 6:06 ` Oleksandr Andrushchenko [this message]
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=693ebf90-00d7-823e-4db8-9b9686e56941@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=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).