From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:57484) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jS8El-0000el-O2 for guix-patches@gnu.org; Fri, 24 Apr 2020 20:00:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jS8Ek-0004Zr-VM for guix-patches@gnu.org; Fri, 24 Apr 2020 20:00:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46698) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jS8Ek-0004ZE-Fx for guix-patches@gnu.org; Fri, 24 Apr 2020 20:00:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jS8Ek-0005Vg-9M for guix-patches@gnu.org; Fri, 24 Apr 2020 20:00:02 -0400 Subject: [bug#40835] [PATCH] Update to use panfrost for graphics hardware acceleration Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:57394) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jS8EK-0000dn-9r for guix-patches@gnu.org; Fri, 24 Apr 2020 19:59:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jS8EI-0004Iy-Vv for guix-patches@gnu.org; Fri, 24 Apr 2020 19:59:36 -0400 Received: from mail.inskydata.com ([184.68.229.6]:34372 helo=server.inskydata.com) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jS8EI-0003E4-2n for guix-patches@gnu.org; Fri, 24 Apr 2020 19:59:34 -0400 Received: from [192.168.19.76] (unknown [192.168.19.76]) by server.inskydata.com (Postfix) with ESMTPSA id 632D55D2FE8B for ; Fri, 24 Apr 2020 17:58:43 -0600 (MDT) From: Brian Woodcox Content-Type: multipart/alternative; boundary="Apple-Mail=_117939A4-A5F4-4A8C-8357-C454B29C6639" Mime-Version: 1.0 (Mac OS X Mail 11.3 \(3445.6.18\)) Message-Id: <54EFA16B-27F2-40F4-8FF0-F59BC65BF8AB@inskydata.com> Date: Fri, 24 Apr 2020 17:58:41 -0600 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 40835@debbugs.gnu.org --Apple-Mail=_117939A4-A5F4-4A8C-8357-C454B29C6639 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hello ARM Pinebook Pro Users, These patches add the panfrost graphics acceleration for the Pinebook = Pro laptop. These patches must be applied on top of d4c6e06f369024efc63e11de1a5bacd3fe9f7e8d (wip-pinebook-pro branch) The following instructions assume this patch has been added to the = wip-pinebook-pro branch. So apply the patch if necessary. Many thanks to janneke and for his blog post =E2=80=94> = https://joyofsource.com/guix-system-on-the-pinebook-pro.html = Some notes for successfully creating the image to boot guix on the = Pinebook pro. Most of this is borrowed from janneke. Many thanks. If you are using the Pinebook Pro to build this image, you need to have = guix running on a foreign distro. janneke showed how to use Debian, I used Arch Linux, but you can = probably also use Manjaro. Since I was booting arch linux from an SD card already, I installed the = image on the SD card plugged into an adapter. So with the SD card (256G in my case) inserted into a USB adapter. Prepare SD Card: sudo parted -- /dev/sda mkpart p 0% -1 sudo parted -- /dev/sda set 1 boot on sudo mkfs.ext4 -F /dev/sda1 sudo mount /dev/sda1 /mnt Clone guix: git clone https://git.savannah.gnu.org/git/guix.git = cd guix git checkout wip-pinebook-pro For the next commands, you need to setup your Pinebook Pro to have = enough swap, otherwise webkitgtk will fail to build and it takes about 3 = Hours for that alone. modprobe zram echo lz4 > /sys/block/zram0/comp_algorithm echo 12G > /sys/block/zram0/disksize mkswap --label zram0 /dev/zram0 swapon --priority 100 /dev/zram0 Increase size of tmp file: mount -o remount,size=3D6G,noatime /tmp guix environment guix --ad-hoc git ./bootstrap ./configure --localstatedir=3D/var GUILE=3D$(type -p guile) GUILD=3D$(type= -p guild) make sudo -E ./pre-inst-env guix system init config.scm /mnt --fallback Once the image is created and copied along with uboot to the SD card, = there is one more thing you need to boot. You need to edit the /boot/extlinux/extlinux.conf file on the SD card = and alter the FDTDIR line. I changed mine from FDTDIR = /gnu/store/ls1byzmapi911cylh4s6044x0cmc61c8-linux-libre-pinebook-pro-5.6.0= /lib/dtbs to FDTDIR = /gnu/store/ls1byzmapi911cylh4s6044x0cmc61c8-linux-libre-pinebook-pro-5.6.0= /lib/dtbs/rockchip Shutdown the laptop and insert the freshly minted SD card into the SD = card slot on the Pinebook Pro. You should now have a guix system running and if you setup your using = the sample attached config.scm file, you will have Xorg running on = hardware and xfce4 will run nicely. Some extra notes (not the guix way): Since I don=E2=80=99t have a usb wifi adapter, I cheated (until I get = one) and I commented out the following in the gnu/packages/linux.scm = file as follows: --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -326,8 +326,8 @@ corresponding UPSTREAM-SOURCE (an origin), using the = given DEBLOB-SCRIPTS." (with-directory-excursion dir (setenv "PYTHON" (which "python")) (format #t "Running deblob script...~%") - (force-output) - (invoke "/tmp/bin/deblob")) + (force-output)) +;; (invoke "/tmp/bin/deblob")) (format #t "~%Packing new Linux-libre tarball...~%") (force-output) Also if you do this, you need to create the following folders on the SD = card: /lib/firmware/brcm /lib/firmware/rockchip Inside the brcm folder you need to place all the brcmfmac43456-sdio.* = files Inside the rockchip folder you need to place pptx.bin I will leave it up to the reader to find and install these files, since = this is not the preferred way. Good luck!! Brian C. Woodcox --Apple-Mail=_117939A4-A5F4-4A8C-8357-C454B29C6639 Content-Type: multipart/mixed; boundary="Apple-Mail=_CEF45708-8A2F-4C92-8041-D3733640AD79" --Apple-Mail=_CEF45708-8A2F-4C92-8041-D3733640AD79 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Hello= ARM Pinebook Pro Users,

These patches add the panfrost graphics acceleration for the = Pinebook Pro laptop.

These patches must be applied on top of

d4c6e06f369024efc63e11de1a5bacd3fe9f7e8d (wip-pinebook-pro = branch)

The = following instructions assume this patch has been added to the = wip-pinebook-pro branch.  So apply the patch if = necessary.

Many = thanks to janneke and for his blog post =E2=80=94> https://joyofsource.com/guix-system-on-the-pinebook-pro.html









cd guix
git checkout = wip-pinebook-pro


For the next commands, = you need to setup your Pinebook Pro to have enough swap, otherwise = webkitgtk will fail to build and it takes about 3 Hours for that = alone.

modprobe zram
echo lz4 = > /sys/block/zram0/comp_algorithm
echo 12G > = /sys/block/zram0/disksize
mkswap --label zram0 = /dev/zram0
swapon --priority 100 /dev/zram0

Increase size of tmp file:

mount -o remount,size=3D6G,noatime /tmp

guix environment guix --ad-hoc = git
./bootstrap
./configure = --localstatedir=3D/var GUILE=3D$(type -p guile) GUILD=3D$(type -p = guild)
make

sudo -E ./pre-inst-env guix system init = config.scm /mnt --fallback

Once the image is created and copied along with uboot to the = SD card, there is one more thing you need to boot.

You need to edit the = /boot/extlinux/extlinux.conf file on the SD card and alter the FDTDIR = line.

I = changed mine from

FDTDIR = /gnu/store/ls1byzmapi911cylh4s6044x0cmc61c8-linux-libre-pinebook-pro-5.6.0= /lib/dtbs

to

FDTDIR = /gnu/store/ls1byzmapi911cylh4s6044x0cmc61c8-linux-libre-pinebook-pro-5.6.0= /lib/dtbs/rockchip

Shutdown the laptop and insert the freshly minted SD card = into the SD card slot on the Pinebook Pro.

You should now have a guix system = running and if you setup your using the sample attached config.scm file, = you will have Xorg running on hardware and xfce4 will run = nicely.

Some = extra notes (not the guix way):

Since I don=E2=80=99t have a usb wifi = adapter, I cheated (until I get one) and I commented out the following = in the gnu/packages/linux.scm file as follows:

--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -326,8 +326,8 = @@ corresponding UPSTREAM-SOURCE (an origin), using the given = DEBLOB-SCRIPTS."
            =        (with-directory-excursion dir
                =      (setenv "PYTHON" (which "python"))
                =      (format #t "Running deblob script...~%")
-                 =    (force-output)
-         =            (invoke "/tmp/bin/deblob"))
+                 =    (force-output))
+;;       =              (invoke = "/tmp/bin/deblob"))

      =              (format #t "~%Packing = new Linux-libre tarball...~%")
        =            (force-output)

Also if you do this, you need to create = the following folders on the SD card:

/lib/firmware/brcm
/lib/firmware/rockchip

Inside the brcm folder you need to = place all the brcmfmac43456-sdio.* files

Inside the rockchip folder you need to = place pptx.bin

I= will leave it up to the reader to find and install these files, since = this is not the preferred way.

Good luck!!

Brian C. Woodcox

= --Apple-Mail=_CEF45708-8A2F-4C92-8041-D3733640AD79 Content-Disposition: attachment; filename=0001-Update-to-use-panfrost-for-graphics-hardware-acceler.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-Update-to-use-panfrost-for-graphics-hardware-acceler.patch" Content-Transfer-Encoding: quoted-printable =46rom=204de545a13aa01b167c52f1cff19b2e9b3aa7ec12=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20"Brian=20C.=20Woodcox"=20=0A= Date:=20Fri,=2024=20Apr=202020=2016:35:45=20-0600=0ASubject:=20[PATCH]=20= Update=20to=20use=20panfrost=20for=20graphics=20hardware=20acceleration=0A= =0A---=0A=20gnu/packages/gl.scm=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20|=20=2027=20+--=0A=20= gnu/packages/gnome.scm=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20|=20=2013=20+-=0A=20gnu/packages/linux.scm=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=20=20=204=20= +-=0A=20.../cogl-1.22.6-add-eglmesaext-header.patch=20=20=20|=20=2075=20= +++++++=0A=20.../patches/mesa-skip-disk-cache-test.patch=20=20=20|=20=20=20= 7=20+-=0A=20.../mutter-3.32.2-add-eglmesaext-header.patch=20|=20=2052=20= +++++=0A=20.../webkitgtk-2.28.0-fix-bug-197192.patch=20=20=20=20=20|=20= 203=20++++++++++++++++++=0A=20gnu/packages/qt.scm=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=20=20=202=20+=0A= =20gnu/packages/webkit.scm=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20|=20=20=205=20+-=0A=209=20files=20changed,=20364=20= insertions(+),=2024=20deletions(-)=0A=20create=20mode=20100644=20= gnu/packages/patches/cogl-1.22.6-add-eglmesaext-header.patch=0A=20create=20= mode=20100644=20= gnu/packages/patches/mutter-3.32.2-add-eglmesaext-header.patch=0A=20= create=20mode=20100644=20= gnu/packages/patches/webkitgtk-2.28.0-fix-bug-197192.patch=0A=0Adiff=20= --git=20a/gnu/packages/gl.scm=20b/gnu/packages/gl.scm=0Aindex=20= 01241cd88e..65fe389927=20100644=0A---=20a/gnu/packages/gl.scm=0A+++=20= b/gnu/packages/gl.scm=0A@@=20-12,6=20+12,7=20@@=0A=20;;;=20Copyright=20= =C2=A9=202018,=202019=20Tobias=20Geerinckx-Rice=20=0A=20= ;;;=20Copyright=20=C2=A9=202019=20Pierre=20Neidhardt=20= =0A=20;;;=20Copyright=20=C2=A9=202020=20Marius=20= Bakke=20=0A+;;;=20Copyright=20=C2=A9=202020=20Brian=20= C.=20Woodcox=20=0A=20;;;=0A=20;;;=20This=20file=20is=20= part=20of=20GNU=20Guix.=0A=20;;;=0A@@=20-230,21=20+231,21=20@@=20also=20= known=20as=20DXTn=20or=20DXTC)=20for=20Mesa.")=0A=20=20=20=20=20=20=20=20= =20=20=20=20'(list=20"--disable-glx"=20"--disable-egl"))))))))=0A=20=0A=20= (define-public=20mesa=0A-=20=20(package=0A+=20=20(let=20((commit=20= "69628ababbd79a5865c2c5bd01b4a963eb7800f9")=0A+=20=20=20=20=20=20=20=20= (revision=20"1"))=0A+=20=20=20(package=0A=20=20=20=20=20(name=20"mesa")=0A= -=20=20=20=20(version=20"19.3.4")=0A+=20=20=20=20(version=20= "20.1.0_devel.120669.69628ababbd")=0A=20=20=20=20=20(source=0A-=20=20=20=20= =20=20(origin=0A-=20=20=20=20=20=20=20=20(method=20url-fetch)=0A-=20=20=20= =20=20=20=20=20(uri=20(list=20(string-append=20= "https://mesa.freedesktop.org/archive/"=0A-=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= "mesa-"=20version=20".tar.xz")=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(string-append=20"ftp://ftp.freedesktop.org/pub/mesa/"=0A= -=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20"mesa-"=20version=20".tar.xz")=0A-=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(string-append=20= "ftp://ftp.freedesktop.org/pub/mesa/"=0A-=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= version=20"/mesa-"=20version=20".tar.xz")))=0A+=20=20=20=20=20=20=20= (origin=0A+=20=20=20=20=20=20=20=20=20(method=20git-fetch)=0A+=20=20=20=20= =20=20=20=20=20(uri=20(git-reference=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20(url=20"git://anongit.freedesktop.org/mesa/mesa")=0A+=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20(commit=20commit)))=0A+=20=20=20=20=20= =20=20=20=20(file-name=20(git-file-name=20"mesa-git"=20version))=0A=20=20= =20=20=20=20=20=20=20(sha256=0A=20=20=20=20=20=20=20=20=20=20(base32=0A-=20= =20=20=20=20=20=20=20=20=20= "1r4giqq7q7zqbn23lbw7v5vswagxx8qj6ij2w8bsb697mvk6g90x"))=0A+=20=20=20=20=20= =20=20=20=20=20"1bv39f466k6ig11byw2dmgib62vh9sm2hvi7rqcdplsaynxmbc6l"))=0A= =20=20=20=20=20=20=20=20=20(patches=0A=20=20=20=20=20=20=20=20=20=20= (search-patches=20"mesa-skip-disk-cache-test.patch"))))=0A=20=20=20=20=20= (build-system=20meson-build-system)=0A@@=20-293,7=20+294,7=20@@=20also=20= known=20as=20DXTn=20or=20DXTC)=20for=20Mesa.")=0A=20=20=20=20=20=20=20=20= '(,@(match=20(%current-system)=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20= ((or=20"armhf-linux"=20"aarch64-linux")=0A=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20;;=20TODO:=20Fix=20svga=20driver=20for=20aarch64=20and=20= armhf.=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20= '("-Dgallium-drivers=3Detnaviv,freedreno,nouveau,r300,r600,swrast,tegra,v3= d,vc4,virgl"))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= '("-Dgallium-drivers=3Detnaviv,freedreno,kmsro,lima,nouveau,panfrost,r300,= r600,swrast,tegra,v3d,vc4,virgl"))=0A=20=20=20=20=20=20=20=20=20=20=20=20= =20=20(_=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= '("-Dgallium-drivers=3Diris,nouveau,r300,r600,radeonsi,svga,swrast,virgl")= ))=0A=20=20=20=20=20=20=20=20=20=20;;=20Enable=20various=20optional=20= features.=20=20TODO:=20opencl=20requires=20libclc,=0A@@=20-422,7=20= +423,7=20@@=20also=20known=20as=20DXTn=20or=20DXTC)=20for=20Mesa.")=0A=20= specifications=20-=20systems=20for=20rendering=20interactive=203D=20= graphics.=20=20A=20variety=20of=0A=20device=20drivers=20allows=20Mesa=20= to=20be=20used=20in=20many=20different=20environments=20ranging=0A=20= from=20software=20emulation=20to=20complete=20hardware=20acceleration=20= for=20modern=20GPUs.")=0A-=20=20=20=20(license=20license:x11)))=0A+=20=20= =20=20(license=20license:x11))))=0A=20=0A=20(define-public=20mesa-opencl=0A= =20=20=20(package=0Adiff=20--git=20a/gnu/packages/gnome.scm=20= b/gnu/packages/gnome.scm=0Aindex=20088de7dd4c..44d82b2c75=20100644=0A---=20= a/gnu/packages/gnome.scm=0A+++=20b/gnu/packages/gnome.scm=0A@@=20-50,6=20= +50,7=20@@=0A=20;;;=20Copyright=20=C2=A9=202020=20raingloom=20= =0A=20;;;=20Copyright=20=C2=A9=202020=20Nicolas=20= Goaziou=20=0A=20;;;=20Copyright=20=C2=A9=202020=20= Naga=20Malleswari=20=0A+;;;=20Copyright=20=C2=A9=20= 2020=20Brian=20C.=20Woodcox=20=0A=20;;;=0A=20;;;=20= This=20file=20is=20part=20of=20GNU=20Guix.=0A=20;;;=0A@@=20-4425,15=20= +4426,17=20@@=20throughout=20GNOME=20for=20API=20documentation).")=0A=20= (define-public=20cogl=0A=20=20=20(package=0A=20=20=20=20=20(name=20= "cogl")=0A-=20=20=20=20(version=20"1.22.4")=0A+=20=20=20=20(version=20= "1.22.6")=0A=20=20=20=20=20(source=0A=20=20=20=20=20=20(origin=0A=20=20=20= =20=20=20=20=20(method=20url-fetch)=0A=20=20=20=20=20=20=20=20(uri=20= (string-append=20"mirror://gnome/sources/cogl/"=0A=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (version-major+minor=20version)=20"/"=0A=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20"cogl-"=20version=20= ".tar.xz"))=0A+=20=20=20=20=20=20=20(patches=0A+=20=20=20=20=20=20=20=20=20= (search-patches=20"cogl-1.22.6-add-eglmesaext-header.patch"))=0A=20=20=20= =20=20=20=20=20(sha256=0A-=20=20=20=20=20=20=20=20(base32=20= "1q0drs82a8f6glg1v29bb6g2nf15fw0rvdx3d0rgcgfarfaby5sj"))))=0A+=20=20=20=20= =20=20=20=20(base32=20= "0x8v4n61q89qy27v824bqswpz6bmn801403w2q3pa1lcwk9ln4vd"))))=0A=20=20=20=20= =20;;=20NOTE:=20mutter=20exports=20a=20bundled=20fork=20of=20cogl,=20so=20= when=20making=20changes=20to=0A=20=20=20=20=20;;=20cogl,=20corresponding=20= changes=20may=20be=20appropriate=20in=20mutter=20as=20well.=0A=20=20=20=20= =20(build-system=20gnu-build-system)=0A@@=20-4462,7=20+4465,7=20@@=20= throughout=20GNOME=20for=20API=20documentation).")=0A=20=20=20=20=20=20= `(#:configure-flags=20(list=20"--enable-cogl-gst"=0A=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= "--enable-wayland-egl-platform"=0A=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= "--enable-wayland-egl-server"=0A-=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= "--enable-gles2"=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20;;=20Arrange=20to=20pass=20an=20= absolute=20file=20name=20to=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20;;=20dlopen=20for=20= libGL.so.=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20(string-append=20"--with-gl-libname=3D"=0A= @@=20-5872,6=20+5875,9=20@@=20configuration=20program=20to=20choose=20= applications=20starting=20on=20login.")=0A=20=20=20=20=20=20=20=20=20=20=20= =20=20(substitute*=20"installed-tests/js/testLocale.js"=0A=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20((".*toBeDefined.*")=20"")=0A=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20((".*expect\\(datestr\\).*")=20""))=0A+=20=20= =20=20=20=20=20=20=20=20=20=20(substitute*=20= "installed-tests/scripts/testCommandLine.sh"=0A+=20=20=20=20=20=20=20=20=20= =20=20=20=20=20(("gjs=20-c=20'imports.system.exit(0)'=20&&=20!=20stat=20= gjs-*.syscap")=20"")=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20(("gjs=20= --profile=20-c=20'imports.system.exit(0)'=20&&=20!=20stat=20= gjs-*.syscap")=20""))=0A=20=20=20=20=20=20=20=20=20=20=20=20=20= (substitute*=20"installed-tests/scripts/testCommandLine.sh"=0A=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20(("Valent=C3=ADn")=20"")=0A=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(("=E2=98=AD")=20""))=0A@@=20-6029,6=20= +6035,7=20@@=20to=20display=20dialog=20boxes=20from=20the=20commandline=20= and=20shell=20scripts.")=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (uri=20(string-append=20"mirror://gnome/sources/"=20name=20"/"=0A=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20(version-major+minor=20version)=20"/"=0A=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20name=20"-"=20version=20".tar.xz"))=0A+=20=20=20=20=20=20= =20=20=20=20=20=20=20=20(patches=20(search-patches=20= "mutter-3.32.2-add-eglmesaext-header.patch"))=0A=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(sha256=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20(base32=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= "1h577i2ap7dpfy1jg101jvc6nzccc0csgvd55ahydlr8f94frcva"))))=0Adiff=20= --git=20a/gnu/packages/linux.scm=20b/gnu/packages/linux.scm=0Aindex=20= dd088ea24f..d4a36533ab=20100644=0A---=20a/gnu/packages/linux.scm=0A+++=20= b/gnu/packages/linux.scm=0A@@=20-43,6=20+43,7=20@@=0A=20;;;=20Copyright=20= =C2=A9=202020=20Pierre=20Neidhardt=20=0A=20;;;=20= Copyright=20=C2=A9=202020=20Chris=20Marusich=20=0A=20= ;;;=20Copyright=20=C2=A9=202020=20Vincent=20Legoll=20= =0A+;;;=20Copyright=20=C2=A9=202020=20Brian=20= C.=20Woodcox=20=0A=20;;;=0A=20;;;=20This=20file=20is=20= part=20of=20GNU=20Guix.=0A=20;;;=0A@@=20-326,7=20+327,7=20@@=20= corresponding=20UPSTREAM-SOURCE=20(an=20origin),=20using=20the=20given=20= DEBLOB-SCRIPTS."=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20(with-directory-excursion=20dir=0A=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20(setenv=20"PYTHON"=20(which=20"python"))=0A=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(format=20#t=20= "Running=20deblob=20script...~%")=0A-=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20(force-output)=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20(force-output))=0A=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20(invoke=20"/tmp/bin/deblob"))=0A=20=0A=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(format=20#t=20= "~%Packing=20new=20Linux-libre=20tarball...~%")=0A@@=20-604,6=20+605,7=20= @@=20for=20ARCH=20and=20optionally=20VARIANT,=20or=20#f=20if=20there=20= is=20no=20such=20configuration."=0A=20=20=20=20=20= ("CONFIG_SECURITY_DMESG_RESTRICT"=20.=20#t)=0A=20=20=20=20=20;;=20All=20= kernels=20should=20have=20NAMESPACES=20options=20enabled=0A=20=20=20=20=20= ("CONFIG_NAMESPACES"=20.=20#t)=0A+=20=20=20=20("CONFIG_DRM_PANFROST"=20.=20= #t)=0A=20=20=20=20=20("CONFIG_UTS_NS"=20.=20#t)=0A=20=20=20=20=20= ("CONFIG_IPC_NS"=20.=20#t)=0A=20=20=20=20=20("CONFIG_USER_NS"=20.=20#t)=0A= diff=20--git=20= a/gnu/packages/patches/cogl-1.22.6-add-eglmesaext-header.patch=20= b/gnu/packages/patches/cogl-1.22.6-add-eglmesaext-header.patch=0Anew=20= file=20mode=20100644=0Aindex=200000000000..71117dd261=0A---=20/dev/null=0A= +++=20b/gnu/packages/patches/cogl-1.22.6-add-eglmesaext-header.patch=0A= @@=20-0,0=20+1,75=20@@=0A+Add=20references=20to=20eglmesaext.h=20for=20= build=20to=20succeed.=0A+This=20patch=20should=20not=20be=20necessary=20= in=20the=20future=20as=20these=0A+have=20been=20added=20to=20eglext.h.=0A= +See=20= https://github.com/KhronosGroup/EGL-Registry/commit/1343ecc9f55d3e8ded6a42= d7ccfd33391a1dd35f=0A+=0A+From:=20Brian=20Woodcox=20=0A= +Date:=20March=2018,=202020=0A+=0A+---=20a/configure=0A++++=20= b/configure=0A+@@=20-24156,8=20+24156,9=20@@=0A+=20=20=20cat=20= >>confdefs.h=20<<_ACEOF=0A+=20#define=20HAVE_EGL_EGLEXT_H=201=0A+=20= _ACEOF=0A+-=20COGL_EGL_INCLUDES=3D"$COGL_EGL_INCLUDE=0A+-#include=20= "=0A++=20COGL_EGL_INCLUDES=3D"$COGL_EGL_INCLUDES=0A= ++#include=20=0A++#include=20"=0A+=20fi=0A= +=20=0A+=20done=0A+@@=20-25565,8=20+25566,8=20@@=0A+=20fi=0A+=20=0A+=20=20= =20=20=20=20=20=20=20COGL_EGL_INCLUDES=3D"#include=20=0A= +-#include=20"=0A+-=0A++#include=20=0A= ++#include=20"=0A+=20=0A+=20fi=0A+=20=0A+---=20= a/configure.ac=0A++++=20b/configure.ac=0A+@@=20-685,10=20+685,15=20@@=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20AC_SUBST([COGL_EGL_INCLUDES])=0A= +=20=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= AC_CHECK_HEADERS([EGL/eglext.h],=0A+-=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= [COGL_EGL_INCLUDES=3D"$COGL_EGL_INCLUDE=0A++=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= [COGL_EGL_INCLUDES=3D"$COGL_EGL_INCLUDES=0A+=20#include=20= "],=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20[],=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= [$COGL_EGL_INCLUDES])=0A++=20=20=20=20=20=20=20=20=20=20=20=20= AC_CHECK_HEADERS([EGL/eglmesaext.h],=0A++=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= [COGL_EGL_INCLUDES=3D"$COGL_EGL_INCLUDES=0A++#include=20= "],=0A++=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20[],=0A++=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= [$COGL_EGL_INCLUDES])=0A+=20=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20#=20= Check=20for=20a=20GLES=201.x=20Common=20Profile=20library=20with/without=20= EGL.=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20#=0A+@@=20-1216,6=20= +1221,13=20@@=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20[],=0A+=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20[AC_MSG_ERROR([Unable=20to=20= locate=20required=20EGL=20headers])],=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20[#include=20])=0A++=20=20=20=20=20=20=20=20=20=20=20= =20AC_CHECK_HEADERS(=0A++=20=20=20=20=20=20=20=20=20=20=20=20=20=20= [EGL/eglmesaext.h],=0A++=20=20=20=20=20=20=20=20=20=20=20=20=20=20[],=0A= ++=20=20=20=20=20=20=20=20=20=20=20=20=20=20[AC_MSG_ERROR([Unable=20to=20= locate=20required=20EGL=20headers])],=0A++=20=20=20=20=20=20=20=20=20=20=20= =20=20=20[#include=20=0A++#include=20=0A= ++#include=20])=0A+=20=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20AC_CHECK_LIB(EGL,=20[eglInitialize],=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20[COGL_EXTRA_LDFLAGS=3D"$COGL_EXTRA_LDFLAGS=20= -lEGL"],=0A+@@=20-1226,7=20+1238,8=20@@=0A+=20=20=20=20=20=20=20=20=20=20= =20)=0A+=20=0A+=20=20=20=20=20=20=20=20=20COGL_EGL_INCLUDES=3D"#include=20= =0A+-#include=20"=0A++#include=20=0A= ++#include=20"=0A+=20=20=20=20=20=20=20=20=20= AC_SUBST([COGL_EGL_INCLUDES])=0A+=20=20=20=20=20=20=20])=0Adiff=20--git=20= a/gnu/packages/patches/mesa-skip-disk-cache-test.patch=20= b/gnu/packages/patches/mesa-skip-disk-cache-test.patch=0Aindex=20= 190f6b6ee1..585bf4f648=20100644=0A---=20= a/gnu/packages/patches/mesa-skip-disk-cache-test.patch=0A+++=20= b/gnu/packages/patches/mesa-skip-disk-cache-test.patch=0A@@=20-1,11=20= +1,6=20@@=0A-disk_cache_create()=20here=20looks=20up=20the=20users=20= home=20directory=20from=20=0A-which=20resolves=20to=20"/"=20in=20= the=20build=20environment.=20I=20could=20not=20find=20an=20easy=0A-way=20= to=20set=20the=20home=20directory=20to=20something=20else,=20so=20we=20= disable=20this=20test=0A-for=20now.=0A-=0A=20---=20= a/src/compiler/glsl/tests/cache_test.c=0A=20+++=20= b/src/compiler/glsl/tests/cache_test.c=0A-@@=20-170,11=20+170,6=20@@=0A= +@@=20-219,11=20+219,6=20@@=0A=20=20=20=20=20= unsetenv("MESA_GLSL_CACHE_DIR");=0A=20=20=20=20=20= unsetenv("XDG_CACHE_HOME");=0A=20=20=0Adiff=20--git=20= a/gnu/packages/patches/mutter-3.32.2-add-eglmesaext-header.patch=20= b/gnu/packages/patches/mutter-3.32.2-add-eglmesaext-header.patch=0Anew=20= file=20mode=20100644=0Aindex=200000000000..1d80c4e842=0A---=20/dev/null=0A= +++=20b/gnu/packages/patches/mutter-3.32.2-add-eglmesaext-header.patch=0A= @@=20-0,0=20+1,52=20@@=0A+Add=20references=20to=20eglmesaext.h=20for=20= build=20to=20succeed.=0A+This=20patch=20should=20not=20be=20necessary=20= in=20the=20future=20as=20these=0A+have=20been=20added=20to=20eglext.h.=20= =20=20=0A+See=20= https://github.com/KhronosGroup/EGL-Registry/commit/1343ecc9f55d3e8ded6a42= d7ccfd33391a1dd35f=0A+=0A+From:=20Brian=20Woodcox=20=0A= +Date:=20March=2018,=202020=0A+=0A+---=20a/cogl/cogl/meson.build=0A++++=20= b/cogl/cogl/meson.build=0A+@@=20-48,7=20+48,7=20@@=0A+=20built_headers=20= +=3D=20[cogl_gl_header_h]=0A+=20=0A+=20if=20have_egl=0A+-=20=20= cogl_egl_includes_string=20=3D=20'#include=20\n#include=20= '=0A++=20=20cogl_egl_includes_string=20=3D=20'#include=20= \n#include=20\n#include=20'=0A= +=20else=0A+=20=20=20cogl_egl_includes_string=20=3D=20''=0A+=20endif=0A+=0A= +---=20a/src/backends/meta-egl-ext.h=0A++++=20= b/src/backends/meta-egl-ext.h=0A+@@=20-29,6=20+29,7=20@@=0A+=20=0A+=20= #include=20=0A+=20#include=20=0A++#include=20= =0A+=20=0A+=20/*=0A+=20=20*=20This=20is=20a=20little=20= different=20to=20the=20tests=20shipped=20with=20EGL=20implementations,=0A= +=0A+---=20a/src/backends/meta-egl.c=0A++++=20b/src/backends/meta-egl.c=0A= +@@=20-26,6=20+26,7=20@@=0A+=20=0A+=20#include=20=0A+=20= #include=20=0A++#include=20=0A+=20= #include=20=0A+=20#include=20=0A+=20#include=20= =0A+=0A+---=20a/src/backends/meta-egl.h=0A++++=20= b/src/backends/meta-egl.h=0A+@@=20-27,6=20+27,7=20@@=0A+=20=0A+=20= #include=20=0A+=20#include=20=0A++#include=20= =0A+=20#include=20=0A+=20=0A+=20#define=20= META_EGL_ERROR=20meta_egl_error_quark=20()=0Adiff=20--git=20= a/gnu/packages/patches/webkitgtk-2.28.0-fix-bug-197192.patch=20= b/gnu/packages/patches/webkitgtk-2.28.0-fix-bug-197192.patch=0Anew=20= file=20mode=20100644=0Aindex=200000000000..251b2f271c=0A---=20/dev/null=0A= +++=20b/gnu/packages/patches/webkitgtk-2.28.0-fix-bug-197192.patch=0A@@=20= -0,0=20+1,203=20@@=0A+There=20was=20a=20bug=20in=20older=20Cortex-A53,=20= however=20in=20newer=20versions=20of=20Cortex-A53,=0A+webkit=20fails=20= to=20build.=20=20The=20code=20is=20removed=20for=20newer=20versions=20of=20= Cortex-A53.=20=20=20=0A+See=20= https://bugs.webkit.org/show_bug.cgi?id=3D197192=0A+=0A+From:=20Brian=20= Woodcox=20=0A+Date:=20March=2018,=202020=0A+=0A+---=20= a/Source/JavaScriptCore/assembler/ARM64Assembler.h=0A++++=20= a/Source/JavaScriptCore/assembler/ARM64Assembler.h=0A+@@=20-740,7=20= +740,6=20@@=0A+=20=20=20=20=20{=0A+=20=20=20=20=20=20=20=20=20= ASSERT(!(offset=20&=200xfff));=0A+=20=20=20=20=20=20=20=20=20= insn(pcRelative(true,=20offset=20>>=2012,=20rd));=0A+-=20=20=20=20=20=20=20= =20nopCortexA53Fix843419();=0A+=20=20=20=20=20}=0A+=20=0A+=20=20=20=20=20= template=0A= +@@=20-1390,7=20+1389,6=20@@=0A+=20=20=20=20=20ALWAYS_INLINE=20void=20= madd(RegisterID=20rd,=20RegisterID=20rn,=20RegisterID=20rm,=20RegisterID=20= ra)=0A+=20=20=20=20=20{=0A+=20=20=20=20=20=20=20=20=20CHECK_DATASIZE();=0A= +-=20=20=20=20=20=20=20=20nopCortexA53Fix835769();=0A+=20=20=20= =20=20=20=20=20=20insn(dataProcessing3Source(DATASIZE,=20DataOp_MADD,=20= rm,=20ra,=20rn,=20rd));=0A+=20=20=20=20=20}=0A+=20=0A+@@=20-1443,7=20= +1441,6=20@@=0A+=20=20=20=20=20ALWAYS_INLINE=20void=20msub(RegisterID=20= rd,=20RegisterID=20rn,=20RegisterID=20rm,=20RegisterID=20ra)=0A+=20=20=20= =20=20{=0A+=20=20=20=20=20=20=20=20=20CHECK_DATASIZE();=0A+-=20=20=20=20=20= =20=20=20nopCortexA53Fix835769();=0A+=20=20=20=20=20=20=20=20=20= insn(dataProcessing3Source(DATASIZE,=20DataOp_MSUB,=20rm,=20ra,=20rn,=20= rd));=0A+=20=20=20=20=20}=0A+=20=0A+@@=20-1691,7=20+1688,6=20@@=0A+=20=0A= +=20=20=20=20=20ALWAYS_INLINE=20void=20smaddl(RegisterID=20rd,=20= RegisterID=20rn,=20RegisterID=20rm,=20RegisterID=20ra)=0A+=20=20=20=20=20= {=0A+-=20=20=20=20=20=20=20=20nopCortexA53Fix835769<64>();=0A+=20=20=20=20= =20=20=20=20=20insn(dataProcessing3Source(Datasize_64,=20DataOp_SMADDL,=20= rm,=20ra,=20rn,=20rd));=0A+=20=20=20=20=20}=0A+=20=0A+@@=20-1702,7=20= +1698,6=20@@=0A+=20=0A+=20=20=20=20=20ALWAYS_INLINE=20void=20= smsubl(RegisterID=20rd,=20RegisterID=20rn,=20RegisterID=20rm,=20= RegisterID=20ra)=0A+=20=20=20=20=20{=0A+-=20=20=20=20=20=20=20=20= nopCortexA53Fix835769<64>();=0A+=20=20=20=20=20=20=20=20=20= insn(dataProcessing3Source(Datasize_64,=20DataOp_SMSUBL,=20rm,=20ra,=20= rn,=20rd));=0A+=20=20=20=20=20}=0A+=20=0A+@@=20-1960,7=20+1955,6=20@@=0A= +=20=0A+=20=20=20=20=20ALWAYS_INLINE=20void=20umaddl(RegisterID=20rd,=20= RegisterID=20rn,=20RegisterID=20rm,=20RegisterID=20ra)=0A+=20=20=20=20=20= {=0A+-=20=20=20=20=20=20=20=20nopCortexA53Fix835769<64>();=0A+=20=20=20=20= =20=20=20=20=20insn(dataProcessing3Source(Datasize_64,=20DataOp_UMADDL,=20= rm,=20ra,=20rn,=20rd));=0A+=20=20=20=20=20}=0A+=20=0A+@@=20-1971,7=20= +1965,6=20@@=0A+=20=0A+=20=20=20=20=20ALWAYS_INLINE=20void=20= umsubl(RegisterID=20rd,=20RegisterID=20rn,=20RegisterID=20rm,=20= RegisterID=20ra)=0A+=20=20=20=20=20{=0A+-=20=20=20=20=20=20=20=20= nopCortexA53Fix835769<64>();=0A+=20=20=20=20=20=20=20=20=20= insn(dataProcessing3Source(Datasize_64,=20DataOp_UMSUBL,=20rm,=20ra,=20= rn,=20rd));=0A+=20=20=20=20=20}=0A+=20=0A+@@=20-3691,37=20+3684,6=20@@=0A= +=20=20=20=20=20=20=20=20=20return=200x1e7e0000=20|=20(dn=20<<=205)=20|=20= rd;=0A+=20=20=20=20=20}=0A+=20=0A+-=20=20=20=20//=20Workaround=20for=20= Cortex-A53=20erratum=20(835769).=20Emit=20an=20extra=20nop=20if=20the=0A= +-=20=20=20=20//=20last=20instruction=20in=20the=20buffer=20is=20a=20= load,=20store=20or=20prefetch.=20Needed=0A+-=20=20=20=20//=20before=20= 64-bit=20multiply-accumulate=20instructions.=0A+-=20=20=20=20= template=0A+-=20=20=20=20ALWAYS_INLINE=20void=20= nopCortexA53Fix835769()=0A+-=20=20=20=20{=0A+-#if=20CPU(ARM64_CORTEXA53)=0A= +-=20=20=20=20=20=20=20=20CHECK_DATASIZE();=0A+-=20=20=20=20=20=20=20=20= if=20(datasize=20=3D=3D=2064)=20{=0A+-=20=20=20=20=20=20=20=20=20=20=20=20= if=20(LIKELY(m_buffer.codeSize()=20>=3D=20sizeof(int32_t)))=20{=0A+-=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20//=20=46rom=20ARMv8=20= Reference=20Manual,=20Section=20C4.1:=20the=20encoding=20of=20the=0A+-=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20//=20instructions=20in=20= the=20Loads=20and=20stores=20instruction=20group=20is:=0A+-=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20//=20----=201-0-=20----=20----=20----=20= ----=20----=20----=0A+-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= if=20= (UNLIKELY((*reinterpret_cast_ptr(reinterpret_cast_ptr(m_b= uffer.data())=20+=20m_buffer.codeSize()=20-=20sizeof(int32_t))=20&=20= 0x0a000000)=20=3D=3D=200x08000000))=0A+-=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20nop();=0A+-=20=20=20=20=20=20=20=20=20=20=20=20= }=0A+-=20=20=20=20=20=20=20=20}=0A+-#endif=0A+-=20=20=20=20}=0A+-=0A+-=20= =20=20=20//=20Workaround=20for=20Cortex-A53=20erratum=20(843419).=20Emit=20= extra=20nops=20to=20avoid=0A+-=20=20=20=20//=20wrong=20address=20access=20= after=20ADRP=20instruction.=0A+-=20=20=20=20ALWAYS_INLINE=20void=20= nopCortexA53Fix843419()=0A+-=20=20=20=20{=0A+-#if=20CPU(ARM64_CORTEXA53)=0A= +-=20=20=20=20=20=20=20=20nop();=0A+-=20=20=20=20=20=20=20=20nop();=0A+-=20= =20=20=20=20=20=20=20nop();=0A+-#endif=0A+-=20=20=20=20}=0A+-=0A+=20=20=20= =20=20Vector=20m_jumpsToLink;=0A= +=20=20=20=20=20int=20m_indexOfLastWatchpoint;=0A+=20=20=20=20=20int=20= m_indexOfTailOfLastWatchpoint;=0A+---=20= a/Source/JavaScriptCore/offlineasm/arm64.rb=0A++++=20= a/Source/JavaScriptCore/offlineasm/arm64.rb=0A+@@=20-351,33=20+351,6=20= @@=0A+=20=20=20=20=20newList=0A+=20end=0A+=20=0A+-#=20Workaround=20for=20= Cortex-A53=20erratum=20(835769)=0A+-def=20arm64CortexA53Fix835769(list)=0A= +-=20=20=20=20newList=20=3D=20[]=0A+-=20=20=20=20lastOpcodeUnsafe=20=3D=20= false=0A+-=0A+-=20=20=20=20list.each=20{=0A+-=20=20=20=20=20=20=20=20|=20= node=20|=0A+-=20=20=20=20=20=20=20=20if=20node.is_a?=20Instruction=0A+-=20= =20=20=20=20=20=20=20=20=20=20=20case=20node.opcode=0A+-=20=20=20=20=20=20= =20=20=20=20=20=20when=20/^store/,=20/^load/=0A+-=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20#=20List=20all=20macro=20instructions=20that=20= can=20be=20lowered=20to=20a=20load,=20store=20or=20prefetch=20ARM64=20= assembly=20instruction=0A+-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= lastOpcodeUnsafe=20=3D=20true=0A+-=20=20=20=20=20=20=20=20=20=20=20=20= when=20=20"muli",=20"mulp",=20"mulq",=20"smulli"=0A+-=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20#=20List=20all=20macro=20instructions=20that=20= can=20be=20lowered=20to=20a=2064-bit=20multiply-accumulate=20ARM64=20= assembly=20instruction=0A+-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= #=20(defined=20as=20one=20of=20MADD,=20MSUB,=20SMADDL,=20SMSUBL,=20= UMADDL=20or=20UMSUBL).=0A+-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= if=20lastOpcodeUnsafe=0A+-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20newList=20<<=20Instruction.new(node.codeOrigin,=20= "nopCortexA53Fix835769",=20[])=0A+-=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20end=0A+-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= lastOpcodeUnsafe=20=3D=20false=0A+-=20=20=20=20=20=20=20=20=20=20=20=20= else=0A+-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= lastOpcodeUnsafe=20=3D=20false=0A+-=20=20=20=20=20=20=20=20=20=20=20=20= end=0A+-=20=20=20=20=20=20=20=20end=0A+-=20=20=20=20=20=20=20=20newList=20= <<=20node=0A+-=20=20=20=20}=0A+-=20=20=20=20newList=0A+-end=0A+=20=0A+=20= class=20Sequence=0A+=20=20=20=20=20def=20getModifiedListARM64(result=20=3D= =20@list)=0A+@@=20-470,7=20+443,6=20@@=0A+=20=20=20=20=20=20=20=20=20= result=20=3D=20arm64FixSpecialRegisterArithmeticMode(result)=0A+=20=20=20= =20=20=20=20=20=20result=20=3D=20assignRegistersToTemporaries(result,=20= :gpr,=20ARM64_EXTRA_GPRS)=0A+=20=20=20=20=20=20=20=20=20result=20=3D=20= assignRegistersToTemporaries(result,=20:fpr,=20ARM64_EXTRA_FPRS)=0A+-=20=20= =20=20=20=20=20=20result=20=3D=20arm64CortexA53Fix835769(result)=0A+=20=20= =20=20=20=20=20=20=20return=20result=0A+=20=20=20=20=20end=0A+=20end=0A= +@@=20-1115,10=20+1087,6=20@@=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= $asm.puts=20"bfi=20#{operands[3].arm64Operand(:quad)},=20= #{operands[0].arm64Operand(:quad)},=20#{operands[1].value},=20= #{operands[2].value}"=0A+=20=20=20=20=20=20=20=20=20when=20"pcrtoaddr"=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20$asm.puts=20"adr=20= #{operands[1].arm64Operand(:quad)},=20#{operands[0].value}"=0A+-=20=20=20= =20=20=20=20=20when=20"nopCortexA53Fix835769"=0A+-=20=20=20=20=20=20=20=20= =20=20=20=20$asm.putStr("#if=20CPU(ARM64_CORTEXA53)")=0A+-=20=20=20=20=20= =20=20=20=20=20=20=20$asm.puts=20"nop"=0A+-=20=20=20=20=20=20=20=20=20=20= =20=20$asm.putStr("#endif")=0A+=20=20=20=20=20=20=20=20=20when=20= "globaladdr"=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20uid=20=3D=20= $asm.newUID=0A+=20=0A+---=20= a/Source/JavaScriptCore/offlineasm/instructions.rb=0A++++=20= a/Source/JavaScriptCore/offlineasm/instructions.rb=0A+@@=20-354,7=20= +354,6=20@@=0A+=20=20=20=20=20[=0A+=20=20=20=20=20=20"bfiq",=20#=20Bit=20= field=20insert=20=20=20=20=0A+=20=20=20=20=20=20"pcrtoaddr",=20=20=20#=20= Address=20from=20PC=20relative=20offset=20-=20adr=20instruction=0A+-=20=20= =20=20=20"nopFixCortexA53Err835769",=20#=20nop=20on=20Cortex-A53=20= (nothing=20otherwise)=0A+=20=20=20=20=20=20"globaladdr",=0A+=20=20=20=20=20= =20"divi",=0A+=20=20=20=20=20=20"divis",=0A+---=20= a/Source/cmake/OptionsCommon.cmake=0A++++=20= a/Source/cmake/OptionsCommon.cmake=0A+@@=20-19,32=20+19,6=20@@=0A+=20= set_property(GLOBAL=20PROPERTY=20USE_FOLDERS=20ON)=0A+=20= define_property(TARGET=20PROPERTY=20FOLDER=20INHERITED=20BRIEF_DOCS=20= "folder"=20FULL_DOCS=20"IDE=20folder=20name")=0A+=20=0A+-#=20Detect=20= Cortex-A53=20core=20if=20CPU=20is=20ARM64=20and=20OS=20is=20Linux.=0A+-#=20= Query=20/proc/cpuinfo=20for=20each=20available=20core=20and=20check=20= reported=20CPU=20part=20number:=200xd03=20signals=20Cortex-A53.=0A+-#=20= (see=20Main=20ID=20Register=20in=20ARM=20Cortex-A53=20MPCore=20Processor=20= Technical=20Reference=20Manual)=0A= +-set(WTF_CPU_ARM64_CORTEXA53_INITIALVALUE=20OFF)=0A+-if=20= (WTF_CPU_ARM64=20AND=20(${CMAKE_SYSTEM_NAME}=20STREQUAL=20"Linux"))=0A+-=20= =20=20=20execute_process(COMMAND=20nproc=20OUTPUT_VARIABLE=20PROC_COUNT)=0A= +-=20=20=20=20math(EXPR=20PROC_MAX=20${PROC_COUNT}-1)=0A+-=20=20=20=20= foreach=20(PROC_ID=20RANGE=20${PROC_MAX})=0A+-=20=20=20=20=20=20=20=20= execute_process(COMMAND=20taskset=20-c=20${PROC_ID}=20grep=20"^CPU=20= part"=20/proc/cpuinfo=20OUTPUT_VARIABLE=20PROC_PART)=0A+-=20=20=20=20=20=20= =20=20if=20(PROC_PART=20MATCHES=20"0xd03")=0A+-=20=20=20=20=20=20=20=20=20= =20=20=20set(WTF_CPU_ARM64_CORTEXA53_INITIALVALUE=20ON)=0A+-=20=20=20=20=20= =20=20=20=20=20=20=20break=20()=0A+-=20=20=20=20=20=20=20=20endif=20()=0A= +-=20=20=20=20endforeach=20()=0A+-endif=20()=0A= +-option(WTF_CPU_ARM64_CORTEXA53=20"Enable=20Cortex-A53-specific=20code=20= paths"=20${WTF_CPU_ARM64_CORTEXA53_INITIALVALUE})=0A+-=0A+-if=20= (WTF_CPU_ARM64_CORTEXA53)=0A+-=20=20=20=20if=20(NOT=20WTF_CPU_ARM64)=0A= +-=20=20=20=20=20=20=20=20message(FATAL_ERROR=20"WTF_CPU_ARM64_CORTEXA53=20= set=20without=20WTF_CPU_ARM64")=0A+-=20=20=20=20endif=20()=0A+-=20=20=20=20= WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-mfix-cortex-a53-835769)=0A+-endif=20= ()=0A+-=0A+-EXPOSE_VARIABLE_TO_BUILD(WTF_CPU_ARM64_CORTEXA53)=0A+-=0A+=20= set(ARM_TRADITIONAL_DETECTED=20FALSE)=0A+=20if=20(WTF_CPU_ARM)=0A+=20=20=20= =20=20set(ARM_THUMB2_TEST_SOURCE=0Adiff=20--git=20a/gnu/packages/qt.scm=20= b/gnu/packages/qt.scm=0Aindex=208696dc4bb6..a1e7684964=20100644=0A---=20= a/gnu/packages/qt.scm=0A+++=20b/gnu/packages/qt.scm=0A@@=20-15,6=20+15,7=20= @@=0A=20;;;=20Copyright=20=C2=A9=202018=20John=20Soo=20=0A= =20;;;=20Copyright=20=C2=A9=202020=20Mike=20Rosset=20= =0A=20;;;=20Copyright=20=C2=A9=202020=20Jakub=20= K=C4=85dzio=C5=82ka=20=0A+;;;=20Copyright=20=C2=A9=20= 2020=20Brian=20C.=20Woodcox=20=0A=20;;;=0A=20;;;=20= This=20file=20is=20part=20of=20GNU=20Guix.=0A=20;;;=0A@@=20-485,6=20= +486,7=20@@=20developers=20using=20C++=20or=20QML,=20a=20CSS=20&=20= JavaScript=20like=20language.")=0A=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20"-no-compile-examples"=0A=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20;;=20Most=20"-system-..."=20are=20automatic,=20but=20= some=20use=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20;;=20= the=20bundled=20copy=20by=20default.=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20"-opengl"=20"es2"=0A=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20"-system-sqlite"=0A=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20"-system-harfbuzz"=0A=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20"-system-pcre"=0Adiff=20--git=20= a/gnu/packages/webkit.scm=20b/gnu/packages/webkit.scm=0Aindex=20= 2c8697223c..8e9d5d7d05=20100644=0A---=20a/gnu/packages/webkit.scm=0A+++=20= b/gnu/packages/webkit.scm=0A@@=20-6,6=20+6,7=20@@=0A=20;;;=20Copyright=20= =C2=A9=202018,=202019=20Tobias=20Geerinckx-Rice=20=0A=20= ;;;=20Copyright=20=C2=A9=202018=20Pierre=20Neidhardt=20= =0A=20;;;=20Copyright=20=C2=A9=202019=20Marius=20= Bakke=20=0A+;;;=20Copyright=20=C2=A9=202020=20Brian=20= C.=20Woodcox=20=0A=20;;;=0A=20;;;=20This=20file=20is=20= part=20of=20GNU=20Guix.=0A=20;;;=0A@@=20-128,7=20+129,9=20@@=20engine=20= that=20uses=20Wayland=20for=20graphics=20output.")=0A=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20"webkitgtk-"=20version=20".tar.xz"))=0A=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(sha256=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20(base32=0A-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= "12qfs9w93c5kiyi14ynm4rf4ad3c213dvzmdrc9c3ab2iwbks7rn"))))=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20= "12qfs9w93c5kiyi14ynm4rf4ad3c213dvzmdrc9c3ab2iwbks7rn"))=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20=20(patches=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(search-patches=20"webkitgtk-2.28.0-fix-bug-197192.patch"))))=0A= =20=20=20=20=20(build-system=20cmake-build-system)=0A=20=20=20=20=20= (outputs=20'("out"=20"doc"))=0A=20=20=20=20=20(arguments=0A--=20=0A= 2.25.1=0A=0A= --Apple-Mail=_CEF45708-8A2F-4C92-8041-D3733640AD79 Content-Transfer-Encoding: 7bit Content-Type: text/html; charset=us-ascii
--Apple-Mail=_CEF45708-8A2F-4C92-8041-D3733640AD79 Content-Disposition: attachment; filename=config.scm Content-Type: application/octet-stream; x-unix-mode=0644; name="config.scm" Content-Transfer-Encoding: 7bit ;; This is an operating system configuration template ;; for a "bare bones" pinebook pro ;; The default image's kernel 4.4.190 has ;; microSD: /dev/mmcblk0 ;; eMMC: /dev/mmcblk1 ;; ;; Note that after booting the Guix System with linux-libre ;; 5.5-pinebook-pro this changes to ;; microSD: /dev/mmcblk1 ;; eMMC: /dev/mmcblk2 ;; Assuming https://gitlab.com/janneke/guix.git wip-pinebook-pro ;; has been built in . ;; cp gnu/system/examples/pinebook-pro.tmpl arm-baar.scm ;; sudo -E ./pre-inst-env guix system init arm-baar.scm /mnt --fallback (use-modules (gnu) (gnu bootloader u-boot)) (use-service-modules avahi desktop networking ssh databases) (use-package-modules admin bootloaders certs linux ssh) (operating-system (host-name "armbook") (timezone "America/Edmonton") (locale "en_GB.utf8") ;; Assuming not using a typewriter that needs qwerty slowdown ;;(keyboard-layout (keyboard-layout "us" "qwerty" ;; #:options '("ctrl:nocaps" "compose:menu"))) ;; Assuming /dev/mmcblk0 is the microSD... (bootloader (bootloader-configuration (target "/dev/mmcblk0") (bootloader u-boot-pinebook-pro-rk3399-bootloader))) ;; ...and after booting, /dev/mmcblk1p1 is the root file system (file-systems (cons* (file-system (device "/dev/mmcblk1p1") (mount-point "/") (type "ext4")) %base-file-systems)) (kernel linux-libre-pinebook-pro) (kernel-arguments '("ethaddr=${ethaddr}" "eth1addr=${eth1addr}" "serial=${serial#}" "video=HDMI-A-1:1920x1080@60" "video=eDP-1:1920x1080@60" "vga=current")) (initrd-modules '()) (users (cons* (user-account (name "me") (comment "My GuixOS") (group "users") (supplementary-groups '("wheel" "netdev" "audio" "video")) (home-directory "/home/me")) %base-user-accounts)) (name-service-switch %mdns-host-lookup-nss) (packages (cons* nss-certs openssh wpa-supplicant-minimal %base-packages)) (services (cons* (service xfce-desktop-service-type) (service openssh-service-type (openssh-configuration (port-number 4849))) (service mongodb-service-type) %desktop-services))) --Apple-Mail=_CEF45708-8A2F-4C92-8041-D3733640AD79 Content-Transfer-Encoding: 7bit Content-Type: text/html; charset=us-ascii

--Apple-Mail=_CEF45708-8A2F-4C92-8041-D3733640AD79-- --Apple-Mail=_117939A4-A5F4-4A8C-8357-C454B29C6639--