From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-f67.google.com (mail-lf0-f67.google.com [209.85.215.67]) by mail.openembedded.org (Postfix) with ESMTP id 3B08B74BF4 for ; Tue, 29 May 2018 23:15:10 +0000 (UTC) Received: by mail-lf0-f67.google.com with SMTP id z142-v6so1306291lff.5 for ; Tue, 29 May 2018 16:15:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=+oXN4BqGkkeE6LpBG6Ga9blt1mBeUhJpjgzt57ZlHD8=; b=imqVwG+XsfSO0oI/DwYUeyN86tpsj0PYz2D5ofKsYuRqXiHs2u8MZDpIzPyz3NLFZw h5xeYg9wzEFVV+4AuJMWHv/WLo6AlZo4ykgr/HCDRUvwqgHKRrVB8o4KtI3y3m9TBj05 CK0SndelmSapPBzPqOp4ehOImIcOcwq8zfj1z8ey8AH4wPiZPT8dzNbWwAS9BJGpJTPp QsEiLgX0tqQeD9CXoo42iZrj3+9M85OknZhFa8a3oaq7LJzED8fpWs+NMxYFi5ZHSqSl cZlmHWUIoG3lNC+fttecuTcDpANAsdDGtiXe061XTFvUIVQ4oQjkpfasOU/5c1y2vta6 DjEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=+oXN4BqGkkeE6LpBG6Ga9blt1mBeUhJpjgzt57ZlHD8=; b=M1x30Y88jdvUDP3ShNGQ953T01tuY03ofzJEEL2SsVT2SRx/i5HYwvYcVqERmCqQ3s 4f03qJEewUb2fnCA2HMJKWsKG2rpJUqmnGcg34yxNvfGDRCPnr/2br9D45Xcuy6Mc37P B1hmtt8XVLF31iQML/WUzBJeSk38mUc6nGyYYfyFDLHXY2VN7MLfjKrY+OoXUmzpCdRu DDCspgZKOp47qQq6tn9lCLEWPo+qLGW7iXMpOcwZbCfPPWTpEin2iM3wTtTDnYv17Oq+ 7lVkXYprbNEdtRlDeoDLmjfYGfVRNQr+nuayMov92jBTIMXbhg9RTJiSD90EmLwOAmp9 S/Aw== X-Gm-Message-State: ALKqPwfMIy/VrKMfikgvby+BVEuv+INQ9y7d0m0Ju3IYaT8WVPArqWbm /WvqUAkQFK9WsxrPtUj4YvFmIdXaqcm/9TwB74E= X-Google-Smtp-Source: ADUXVKL6b7tZjcIQT5AfeZ7bHGaxJoYb4CzvSggwEBPQwqIBSvuDnR/HgN5cLVisCfwr6zJVDdQnbEDS9z3pNHDQ2gE= X-Received: by 2002:a19:9555:: with SMTP id x82-v6mr180973lfd.132.1527635711218; Tue, 29 May 2018 16:15:11 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a2e:3c12:0:0:0:0:0 with HTTP; Tue, 29 May 2018 16:14:40 -0700 (PDT) In-Reply-To: References: <20180502143733.6303-1-Martin.Jansa@gmail.com> <20180502143733.6303-2-Martin.Jansa@gmail.com> From: Alistair Francis Date: Tue, 29 May 2018 16:14:40 -0700 Message-ID: To: Martin Jansa Cc: Patches and discussions about the oe-core layer Subject: Re: [PATCH 2/3] qemu: upgrade to 2.12.0 X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 May 2018 23:15:11 -0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, May 29, 2018 at 1:40 PM, Martin Jansa wrot= e: > After removing ld-is-gold I was able to reproduce the issue. > > Unfortunately removing the > meta/recipes-devtools/qemu/qemu/linux-user-Fix-webkitgtk-hangs-on-32-bit-= x86-target.patch > doesn't help with the hang, then I've tried to upgrade to latest SRCREV i= n > qemu master (currently 5a5c383b1373aeb6c87a0d6060f6c3dc7c53082b) > > Will try to bisect where it started to hang between 2.11.0 and 2.12.0, bu= t > it might be faster if Alistair Francis can chime in as the author of this > patch, he might have better idea why it stopped working. I'm not sure why it would stop working between the two releases. I can't reproduce the hang, I just see this compilation error when buidling webkitgtk with musl: /scratch/alistair/yocto/oe-master/build/tmp-musl/work/core2-64-oe-linux-mus= l/webkitgtk/2.20.2-r0/webkitgtk-2.20.2/Source/WebCore/platform/graphics/Ope= nGLShims.h:23:10: fatal error: GL/gl.h: No such file or directory #include Alistair > > Cheers, > > On Tue, May 29, 2018 at 2:56 PM Martin Jansa wro= te: >> >> I've tried to reproduce it locally, but g-ir-scanner-qemuwrapper is >> failing for me in various recipes and I never got as far as webkitgtk >> >> pango: >> Error relocating >> TOPDIR/tmp-musl/work/i586-oe-linux-musl/pango/1.40.14-r0/recipe-sysroot/= /usr/lib/libGL.so.1: >> __glX_tls_Context: symbol not found >> http://errors.yoctoproject.org/Errors/Details/178988/ >> >> after disabling GI for pango (GI_DATA_ENABLED_pn-pango =3D "False") it >> failed in >> librsvg: >> Error relocating >> TOPDIR/tmp-musl/work/i586-oe-linux-musl/librsvg/2.40.20-r0/recipe-sysroo= t//usr/lib/libGL.so.1: >> __glX_tls_Context: symbol not found >> http://errors.yoctoproject.org/Errors/Details/178991/ >> >> gstreamer1.0-plugins-base: >> Error relocating >> TOPDIR/tmp-musl/work/i586-oe-linux-musl/gstreamer1.0-plugins-base/1.14.0= -r0/recipe-sysroot//usr/lib/libEGL.so.1: >> _egl_TLS: symbol not found >> http://errors.yoctoproject.org/Errors/Details/178993/ >> >> and gtk+3 as well, because of disabled GI for pango: >> Couldn't find include 'Pango-1.0.gir' (search path: >> '['TOPDIR/tmp-musl/work/i586-oe-linux-musl/gtk+3/3.22.29-r0/recipe-sysro= ot/usr/share/gir-1.0', >> '../gdk', >> 'TOPDIR/tmp-musl/work/i586-oe-linux-musl/gtk+3/3.22.29-r0/recipe-sysroot= /usr/share/gir-1.0', >> 'TOPDIR/tmp-musl/work/i586-oe-linux-musl/gtk+3/3.22.29-r0/recipe-sysroot= -native/usr/share/gir-1.0', >> '/usr/share/gir-1.0', >> 'TOPDIR/tmp-musl/work/i586-oe-linux-musl/gtk+3/3.22.29-r0/recipe-sysroot= -native/usr/share/gir-1.0']') >> >> TOPDIR/tmp-musl/work/i586-oe-linux-musl/gtk+3/3.22.29-r0/recipe-sysroot/= usr/share/gobject-introspection-1.0/Makefile.introspection:159: >> recipe for target 'Gdk-3.0.gir' failed >> http://errors.yoctoproject.org/Errors/Details/178992/ >> >> I'm not sure how exactly AB is doing this qemux86 musl build, it might b= e >> some more changes I have locally or missing/superfluous something in my >> config. >> >> On Tue, May 29, 2018 at 11:10 AM Martin Jansa >> wrote: >>> >>> This hang should have been fixed by: >>> >>> meta/recipes-devtools/qemu/qemu/linux-user-Fix-webkitgtk-hangs-on-32-bi= t-x86-target.patch >>> >>> which was added with previous upgrade to 2.11.0: >>> >>> commit d6d0d99569e0d8b62a61e27d389e7939af45bab9 >>> Author: Alistair Francis >>> Date: Wed Jan 17 13:39:06 2018 -0800 >>> >>> qemu: Bump to version 2.11.0 >>> >>> and my update only shifted the chunk by 2 lines in: >>> >>> commit a742584f253e25b97729abe19ca9e4fa2809ea2e >>> Author: Martin Jansa >>> Date: Wed May 2 14:37:33 2018 +0000 >>> >>> qemu: refresh patches with devtool >>> >>> and the patch is still being applied. I was waiting for >>> http://jenkins.nas-admin.org/view/OE/job/oe_world_qemux86/ to reproduce= it, >>> but it seems that Khem is working on some bigger overhaul of the jobs a= nd >>> it's not ready yet, I'll try to reproduce it locally now and if I can >>> reproduce it, then I'll try to just remove this patch, because the upst= ream >>> didn't accept it very well in: >>> http://lists.gnu.org/archive/html/qemu-devel/2018-01/msg04185.html >>> and the discussion there died few months ago. >>> >>> Regards, >>> >>> On Fri, May 18, 2018 at 11:59 PM Burton, Ross >>> wrote: >>>> >>>> This is causing the AB to hang when built for qemux86 with musl whilst >>>> building webkitgtk during the gobject-introspection qemu-i386 calls, >>>> qemu enters an infinite loop. >>>> >>>> I've not yet reproduced locally to try and get a log out of qemu, but >>>> it has happened on the autobuilder repeatedly. >>>> >>>> Ross >>>> >>>> On 2 May 2018 at 15:37, Martin Jansa wrote: >>>> > Signed-off-by: Martin Jansa >>>> > --- >>>> > meta/conf/distro/include/tcmode-default.inc | 2 +- >>>> > ...4-treat-DISAS_UPDATE-as-variant-of-D.patch | 67 >>>> > ------------------- >>>> > ...-connect-socket-to-a-spawned-command.patch | 52 +++++++------- >>>> > .../qemu/qemu/disable-grabs.patch | 43 ++++++------ >>>> > meta/recipes-devtools/qemu/qemu/memfd.patch | 57 ---------------- >>>> > .../qemu/qemu/qemu-2.5.0-cflags.patch | 15 ++++- >>>> > .../qemu/{qemu_2.11.1.bb =3D> qemu_2.12.0.bb} | 6 +- >>>> > 7 files changed, 65 insertions(+), 177 deletions(-) >>>> > delete mode 100644 >>>> > meta/recipes-devtools/qemu/qemu/0001-arm-translate-a64-treat-DISAS_U= PDATE-as-variant-of-D.patch >>>> > delete mode 100644 meta/recipes-devtools/qemu/qemu/memfd.patch >>>> > rename meta/recipes-devtools/qemu/{qemu_2.11.1.bb =3D> qemu_2.12.0.= bb} >>>> > (87%) >>>> > >>>> > diff --git a/meta/conf/distro/include/tcmode-default.inc >>>> > b/meta/conf/distro/include/tcmode-default.inc >>>> > index 00399ae820..8b5214ed96 100644 >>>> > --- a/meta/conf/distro/include/tcmode-default.inc >>>> > +++ b/meta/conf/distro/include/tcmode-default.inc >>>> > @@ -28,7 +28,7 @@ BINUVERSION ?=3D "2.30%" >>>> > GDBVERSION ?=3D "8.0%" >>>> > GLIBCVERSION ?=3D "2.27%" >>>> > LINUXLIBCVERSION ?=3D "4.15%" >>>> > -QEMUVERSION ?=3D "2.11%" >>>> > +QEMUVERSION ?=3D "2.12%" >>>> > >>>> > PREFERRED_VERSION_gcc ?=3D "${GCCVERSION}" >>>> > PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?=3D "${GCCVERSION}" >>>> > diff --git >>>> > a/meta/recipes-devtools/qemu/qemu/0001-arm-translate-a64-treat-DISAS= _UPDATE-as-variant-of-D.patch >>>> > b/meta/recipes-devtools/qemu/qemu/0001-arm-translate-a64-treat-DISAS= _UPDATE-as-variant-of-D.patch >>>> > deleted file mode 100644 >>>> > index f90cae694c..0000000000 >>>> > --- >>>> > a/meta/recipes-devtools/qemu/qemu/0001-arm-translate-a64-treat-DISAS= _UPDATE-as-variant-of-D.patch >>>> > +++ /dev/null >>>> > @@ -1,67 +0,0 @@ >>>> > -From a75a52d62418dafe462be4fe30485501d1010bb9 Mon Sep 17 00:00:00 >>>> > 2001 >>>> > -From: Victor Kamensky >>>> > -Date: Fri, 23 Mar 2018 18:26:45 +0000 >>>> > -Subject: [PATCH] arm/translate-a64: treat DISAS_UPDATE as variant o= f >>>> > - DISAS_EXIT >>>> > -MIME-Version: 1.0 >>>> > -Content-Type: text/plain; charset=3DUTF-8 >>>> > -Content-Transfer-Encoding: 8bit >>>> > - >>>> > -In OE project 4.15 linux kernel boot hang was observed under >>>> > -single cpu aarch64 qemu. Kernel code was in a loop waiting for >>>> > -vtimer arrival, spinning in TC generated blocks, while interrupt >>>> > -was pending unprocessed. This happened because when qemu tried to >>>> > -handle vtimer interrupt target had interrupts disabled, as >>>> > -result flag indicating TCG exit, cpu->icount_decr.u16.high, >>>> > -was cleared but arm_cpu_exec_interrupt function did not call >>>> > -arm_cpu_do_interrupt to process interrupt. Later when target >>>> > -reenabled interrupts, it happened without exit into main loop, so >>>> > -following code that waited for result of interrupt execution >>>> > -run in infinite loop. >>>> > - >>>> > -To solve the problem instructions that operate on CPU sys state >>>> > -(i.e enable/disable interrupt), and marked as DISAS_UPDATE, >>>> > -should be considered as DISAS_EXIT variant, and should be >>>> > -forced to exit back to main loop so qemu will have a chance >>>> > -processing pending CPU state updates, including pending >>>> > -interrupts. >>>> > - >>>> > -This change brings consistency with how DISAS_UPDATE is treated >>>> > -in aarch32 case. >>>> > - >>>> > -CC: Peter Maydell >>>> > -CC: Alex Benn=C3=A9e >>>> > -CC: qemu-stable@nongnu.org >>>> > -Suggested-by: Peter Maydell >>>> > -Signed-off-by: Victor Kamensky >>>> > -Reviewed-by: Richard Henderson >>>> > -Message-id: 1521526368-1996-1-git-send-email-kamensky@cisco.com >>>> > -Signed-off-by: Peter Maydell >>>> > -Upstream-Status: Backport >>>> > ---- >>>> > - target/arm/translate-a64.c | 6 +++--- >>>> > - 1 file changed, 3 insertions(+), 3 deletions(-) >>>> > - >>>> > -diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.= c >>>> > -index 31ff047..327513e 100644 >>>> > ---- a/target/arm/translate-a64.c >>>> > -+++ b/target/arm/translate-a64.c >>>> > -@@ -13378,12 +13378,12 @@ static void >>>> > aarch64_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu) >>>> > - case DISAS_UPDATE: >>>> > - gen_a64_set_pc_im(dc->pc); >>>> > - /* fall through */ >>>> > -- case DISAS_JUMP: >>>> > -- tcg_gen_lookup_and_goto_ptr(); >>>> > -- break; >>>> > - case DISAS_EXIT: >>>> > - tcg_gen_exit_tb(0); >>>> > - break; >>>> > -+ case DISAS_JUMP: >>>> > -+ tcg_gen_lookup_and_goto_ptr(); >>>> > -+ break; >>>> > - case DISAS_NORETURN: >>>> > - case DISAS_SWI: >>>> > - break; >>>> > --- >>>> > -2.7.4 >>>> > - >>>> > diff --git >>>> > a/meta/recipes-devtools/qemu/qemu/chardev-connect-socket-to-a-spawne= d-command.patch >>>> > b/meta/recipes-devtools/qemu/qemu/chardev-connect-socket-to-a-spawne= d-command.patch >>>> > index 6e6bf95c18..f1cf53a8c5 100644 >>>> > --- >>>> > a/meta/recipes-devtools/qemu/qemu/chardev-connect-socket-to-a-spawne= d-command.patch >>>> > +++ >>>> > b/meta/recipes-devtools/qemu/qemu/chardev-connect-socket-to-a-spawne= d-command.patch >>>> > @@ -1,4 +1,4 @@ >>>> > -From 3bb3100c22eb30146a69656480bdffeef8663575 Mon Sep 17 00:00:00 >>>> > 2001 >>>> > +From a7690b02df70e0d3957e6eaa1e1cf92595839fbb Mon Sep 17 00:00:00 >>>> > 2001 >>>> > From: Alistair Francis >>>> > Date: Thu, 21 Dec 2017 11:35:16 -0800 >>>> > Subject: [PATCH] chardev: connect socket to a spawned command >>>> > @@ -45,16 +45,16 @@ Upstream-Status: Inappropriate [embedded specifi= c] >>>> > >>>> > Signed-off-by: Patrick Ohly >>>> > --- >>>> > - chardev/char-socket.c | 86 >>>> > ++++++++++++++++++++++++++++++++++++++++++++++++--- >>>> > - chardev/char.c | 3 ++ >>>> > - qapi/char.json | 5 +++ >>>> > - 3 files changed, 90 insertions(+), 4 deletions(-) >>>> > + chardev/char-socket.c | 102 >>>> > ++++++++++++++++++++++++++++++++++++++++++ >>>> > + chardev/char.c | 3 ++ >>>> > + qapi/char.json | 5 +++ >>>> > + 3 files changed, 110 insertions(+) >>>> > >>>> > diff --git a/chardev/char-socket.c b/chardev/char-socket.c >>>> > -index 53eda8ef00..f566107c35 100644 >>>> > +index 159e69c3b1..84778cf31a 100644 >>>> > --- a/chardev/char-socket.c >>>> > +++ b/chardev/char-socket.c >>>> > -@@ -852,6 +852,68 @@ static gboolean >>>> > socket_reconnect_timeout(gpointer opaque) >>>> > +@@ -934,6 +934,68 @@ static gboolean >>>> > socket_reconnect_timeout(gpointer opaque) >>>> > return false; >>>> > } >>>> > >>>> > @@ -123,7 +123,7 @@ index 53eda8ef00..f566107c35 100644 >>>> > static void qmp_chardev_open_socket(Chardev *chr, >>>> > ChardevBackend *backend, >>>> > bool *be_opened, >>>> > -@@ -859,6 +921,9 @@ >>>> > +@@ -941,6 +1003,9 @@ static void qmp_chardev_open_socket(Chardev >>>> > *chr, >>>> > { >>>> > SocketChardev *s =3D SOCKET_CHARDEV(chr); >>>> > ChardevSocket *sock =3D backend->u.socket.data; >>>> > @@ -133,11 +133,10 @@ index 53eda8ef00..f566107c35 100644 >>>> > bool do_nodelay =3D sock->has_nodelay ? sock->nodelay : fa= lse; >>>> > bool is_listen =3D sock->has_server ? sock->server : tr= ue; >>>> > bool is_telnet =3D sock->has_telnet ? sock->telnet : fa= lse; >>>> > -@@ -925,7 +990,14 @@ >>>> > - } else if (reconnect > 0) { >>>> > +@@ -1008,6 +1073,14 @@ static void qmp_chardev_open_socket(Chardev >>>> > *chr, >>>> > s->reconnect_time =3D reconnect; >>>> > } >>>> > -- >>>> > + >>>> > +#ifndef _WIN32 >>>> > + if (cmd) { >>>> > + chardev_open_socket_cmd(chr, cmd, errp); >>>> > @@ -146,12 +145,12 @@ index 53eda8ef00..f566107c35 100644 >>>> > + *be_opened =3D true; >>>> > + } else >>>> > +#endif >>>> > - if (s->reconnect_time) { >>>> > - sioc =3D qio_channel_socket_new(); >>>> > - tcp_chr_set_client_ioc_name(chr, sioc); >>>> > -@@ -985,10 +1057,26 @@ >>>> > - const char *host =3D qemu_opt_get(opts, "host"); >>>> > + /* If reconnect_time is set, will do that in chr_machine_done. >>>> > */ >>>> > + if (!s->reconnect_time) { >>>> > + if (s->is_listen) { >>>> > +@@ -1065,9 +1138,26 @@ static void qemu_chr_parse_socket(QemuOpts >>>> > *opts, ChardevBackend *backend, >>>> > const char *port =3D qemu_opt_get(opts, "port"); >>>> > + const char *fd =3D qemu_opt_get(opts, "fd"); >>>> > const char *tls_creds =3D qemu_opt_get(opts, "tls-creds"); >>>> > +#ifndef _WIN32 >>>> > + const char *cmd =3D qemu_opt_get(opts, "cmd"); >>>> > @@ -159,7 +158,6 @@ index 53eda8ef00..f566107c35 100644 >>>> > SocketAddressLegacy *addr; >>>> > ChardevSocket *sock; >>>> > >>>> > - backend->type =3D CHARDEV_BACKEND_KIND_SOCKET; >>>> > +#ifndef _WIN32 >>>> > + if (cmd) { >>>> > + /* >>>> > @@ -173,17 +171,18 @@ index 53eda8ef00..f566107c35 100644 >>>> > + } >>>> > + } else >>>> > +#endif >>>> > - if (!path) { >>>> > - if (!host) { >>>> > - error_setg(errp, "chardev: socket: no host given"); >>>> > -@@ -1021,13 +1109,24 @@ >>>> > - sock->has_reconnect =3D true; >>>> > ++ >>>> > + if ((!!path + !!fd + !!host) !=3D 1) { >>>> > + error_setg(errp, >>>> > + "Exactly one of 'path', 'fd' or 'host' >>>> > required"); >>>> > +@@ -1112,12 +1202,24 @@ static void qemu_chr_parse_socket(QemuOpts >>>> > *opts, ChardevBackend *backend, >>>> > sock->reconnect =3D reconnect; >>>> > sock->tls_creds =3D g_strdup(tls_creds); >>>> > + >>>> > +#ifndef _WIN32 >>>> > + sock->cmd =3D g_strdup(cmd); >>>> > +#endif >>>> > - >>>> > ++ >>>> > addr =3D g_new0(SocketAddressLegacy, 1); >>>> > +#ifndef _WIN32 >>>> > + if (path || cmd) { >>>> > @@ -198,11 +197,11 @@ index 53eda8ef00..f566107c35 100644 >>>> > +#else >>>> > q_unix->path =3D g_strdup(path); >>>> > +#endif >>>> > - } else { >>>> > + } else if (host) { >>>> > addr->type =3D SOCKET_ADDRESS_LEGACY_KIND_INET; >>>> > addr->u.inet.data =3D g_new(InetSocketAddress, 1); >>>> > diff --git a/chardev/char.c b/chardev/char.c >>>> > -index 2ae4f465ec..5d52cd5de5 100644 >>>> > +index 76d866e6fe..9747d51d7c 100644 >>>> > --- a/chardev/char.c >>>> > +++ b/chardev/char.c >>>> > @@ -792,6 +792,9 @@ QemuOptsList qemu_chardev_opts =3D { >>>> > @@ -239,4 +238,5 @@ index ae19dcd1ed..6de0f29bcd 100644 >>>> > '*server' : 'bool', >>>> > '*wait' : 'bool', >>>> > -- >>>> > -2.14.1 >>>> > +2.17.0 >>>> > + >>>> > diff --git a/meta/recipes-devtools/qemu/qemu/disable-grabs.patch >>>> > b/meta/recipes-devtools/qemu/qemu/disable-grabs.patch >>>> > index 77117890f4..e29c011a6f 100644 >>>> > --- a/meta/recipes-devtools/qemu/qemu/disable-grabs.patch >>>> > +++ b/meta/recipes-devtools/qemu/qemu/disable-grabs.patch >>>> > @@ -1,3 +1,11 @@ >>>> > +From a31c5c695cb716310257f1fc60a06b821e74fe7f Mon Sep 17 00:00:00 >>>> > 2001 >>>> > +From: Ross Burton >>>> > +Date: Wed, 18 Sep 2013 14:04:54 +0100 >>>> > +Subject: [PATCH] sdl.c: allow user to disable pointer grabs >>>> > +MIME-Version: 1.0 >>>> > +Content-Type: text/plain; charset=3DUTF-8 >>>> > +Content-Transfer-Encoding: 8bit >>>> > + >>>> > When the pointer enters the Qemu window it calls SDL_WM_GrabInput, >>>> > which calls >>>> > XGrabPointer in a busyloop until it returns GrabSuccess. However if >>>> > there's already >>>> > a pointer grab (screen is locked, a menu is open) then qemu will ha= ng >>>> > until the >>>> > @@ -11,35 +19,30 @@ them in a conditional that can be set by the >>>> > autobuilder environment, preserving >>>> > the current grabbing behaviour for everyone else. >>>> > >>>> > Upstream-Status: Pending >>>> > -Signed-off-by: Ross Burton >>>> > - >>>> > -From 4b1988ecb01a178269ec0513a75f2ec620c7ef6a Mon Sep 17 00:00:00 >>>> > 2001 >>>> > -From: Ross Burton >>>> > -Date: Wed, 18 Sep 2013 14:04:54 +0100 >>>> > -Subject: [PATCH] sdl.c: allow user to disable pointer grabs >>>> > - >>>> > Signed-off-by: Ross Burton >>>> > Signed-off-by: Eric B=C3=A9nard >>>> > + >>>> > --- >>>> > - ui/sdl.c | 12 ++++++++++-- >>>> > - 1 file changed, 10 insertions(+), 2 deletions(-) >>>> > + ui/sdl.c | 13 +++++++++++-- >>>> > + 1 file changed, 11 insertions(+), 2 deletions(-) >>>> > >>>> > -Index: qemu-2.11.1/ui/sdl.c >>>> > -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>> > ---- qemu-2.11.1.orig/ui/sdl.c >>>> > -+++ qemu-2.11.1/ui/sdl.c >>>> > -@@ -63,6 +63,10 @@ static SDL_PixelFormat host_format; >>>> > - static int scaling_active =3D 0; >>>> > - static Notifier mouse_mode_notifier; >>>> > - static int idle_counter; >>>> > +diff --git a/ui/sdl.c b/ui/sdl.c >>>> > +index a5fd503..ab8d1b1 100644 >>>> > +--- a/ui/sdl.c >>>> > ++++ b/ui/sdl.c >>>> > +@@ -68,6 +68,11 @@ static int idle_counter; >>>> > + static const guint16 *keycode_map; >>>> > + static size_t keycode_maplen; >>>> > + >>>> > +#ifndef True >>>> > +#define True 1 >>>> > +#endif >>>> > +static doing_grabs =3D True; >>>> > - >>>> > ++ >>>> > #define SDL_REFRESH_INTERVAL_BUSY 10 >>>> > #define SDL_MAX_IDLE_COUNT (2 * GUI_REFRESH_INTERVAL_DEFAULT \ >>>> > -@@ -431,14 +435,16 @@ static void sdl_grab_start(void) >>>> > + / SDL_REFRESH_INTERVAL_BUSY + 1) >>>> > +@@ -398,14 +403,16 @@ static void sdl_grab_start(void) >>>> > } >>>> > } else >>>> > sdl_hide_cursor(); >>>> > @@ -58,7 +61,7 @@ Index: qemu-2.11.1/ui/sdl.c >>>> > gui_grab =3D 0; >>>> > sdl_show_cursor(); >>>> > sdl_update_caption(); >>>> > -@@ -986,6 +992,8 @@ void sdl_display_init(DisplayState *ds, >>>> > +@@ -945,6 +952,8 @@ static void sdl1_display_init(DisplayState *ds, >>>> > DisplayOptions *o) >>>> > * This requires SDL >=3D 1.2.14. */ >>>> > setenv("SDL_DISABLE_LOCK_KEYS", "1", 1); >>>> > >>>> > diff --git a/meta/recipes-devtools/qemu/qemu/memfd.patch >>>> > b/meta/recipes-devtools/qemu/qemu/memfd.patch >>>> > deleted file mode 100644 >>>> > index 62e8d3800b..0000000000 >>>> > --- a/meta/recipes-devtools/qemu/qemu/memfd.patch >>>> > +++ /dev/null >>>> > @@ -1,57 +0,0 @@ >>>> > -Upstream-Status: Backport >>>> > -Signed-off-by: Ross Burton >>>> > - >>>> > -From 75e5b70e6b5dcc4f2219992d7cffa462aa406af0 Mon Sep 17 00:00:00 >>>> > 2001 >>>> > -From: Paolo Bonzini >>>> > -Date: Tue, 28 Nov 2017 11:51:27 +0100 >>>> > -Subject: [PATCH] memfd: fix configure test >>>> > -MIME-Version: 1.0 >>>> > -Content-Type: text/plain; charset=3DUTF-8 >>>> > -Content-Transfer-Encoding: 8bit >>>> > - >>>> > -Recent glibc added memfd_create in sys/mman.h. This conflicts with >>>> > -the definition in util/memfd.c: >>>> > - >>>> > - /builddir/build/BUILD/qemu-2.11.0-rc1/util/memfd.c:40:12: error= : >>>> > static declaration of memfd_create follows non-static declaration >>>> > - >>>> > -Fix the configure test, and remove the sys/memfd.h inclusion since >>>> > the >>>> > -file actually does not exist---it is a typo in the memfd_create(2) >>>> > man >>>> > -page. >>>> > - >>>> > -Cc: Marc-Andr=C3=A9 Lureau >>>> > -Signed-off-by: Paolo Bonzini >>>> > ---- >>>> > - configure | 2 +- >>>> > - util/memfd.c | 4 +--- >>>> > - 2 files changed, 2 insertions(+), 4 deletions(-) >>>> > - >>>> > -diff --git a/configure b/configure >>>> > -index 9c8aa5a98b..99ccc1725a 100755 >>>> > ---- a/configure >>>> > -+++ b/configure >>>> > -@@ -3923,7 +3923,7 @@ fi >>>> > - # check if memfd is supported >>>> > - memfd=3Dno >>>> > - cat > $TMPC << EOF >>>> > --#include >>>> > -+#include >>>> > - >>>> > - int main(void) >>>> > - { >>>> > -diff --git a/util/memfd.c b/util/memfd.c >>>> > -index 4571d1aba8..412e94a405 100644 >>>> > ---- a/util/memfd.c >>>> > -+++ b/util/memfd.c >>>> > -@@ -31,9 +31,7 @@ >>>> > - >>>> > - #include "qemu/memfd.h" >>>> > - >>>> > --#ifdef CONFIG_MEMFD >>>> > --#include >>>> > --#elif defined CONFIG_LINUX >>>> > -+#if defined CONFIG_LINUX && !defined CONFIG_MEMFD >>>> > - #include >>>> > - #include >>>> > - >>>> > --- >>>> > -2.11.0 >>>> > diff --git a/meta/recipes-devtools/qemu/qemu/qemu-2.5.0-cflags.patch >>>> > b/meta/recipes-devtools/qemu/qemu/qemu-2.5.0-cflags.patch >>>> > index eb99d14639..360519f1a1 100644 >>>> > --- a/meta/recipes-devtools/qemu/qemu/qemu-2.5.0-cflags.patch >>>> > +++ b/meta/recipes-devtools/qemu/qemu/qemu-2.5.0-cflags.patch >>>> > @@ -1,8 +1,19 @@ >>>> > +From 6702ec74a7ba90b99efedde260c9f08b75d5516d Mon Sep 17 00:00:00 >>>> > 2001 >>>> > +From: Stephen Arnold >>>> > +Date: Sun, 12 Jun 2016 18:09:56 -0700 >>>> > +Subject: [PATCH] qemu-native: set ld.bfd, fix cflags, and set some >>>> > environment >>>> > + >>>> > Upstream-Status: Pending >>>> > >>>> > +--- >>>> > + configure | 4 ---- >>>> > + 1 file changed, 4 deletions(-) >>>> > + >>>> > +diff --git a/configure b/configure >>>> > +index 69e05fb..12fc3d8 100755 >>>> > --- a/configure >>>> > +++ b/configure >>>> > -@@ -4468,10 +4468,6 @@ fi >>>> > +@@ -5413,10 +5413,6 @@ write_c_skeleton >>>> > if test "$gcov" =3D "yes" ; then >>>> > CFLAGS=3D"-fprofile-arcs -ftest-coverage -g $CFLAGS" >>>> > LDFLAGS=3D"-fprofile-arcs -ftest-coverage $LDFLAGS" >>>> > @@ -12,4 +23,4 @@ Upstream-Status: Pending >>>> > - CFLAGS=3D"-O2 $CFLAGS" >>>> > fi >>>> > >>>> > - ########################################## >>>> > + if test "$have_asan" =3D "yes"; then >>>> > diff --git a/meta/recipes-devtools/qemu/qemu_2.11.1.bb >>>> > b/meta/recipes-devtools/qemu/qemu_2.12.0.bb >>>> > similarity index 87% >>>> > rename from meta/recipes-devtools/qemu/qemu_2.11.1.bb >>>> > rename to meta/recipes-devtools/qemu/qemu_2.12.0.bb >>>> > index f4b7d69fca..63590fc9eb 100644 >>>> > --- a/meta/recipes-devtools/qemu/qemu_2.11.1.bb >>>> > +++ b/meta/recipes-devtools/qemu/qemu_2.12.0.bb >>>> > @@ -20,8 +20,6 @@ SRC_URI =3D >>>> > "http://wiki.qemu-project.org/download/${BP}.tar.bz2 \ >>>> > file://chardev-connect-socket-to-a-spawned-command.patch= \ >>>> > file://apic-fixup-fallthrough-to-PIC.patch \ >>>> > >>>> > file://linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \ >>>> > - file://memfd.patch \ >>>> > - >>>> > file://0001-arm-translate-a64-treat-DISAS_UPDATE-as-variant-of-D.pat= ch \ >>>> > " >>>> > UPSTREAM_CHECK_REGEX =3D "qemu-(?P\d+\..*)\.tar" >>>> > >>>> > @@ -31,8 +29,8 @@ SRC_URI_append_class-native =3D " \ >>>> > file://cpus.c-qemu_cpu_kick_thread_debugging.patch \ >>>> > " >>>> > >>>> > -SRC_URI[md5sum] =3D "61cf862b6007eba4ac98247776af2e27" >>>> > -SRC_URI[sha256sum] =3D >>>> > "d9df2213ceed32e91dab7bc9dd19c1af83f91ba72c7aeef7605dfaaf81732ccb" >>>> > +SRC_URI[md5sum] =3D "122fd7cdf241ff7eb1e42c0b503b5d1b" >>>> > +SRC_URI[sha256sum] =3D >>>> > "c9f4a147bc915d24df9784affc611a115f42d24720a89210b479f1ba7a3f679c" >>>> > >>>> > COMPATIBLE_HOST_mipsarchn32 =3D "null" >>>> > COMPATIBLE_HOST_mipsarchn64 =3D "null" >>>> > -- >>>> > 2.17.0 >>>> > >>>> > -- >>>> > _______________________________________________ >>>> > Openembedded-core mailing list >>>> > Openembedded-core@lists.openembedded.org >>>> > http://lists.openembedded.org/mailman/listinfo/openembedded-core > > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core >