From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1Vtyyo-0000Pz-PO for mharc-grub-devel@gnu.org; Fri, 20 Dec 2013 07:14:58 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57163) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vtyye-0000PS-UU for grub-devel@gnu.org; Fri, 20 Dec 2013 07:14:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VtyyW-0002xi-Fs for grub-devel@gnu.org; Fri, 20 Dec 2013 07:14:48 -0500 Received: from mail-ee0-x22b.google.com ([2a00:1450:4013:c00::22b]:62095) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VtyyW-0002xZ-5g for grub-devel@gnu.org; Fri, 20 Dec 2013 07:14:40 -0500 Received: by mail-ee0-f43.google.com with SMTP id c13so1007816eek.16 for ; Fri, 20 Dec 2013 04:14:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type; bh=jhjx/lFkeATtIzifLDziSBxL7ZqEXNoPhpGgoQQrQIo=; b=S5I+aOBzQJHkCrloQBsDSw8oVJf2nuSdagjRHy9Tbc2/qG3lB+dFGw1WPBvzxErbeC t1acUxT8wL8K2vr3KdHolPrd5w83HIgKTR8K89LtHX2EipegYIcCM/DBK3oBJm7J87rD WWUTm+HW2t1WkKKRvDXfcF8dohzEJure8dbYuzliO2LPKokjYEdHvXNIumvqHCWlgst8 j6mdaLT73FKHPTSHT4TrYZaoVcvUdwy8JS3bJr2BiPleF6EBCvV8P5U+jtzoNJSPZ5b+ aMn+5K0Dxangvv74DIk6g6RZxWu5gbse+Y7hfaJnPVmO5qoYr5fZtgtCF2bgTvanPlHq ieng== X-Received: by 10.15.44.4 with SMTP id y4mr2516266eev.71.1387541679305; Fri, 20 Dec 2013 04:14:39 -0800 (PST) Received: from [192.168.1.16] (85-188.196-178.cust.bluewin.ch. [178.196.188.85]) by mx.google.com with ESMTPSA id z42sm18046728eeo.17.2013.12.20.04.14.37 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 20 Dec 2013 04:14:37 -0800 (PST) Message-ID: <52B434AC.7090905@gmail.com> Date: Fri, 20 Dec 2013 13:14:36 +0100 From: =?UTF-8?B?VmxhZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua28=?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131103 Icedove/17.0.10 MIME-Version: 1.0 To: Stefano Stabellini Subject: Re: [Xen-devel] pvgrub2 is merged References: <527EA084.6000706@gmail.com> <52973FF8.7040502@m2r.biz> <52974D98.3090608@gmail.com> <5297508C.40607@m2r.biz> <52987A43.9070806@m2r.biz> <52987D7F.3050006@gmail.com> <52988F86.6050008@m2r.biz> <529DB2F1.4080509@m2r.biz> <529DB363.7080003@gmail.com> <529DBED9.80105@m2r.biz> <529DC07E.8000201@gmail.com> <529DE3FD.90002@m2r.biz> <529DF9D5.2060301@gmail.com> <529E03FB.90603@m2r.biz> <52A1B0CB.3000705@m2r.biz> <52A1B5E8.5090709@gmail.com> <52A1E2CD.9030002@m2r.biz> <52A1E56E.3070105@gmail.com> <52A1EBAB.5090006@m2r.biz> <52A2F341.9010606@gmail.com> <52A5961A.2010608@m2r.biz> <52B02B13.1000103@m2r.biz> <52B02F84.6070403@gmail.com> <52B04D6E.3070700@m2r.biz> <52B0527C.40104@gmail.com> <52B057BD.8070701@m2r.biz> <52B05AF1.1040508@gmail.com> <52B05B5C.1080901@m2r.biz> <52B06131.8040809@m2r.biz> <52B1B82D.9050501@gmail.com> <52B20392.9090001@gmail.com> In-Reply-To: X-Enigmail-Version: 1.6 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="95FB2vMDX78UkjdfvUlIGjxaCn1qwqkCb" X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4013:c00::22b Cc: The development of GRUB 2 , Fabio Fantoni , xen-devel X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Dec 2013 12:14:57 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --95FB2vMDX78UkjdfvUlIGjxaCn1qwqkCb Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 19.12.2013 12:54, Stefano Stabellini wrote: > On Wed, 18 Dec 2013, Vladimir '=CF=86-coder/phcoder' Serbinenko wrote: >> On 18.12.2013 20:39, Stefano Stabellini wrote: >>> On Wed, 18 Dec 2013, Vladimir '=CF=86-coder/phcoder' Serbinenko wrote= : >>>> On 17.12.2013 15:35, Fabio Fantoni wrote: >>>>> Il 17/12/2013 15:10, Fabio Fantoni ha scritto: >>>>>> Il 17/12/2013 15:08, Vladimir '=CF=86-coder/phcoder' Serbinenko ha= scritto: >>>>>>>> Thanks. >>>>>>>> Now there is another error, probably introduced by xenfb support= : >>>>>>>> >>>>>>> doesn't look like related to xenfb. Is it 64-bit or PAE guest? >>>>>> >>>>>> 64 bit >>>>> >>>>> I did "git reset --hard" to commit "Remove grub_bios_interrupt on >>>>> coreboot." and then I applied only >>>>> "grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.= " >>>>> commit. >>>>> Now the Sid domU boot correctly, therefore the regression is caused= by >>>>> "xenfb" or "xen grants to v1" commit, should I find the exact commi= t >>>>> that causes that problem or these informations are enough for you? >>>> >>>> It's because of vfb. Apparently vfb framebuffer stays mapped as rw e= ven >>>> after vfb shutdown >>>> phcoder@debian:15:52:40:~/grub2$ sudo xenstore-ls >>>> /local/domain/54/device/vfb >>>> 0 =3D "" >>>> backend =3D "/local/domain/0/backend/vfb/54/0" >>>> backend-id =3D "0" >>>> state =3D "1" >>>> phcoder@debian:15:52:51:~/grub2$ sudo xenstore-ls >>>> /local/domain/0/backend/vfb/54/0 >>>> frontend =3D "/local/domain/54/device/vfb/0" >>>> frontend-id =3D "54" >>>> online =3D "1" >>>> state =3D "2" >>>> domain =3D "grub" >>>> vnc =3D "1" >>>> vnclisten =3D "127.0.0.1" >>>> vncdisplay =3D "0" >>>> vncunused =3D "1" >>>> sdl =3D "0" >>>> opengl =3D "0" >>>> feature-resize =3D "1" >>>> hotplug-status =3D "connected" >>>> >>>> When I do "dry vfb": do everything except writing vfb state problem >>>> disappears. So my question would be: >>>> - how can I inspect how backend maps framebuffer pages? >>> >>> There is only one xenfb backend: hw/display/xenfb.c in the QEMU sourc= e >>> tree. >>> >>> >>>> - Why does it map as rw and not ro? It doesn't need to write to fram= ebuffer? >>> >>> Actually it is mapping it RO, see hw/display/xenfb.c:xenfb_map_fb >>> >> ./tools/qemu-xen-dir-remote/hw/xenfb.c: >> xenfb->pixels =3D xc_map_foreign_pages(xen_xc, xenfb->c.xendev.dom= , >> PROT_READ | PROT_WRITE, fbmfns, xenfb->fbpages); >=20 > You are right, my bad. > I did a quick test and it should be safe to modify it to PROT_READ only= =2E >=20 >=20 >>>> - How do I force it to drop the mapping? >>> >>> Theoretically QEMU should drop the mapping at disconnect time: >>> >>> hw/display/xenfb.c:fb_disconnect >>> >>> /* >>> * FIXME: qemu can't un-init gfx display (yet?). >>> * Replacing the framebuffer with anonymous shared memory >>> * instead. This releases the guest pages and keeps qemu happy= =2E >>> */ >>> fb->pixels =3D mmap(fb->pixels, fb->fbpages * XC_PAGE_SIZE, >>> PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON, >>> -1, 0); >>> >> Could this fail? >=20 > Yes and we don't check for the return value (-1 in case of error). Well= spotted! > Do you want to submit a patch to fix both issues or should I do it? >=20 I'm fine with you doing it. --95FB2vMDX78UkjdfvUlIGjxaCn1qwqkCb Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.15 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iF4EAREKAAYFAlK0NKwACgkQmBXlbbo5nOuMLAD+PYwXOm0R+h1laetJelId4G+X 45eEN1PLc0GOW7V/U3YA/1DzhJjoeO/XBnhJReY0qN4jz4ltdbO2yqMN15RtaHGi =1o3N -----END PGP SIGNATURE----- --95FB2vMDX78UkjdfvUlIGjxaCn1qwqkCb--