From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53605) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cxsDP-0001SC-Qu for qemu-devel@nongnu.org; Tue, 11 Apr 2017 05:36:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cxsDL-00066i-PD for qemu-devel@nongnu.org; Tue, 11 Apr 2017 05:35:59 -0400 Received: from mail-wr0-x243.google.com ([2a00:1450:400c:c0c::243]:32886) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cxsDL-000622-Ij for qemu-devel@nongnu.org; Tue, 11 Apr 2017 05:35:55 -0400 Received: by mail-wr0-x243.google.com with SMTP id l28so7497799wre.0 for ; Tue, 11 Apr 2017 02:35:54 -0700 (PDT) From: Oleksandr Andrushchenko Date: Tue, 11 Apr 2017 12:35:46 +0300 Message-Id: <1491903346-16075-1-git-send-email-andr2000@gmail.com> Subject: [Qemu-devel] [Xen-devel][PATCH] configure: introduce --enable-xen-fb-backend List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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 From: Oleksandr Andrushchenko 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 --- 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 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: [Qemu-devel][PATCH] configure: introduce --enable-xen-fb-backend Date: Tue, 11 Apr 2017 12:35:46 +0300 Message-ID: <1491903346-16075-1-git-send-email-andr2000@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cxsDK-0003N4-QO for xen-devel@lists.xenproject.org; Tue, 11 Apr 2017 09:35:54 +0000 Received: by mail-wr0-f194.google.com with SMTP id u18so24365007wrc.1 for ; Tue, 11 Apr 2017 02:35:53 -0700 (PDT) List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: qemu-devel@nongnu.org, xen-devel@lists.xenproject.org Cc: sstabellini@kernel.org, Oleksandr Andrushchenko , vlad.babchuk@gmail.com, andrii.anisov@gmail.com, olekstysh@gmail.com, andr2000@gmail.com, al1img@gmail.com, anthony.perard@citrix.com, joculator@gmail.com List-Id: xen-devel@lists.xenproject.org RnJvbTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVw YW0uY29tPgoKRm9yIHNvbWUgdXNlIGNhc2VzIHdoZW4gWGVuIGZyYW1lYnVmZmVyL2lucHV0IGJh Y2tlbmQKaXMgbm90IGEgcGFydCBvZiBRZW11IGl0IGlzIHJlcXVpcmVkIHRvIGRpc2FibGUgaXQs CmJlY2F1c2Ugb2YgY29uZmxpY3RpbmcgYWNjZXNzIHRvIGlucHV0L2Rpc3BsYXkgZGV2aWNlcy4K SW50cm9kdWNlIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbiBvcHRpb24gZm9yIGV4cGxpY2l0Cmlu cHV0L2Rpc3BsYXkgY29udHJvbC4KClNpZ25lZC1vZmYtYnk6IE9sZWtzYW5kciBBbmRydXNoY2hl bmtvIDxvbGVrc2FuZHJfYW5kcnVzaGNoZW5rb0BlcGFtLmNvbT4KLS0tCiBjb25maWd1cmUgICAg ICAgICAgICAgICAgIHwgMTggKysrKysrKysrKysrKysrKysrCiBody9kaXNwbGF5L01ha2VmaWxl Lm9ianMgIHwgIDIgKy0KIGh3L3hlbi94ZW5fYmFja2VuZC5jICAgICAgfCAgMiArKwogaHcveGVu cHYveGVuX21hY2hpbmVfcHYuYyB8ICA0ICsrKysKIDQgZmlsZXMgY2hhbmdlZCwgMjUgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3Vy ZQppbmRleCA0NzYyMTBiMWI5M2YuLmI4MDVjYjkwOGYwMyAxMDA3NTUKLS0tIGEvY29uZmlndXJl CisrKyBiL2NvbmZpZ3VyZQpAQCAtMjIwLDYgKzIyMCw3IEBAIHhlbj0iIgogeGVuX2N0cmxfdmVy c2lvbj0iIgogeGVuX3B2X2RvbWFpbl9idWlsZD0ibm8iCiB4ZW5fcGNpX3Bhc3N0aHJvdWdoPSIi Cit4ZW5fZmJfYmFja2VuZD0iIgogbGludXhfYWlvPSIiCiBjYXBfbmc9IiIKIGF0dHI9IiIKQEAg LTkwOSw2ICs5MTAsMTAgQEAgZm9yIG9wdCBkbwogICA7OwogICAtLWVuYWJsZS14ZW4tcHYtZG9t YWluLWJ1aWxkKSB4ZW5fcHZfZG9tYWluX2J1aWxkPSJ5ZXMiCiAgIDs7CisgIC0tZGlzYWJsZS14 ZW4tZmItYmFja2VuZCkgeGVuX2ZiX2JhY2tlbmQ9Im5vIgorICA7OworICAtLWVuYWJsZS14ZW4t ZmItYmFja2VuZCkgeGVuX2ZiX2JhY2tlbmQ9InllcyIKKyAgOzsKICAgLS1kaXNhYmxlLWJybGFw aSkgYnJsYXBpPSJubyIKICAgOzsKICAgLS1lbmFibGUtYnJsYXBpKSBicmxhcGk9InllcyIKQEAg LTEzNjgsNiArMTM3Myw3IEBAIGRpc2FibGVkIHdpdGggLS1kaXNhYmxlLUZFQVRVUkUsIGRlZmF1 bHQgaXMgZW5hYmxlZCBpZiBhdmFpbGFibGU6CiAgIHZpcnRmcyAgICAgICAgICBWaXJ0RlMKICAg eGVuICAgICAgICAgICAgIHhlbiBiYWNrZW5kIGRyaXZlciBzdXBwb3J0CiAgIHhlbi1wY2ktcGFz c3Rocm91Z2gKKyAgeGVuLWZiLWJhY2tlbmQgIGZyYW1lYnVmZmVyL2lucHV0IGJhY2tlbmQgc3Vw cG9ydAogICBicmxhcGkgICAgICAgICAgQnJsQVBJIChCcmFpbGUpCiAgIGN1cmwgICAgICAgICAg ICBjdXJsIGNvbm5lY3Rpdml0eQogICBmZHQgICAgICAgICAgICAgZmR0IGRldmljZSB0cmVlCkBA IC0yMjEzLDYgKzIyMTksMTUgQEAgaWYgdGVzdCAiJHhlbl9wdl9kb21haW5fYnVpbGQiID0gInll cyIgJiYKIAkgICAgICAgIndoaWNoIHJlcXVpcmVzIFhlbiBzdXBwb3J0LiIKIGZpCiAKK2lmIHRl c3QgIiR4ZW5fZmJfYmFja2VuZCIgIT0gIm5vIjsgdGhlbgorICAgaWYgdGVzdCAiJHhlbiIgPSAi eWVzIjsgdGhlbgorICAgICB4ZW5fZmJfYmFja2VuZD15ZXMKKyAgIGVsc2UKKyAgICAgZXJyb3Jf ZXhpdCAiVXNlciByZXF1ZXN0ZWQgZmVhdHVyZSBYZW4gZnJhbWVidWZlciBiYWNrZW5kIHN1cHBv cnQiIFwKKyAgICAgICAgICAgICAgICAiIGJ1dCB0aGlzIGZlYXR1cmUgcmVxdWlyZXMgWGVuIHN1 cHBvcnQuIgorICAgZmkKK2ZpCisKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIwogIyBTcGFyc2UgcHJvYmUKIGlmIHRlc3QgIiRzcGFyc2UiICE9ICJubyIgOyB0aGVu CkBAIC01NDQ0LDYgKzU0NTksOSBAQCBpZiB0ZXN0ICIkeGVuIiA9ICJ5ZXMiIDsgdGhlbgogICBp ZiB0ZXN0ICIkeGVuX3B2X2RvbWFpbl9idWlsZCIgPSAieWVzIiA7IHRoZW4KICAgICBlY2hvICJD T05GSUdfWEVOX1BWX0RPTUFJTl9CVUlMRD15IiA+PiAkY29uZmlnX2hvc3RfbWFrCiAgIGZpCisg IGlmIHRlc3QgIiR4ZW5fZmJfYmFja2VuZCIgPSAieWVzIiA7IHRoZW4KKyAgICBlY2hvICJDT05G SUdfWEVOX0ZCX0JBQ0tFTkQ9eSIgPj4gJGNvbmZpZ19ob3N0X21haworICBmaQogZmkKIGlmIHRl c3QgIiRsaW51eF9haW8iID0gInllcyIgOyB0aGVuCiAgIGVjaG8gIkNPTkZJR19MSU5VWF9BSU89 eSIgPj4gJGNvbmZpZ19ob3N0X21hawpkaWZmIC0tZ2l0IGEvaHcvZGlzcGxheS9NYWtlZmlsZS5v YmpzIGIvaHcvZGlzcGxheS9NYWtlZmlsZS5vYmpzCmluZGV4IDA2Mzg4OWJlYWY0YS4uZjVlYzk3 ZWQ0ZjQ4IDEwMDY0NAotLS0gYS9ody9kaXNwbGF5L01ha2VmaWxlLm9ianMKKysrIGIvaHcvZGlz cGxheS9NYWtlZmlsZS5vYmpzCkBAIC01LDcgKzUsNyBAQCBjb21tb24tb2JqLSQoQ09ORklHX0pB WlpfTEVEKSArPSBqYXp6X2xlZC5vCiBjb21tb24tb2JqLSQoQ09ORklHX1BMMTEwKSArPSBwbDEx MC5vCiBjb21tb24tb2JqLSQoQ09ORklHX1NTRDAzMDMpICs9IHNzZDAzMDMubwogY29tbW9uLW9i ai0kKENPTkZJR19TU0QwMzIzKSArPSBzc2QwMzIzLm8KLWNvbW1vbi1vYmotJChDT05GSUdfWEVO X0JBQ0tFTkQpICs9IHhlbmZiLm8KK2NvbW1vbi1vYmotJChDT05GSUdfWEVOX0ZCX0JBQ0tFTkQp ICs9IHhlbmZiLm8KIAogY29tbW9uLW9iai0kKENPTkZJR19WR0FfUENJKSArPSB2Z2EtcGNpLm8K IGNvbW1vbi1vYmotJChDT05GSUdfVkdBX0lTQSkgKz0gdmdhLWlzYS5vCmRpZmYgLS1naXQgYS9o dy94ZW4veGVuX2JhY2tlbmQuYyBiL2h3L3hlbi94ZW5fYmFja2VuZC5jCmluZGV4IGQxMTkwMDQx YWUxMi4uNTE0NmNiYmE2Y2E1IDEwMDY0NAotLS0gYS9ody94ZW4veGVuX2JhY2tlbmQuYworKysg Yi9ody94ZW4veGVuX2JhY2tlbmQuYwpAQCAtNTgyLDcgKzU4Miw5IEBAIHZvaWQgeGVuX2JlX3Jl Z2lzdGVyX2NvbW1vbih2b2lkKQogICAgIHhlbl9zZXRfZHluYW1pY19zeXNidXMoKTsKIAogICAg IHhlbl9iZV9yZWdpc3RlcigiY29uc29sZSIsICZ4ZW5fY29uc29sZV9vcHMpOworI2lmZGVmIENP TkZJR19YRU5fRkJfQkFDS0VORAogICAgIHhlbl9iZV9yZWdpc3RlcigidmtiZCIsICZ4ZW5fa2Jk bW91c2Vfb3BzKTsKKyNlbmRpZgogICAgIHhlbl9iZV9yZWdpc3RlcigicWRpc2siLCAmeGVuX2Js a2Rldl9vcHMpOwogI2lmZGVmIENPTkZJR19VU0JfTElCVVNCCiAgICAgeGVuX2JlX3JlZ2lzdGVy KCJxdXNiIiwgJnhlbl91c2Jfb3BzKTsKZGlmZiAtLWdpdCBhL2h3L3hlbnB2L3hlbl9tYWNoaW5l X3B2LmMgYi9ody94ZW5wdi94ZW5fbWFjaGluZV9wdi5jCmluZGV4IDc5YWVmNGVjYzM3Yi4uYjcz MTM0NGMzZjBhIDEwMDY0NAotLS0gYS9ody94ZW5wdi94ZW5fbWFjaGluZV9wdi5jCisrKyBiL2h3 L3hlbnB2L3hlbl9tYWNoaW5lX3B2LmMKQEAgLTY4LDcgKzY4LDkgQEAgc3RhdGljIHZvaWQgeGVu X2luaXRfcHYoTWFjaGluZVN0YXRlICptYWNoaW5lKQogICAgIH0KIAogICAgIHhlbl9iZV9yZWdp c3Rlcl9jb21tb24oKTsKKyNpZmRlZiBDT05GSUdfWEVOX0ZCX0JBQ0tFTkQKICAgICB4ZW5fYmVf cmVnaXN0ZXIoInZmYiIsICZ4ZW5fZnJhbWVidWZmZXJfb3BzKTsKKyNlbmRpZgogICAgIHhlbl9i ZV9yZWdpc3RlcigicW5pYyIsICZ4ZW5fbmV0ZGV2X29wcyk7CiAKICAgICAvKiBjb25maWd1cmUg ZnJhbWVidWZmZXIgKi8KQEAgLTk1LDggKzk3LDEwIEBAIHN0YXRpYyB2b2lkIHhlbl9pbml0X3B2 KE1hY2hpbmVTdGF0ZSAqbWFjaGluZSkKICAgICAvKiBjb25maWcgY2xlYW51cCBob29rICovCiAg ICAgYXRleGl0KHhlbl9jb25maWdfY2xlYW51cCk7CiAKKyNpZmRlZiBDT05GSUdfWEVOX0ZCX0JB Q0tFTkQKICAgICAvKiBzZXR1cCBmcmFtZWJ1ZmZlciAqLwogICAgIHhlbl9pbml0X2Rpc3BsYXko eGVuX2RvbWlkKTsKKyNlbmRpZgogfQogCiBzdGF0aWMgdm9pZCB4ZW5wdl9tYWNoaW5lX2luaXQo TWFjaGluZUNsYXNzICptYykKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==