[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 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". > 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.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 > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |