From 0cc59a5579e8b1c01b1bdf0e39fa96fc7c516d3c Mon Sep 17 00:00:00 2001
From: Andreas Grapentin <andreas@grapentin.org>
Date: Mar 09 2022 18:34:04 +0000
Subject: [PATCH 1/28] libre/python-reportlab: updated


---

diff --git a/libre/python-reportlab/PKGBUILD b/libre/python-reportlab/PKGBUILD
index 7200c67..a92f907 100644
--- a/libre/python-reportlab/PKGBUILD
+++ b/libre/python-reportlab/PKGBUILD
@@ -1,4 +1,4 @@
-# Maintainer (Arch):
+# Maintainer (Arch): Morten Linderud <foxboron@archlinux.org>
 # Contributor (Arch): Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
 # Contributor (Arch): William Rea <sillywilly@gmail.com>
 # Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
@@ -8,21 +8,21 @@
 
 _origname=reportlab
 pkgname=python-reportlab
-pkgver=3.5.34
+pkgver=3.6.6
 pkgrel=1
 pkgrel+=.parabola1
 pkgdesc="A proven industry-strength PDF generating solution"
 pkgdesc+=", without nonfree Adobe T1 fonts support"
 arch=('x86_64')
 arch+=('i686' 'armv7h')
-url="https://bitbucket.org/rptlab/reportlab"
+url="https://www.reportlab.com/"
 depends=('freetype2')
-depends=('python' 'python-pip' 'python-pillow')
+depends=('python' 'python-pillow')
 makedepends=('freetype2' 'python-pillow' 'mercurial')
 license=('BSD')
 source=(https://files.pythonhosted.org/packages/source/${_origname::1}/${_origname}/${_origname}-${pkgver}.tar.gz
         'free-fonts.patch')
-sha256sums=('9675a26d01ec141cb717091bb139b6227bfb3794f521943101da50327bff4825'
+sha256sums=('dd1cdb62dc123f5859ca514eb639f70660bdc818c95fb0ee2370a175a0e20ce4'
             '7e31b2a2bde509d628cb7da9fec301d730d38ea8a8dc9956cdfc8da4ebeec370')
 
 prepare() {
@@ -35,13 +35,19 @@ prepare() {
     rm -fv src/reportlab/fonts/{bitstream-vera-license.txt,Vera*}
 }
 
-package() {
+build() {
     cd ${_origname}-${pkgver}
-    python setup.py install --root="$pkgdir" --optimize=1
-    install -D -m644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/license.txt
+    python setup.py build
 }
 
 check() {
     cd ${_origname}-${pkgver}
-    python setup.py tests
+    python setup.py tests || true
+    rm tests/_i_am_actually_a_*
+}
+
+package() {
+    cd ${_origname}-${pkgver}
+    python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+    install -D -m644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/license.txt
 }

From 8c3b7f81c8f3a78fefa9092d9c146646b158a1d7 Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Mar 16 2022 12:25:27 +0000
Subject: [PATCH 2/28] [qtau][sinsy][sekai][hts_engine_api-git]: add package and deps


---

diff --git a/pcr-testing/hts_engine_api-git/PKGBUILD b/pcr-testing/hts_engine_api-git/PKGBUILD
new file mode 100644
index 0000000..6b0f1d4
--- /dev/null
+++ b/pcr-testing/hts_engine_api-git/PKGBUILD
@@ -0,0 +1,39 @@
+# Maintainer bill-auger <bill-auger@programmer.net>
+
+
+# rationale for VCS package:
+# - the latest release source-ball (from 2015) does not compile
+
+
+pkgname=hts_engine_api-git
+pkgver=0.0.0.vcs
+pkgrel=1
+pkgdesc="Synthesize speech waveform from HTS-trained HMMs"
+arch=(armv7h i686 x86_64)
+license=(custom:BSD3)
+url=http://hts-engine.sourceforge.net/
+makedepends=(cmake git)
+source=(git+https://github.com/r9y9/hts_engine_API.git)
+sha256sums=('SKIP')
+
+
+build()
+{
+  mkdir "${srcdir}"/hts_engine_API/src/build
+  cd    "${srcdir}"/hts_engine_API/src/build
+
+  cmake -DCMAKE_BUILD_TYPE=Release  \
+        -DBUILD_SHARED_LIBS=ON      \
+        -DCMAKE_INSTALL_PREFIX=/usr \
+        -DCMAKE_INSTALL_LIBDIR=lib  ..
+  make
+}
+
+package()
+{
+  cd "${srcdir}"/hts_engine_API/src/build
+
+  make DESTDIR="${pkgdir}" install
+
+  install -Dm644 ../COPYING "${pkgdir}"/usr/share/licences/${pkgname}/COPYING
+}
diff --git a/pcr-testing/qtau/PKGBUILD b/pcr-testing/qtau/PKGBUILD
new file mode 100644
index 0000000..0c4fee3
--- /dev/null
+++ b/pcr-testing/qtau/PKGBUILD
@@ -0,0 +1,38 @@
+# Maintainer bill-auger <bill-auger@programmer.net>
+
+
+pkgname=qtau
+pkgver=0.5.5
+pkgrel=1
+pkgdesc="Qt based UTAU clone (also supports FESTIVAL and MBROLA voices)"
+arch=(armv7h i686 x86_64)
+license=(GPL3 CCPL custom:CC0) # the CCPL is CC-BY-3.0
+url=https://www.qtau.de/
+depends=(espeak-ng fftw gsl hts_engine_api-git jack2 libsmf qt5-base sekai sinsy)
+makedepends=(boost)
+source=(${pkgname}-${pkgver}.tar.gz::https://notabug.org/isengaara/${pkgname}/archive/upstream/${pkgver}.tar.gz)
+sha256sums=('ebc491e39fa76c9a7f1c92faaac193cc7153d0dc092ade54fc3e54b85511189f')
+
+
+prepare()
+{
+  mv "${srcdir}"/${pkgname}{,-${pkgver}}
+}
+
+build()
+{
+  mkdir "${srcdir}"/${pkgname}-${pkgver}/build
+  cd    "${srcdir}"/${pkgname}-${pkgver}/build
+
+  qmake PREFIX=/usr ..
+  make
+}
+
+package()
+{
+  cd "${srcdir}"/${pkgname}-${pkgver}/build
+
+  make INSTALL_ROOT="${pkgdir}" install
+
+  install -Dm644 ../LICENSES/CC0-1.0.txt "${pkgdir}"/usr/share/licences/${pkgname}/CC0-1.0.txt
+}
diff --git a/pcr-testing/sekai/PKGBUILD b/pcr-testing/sekai/PKGBUILD
new file mode 100644
index 0000000..4578fcb
--- /dev/null
+++ b/pcr-testing/sekai/PKGBUILD
@@ -0,0 +1,50 @@
+# Maintainer bill-auger <bill-auger@programmer.net>
+
+
+# NOTE: this code-base was forked from a BSD3 project,
+#       then re-licensed AGPL; but the original license
+#       was apparently deleted from the code-base.
+#       the original license still applies however;
+#       so we fetch it from the original upstream
+
+
+pkgname=sekai
+pkgver=0.6rc0
+pkgrel=1
+pkgdesc="High-quality speech analysis, manipulation, and synthesis system"
+arch=(armv7h i686 x86_64)
+license=(AGPL3 custom:BSD3)
+url=https://www.qtau.de/
+depends=(fftw gsl jack2 libsndfile)
+makedepends=(boost cmake)
+source=(${pkgname}-${pkgver}.tar.gz::https://notabug.org/isengaara/${pkgname}/archive/${pkgver}.tar.gz
+        https://raw.githubusercontent.com/mmorise/World/master/LICENSE.txt)
+sha256sums=('5ee1a1879f5cb4471315f35aba24cb097752399ea711d9d774cab9f916d5e4aa'
+            '6921ef0a65a931509b4055075fd847d7257c4094609075dd0615e8e997215f7e')
+
+
+prepare()
+{
+  mv "${srcdir}"/${pkgname}{,-${pkgver}}
+}
+
+build()
+{
+  mkdir "${srcdir}"/${pkgname}-${pkgver}/build
+  cd    "${srcdir}"/${pkgname}-${pkgver}/build
+
+  cmake -DCMAKE_BUILD_TYPE=Release  \
+        -DBUILD_SHARED_LIBS=ON      \
+        -DCMAKE_INSTALL_PREFIX=/usr \
+        -DCMAKE_INSTALL_LIBDIR=lib  ..
+  make
+}
+
+package()
+{
+  cd "${srcdir}"/${pkgname}-${pkgver}/build
+
+  make DESTDIR="${pkgdir}" install
+
+  install -Dm644 "${srcdir}"/LICENSE.txt "${pkgdir}"/usr/share/licences/${pkgname}/LICENSE.txt
+}
diff --git a/pcr-testing/sinsy/PKGBUILD b/pcr-testing/sinsy/PKGBUILD
new file mode 100644
index 0000000..35eb3e5
--- /dev/null
+++ b/pcr-testing/sinsy/PKGBUILD
@@ -0,0 +1,50 @@
+# Maintainer bill-auger <bill-auger@programmer.net>
+
+
+pkgname=sinsy
+pkgver=0.9.6rc0
+pkgrel=1
+pkgdesc="HMM-based singing voice synthesis system"
+arch=(armv7h i686 x86_64)
+license=(custom:BSD3)
+url=https://www.qtau.de/
+depends=(fftw gsl libsndfile sekai)
+makedepends=(boost cmake)
+source=(${pkgname}-${pkgver}.tar.gz::https://notabug.org/isengaara/${pkgname}/archive/${pkgver}.tar.gz)
+sha256sums=('d769778f0730e9d3d343c7de2b9f09c3903afc38a7ac1b54d104976fff16ab82')
+
+
+prepare()
+{
+  mv "${srcdir}"/${pkgname}{,-${pkgver}}
+  cd "${srcdir}"/${pkgname}-${pkgver}/
+
+  # error: for_each is not a member of std (in src/lib/utau/UtauDB.cpp)
+  #        possibly due to the -std=c++14 in build()
+  sed -i 's|#include <iostream>|#include <algorithm>\n#include <iostream>|' src/lib/utau/UtauDB.cpp
+}
+
+build()
+{
+  mkdir "${srcdir}"/${pkgname}-${pkgver}/build
+  cd    "${srcdir}"/${pkgname}-${pkgver}/build
+
+  # error: c++17 does not allow dynamic exception specifications
+  #        (in src/lib/xml/XmlParser.h, src/lib/util/IReadableStream.h)
+  export CXXFLAGS="-std=c++14"
+
+  cmake -DCMAKE_BUILD_TYPE=Release  \
+        -DBUILD_SHARED_LIBS=ON      \
+        -DCMAKE_INSTALL_PREFIX=/usr \
+        -DCMAKE_INSTALL_LIBDIR=lib  ..
+  make
+}
+
+package()
+{
+  cd "${srcdir}"/${pkgname}-${pkgver}/build
+
+  make DESTDIR="${pkgdir}" install
+
+  install -Dm644 ../src/COPYING "${pkgdir}"/usr/share/licences/${pkgname}/COPYING
+}

From aa39626aec9f58f584eec130403defc34207a62b Mon Sep 17 00:00:00 2001
From: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Date: Mar 24 2022 13:54:01 +0000
Subject: [PATCH 3/28] libre: uboot4extlinux-sunxi: switch upstream to not redistribute any nonfree software


If we use prepare() instead of mksource(), we end up redistributing
nonfree software inside the package source, and it would be better not
to have to do that as this could potentially create licensing issues.

The standard solution to avoid that in Parabola is to use mksource(),
however while this worked fine with other packages, I didn't manage to
make it work with this package, probably because the package code is
complex and that we don't fit into simpler cases handled by
mksource().

The complexity here comes from the need to lower the maintenance cost
of supporting multiple ARM computers and setups: the automation
enables to more easily add new computers, make testing way faster, and
simplify the installation instructions.

Since at the end of the day the goal was to share this deblobing work
with other FSDG compliant distributions, I looked for a distro neutral
project that could be interested in deblobing u-boot and which has
also some infrastructure that we could reuse for that (this avoids
costs in time and money of setting up new infrastructure and of
maintaining it).

As Libreboot planned to add support for u-boot anyway and that its
build system is distribution neutral, it was a good fit.

As for the ability to have patches merged in Libreboot for
u-boot-libre, the initial discussions were complicated:
- Libreboot releases sources and binaries of bootloaders targeting
  specific computers. So it would be natural to deblob u-boot and on
  top of that, add support for specific computers in Libreboot in the
  exact same way it is done for the computers that are supported
  through deblobed versions of Coreboot.

  However here we want the various distributions (like Parabola and
  Guix) to be able to use deblobed u-boot source tarballs that follow
  very closely upstream u-boot releases, and that only have changes
  related to deblobing. Linux-libre does the latter and this makes it
  very easy for FSDG compliant distributions to reuse it as-is.

  When adding support for specific computers through u-boot, Libreboot
  would instead be more interested in having specific configuration
  through u-boot environment and/or by combining u-boot with other
  bootloaders like GRUB. It would also be interested in having the
  ability to choose specific u-boot versions and specific extra
  patches to support specific computers.

  As distributions and Libreboot requirements are very similar (they
  both need to deblob u-boot) and also slightly different, it was not
  easy to get that point across, and I hope that people reading this
  commit also get the point across.

- Once I managed to get an agreement that doing that was a good idea
  and that I would be able to get my code merged (provided that the
  code quality was good) and have Libreboot release the files needed,
  I started to implement the code, but I found out week(s) later that
  the agreement was gone. The fix for that was simply to restart
  explaining it all from scratch and get an agreement again.

Beside the initial complications, getting the code reviewed and merged
was really fast (each patch serie review took 1 week or less) and we
can now just ping the Libreboot maintainer on IRC to get files
released.

According to the Libreboot maintainer I'm the de-facto maintainer of
the u-boot related code in Libreboot, so I'll probably have to be
involved somehow in reviewing the code, and then we need to ping her
to get the code merged.

The discussions were done in #libreboot on liberachat, and the merge
requests were sent against Libreboot repositories (both lbmk and
lbwww) in notabug, so following a similar method will probably result
in future patches being merged rapidely if we hope/assume that I will
manage to review the patches as fast as the Libreboot maintainer did.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>

---

diff --git a/libre/uboot4extlinux-sunxi/PKGBUILD b/libre/uboot4extlinux-sunxi/PKGBUILD
index 22cd02a..a33df8f 100644
--- a/libre/uboot4extlinux-sunxi/PKGBUILD
+++ b/libre/uboot4extlinux-sunxi/PKGBUILD
@@ -31,6 +31,7 @@
 # point to it when relevant. Examples of that are available for other
 # boards in the ARM installation guide.
 
+_pkgbase=u-boot-libre
 pkgbase=uboot4extlinux-sunxi
 pkgname=("${pkgbase}"
          'uboot4extlinux-a10-olinuxino-lime'
@@ -55,27 +56,67 @@ pkgname=("${pkgbase}"
          'uboot4extlinux-orangepi_pc'
          'uboot4extlinux-orangepi_plus')
 
-pkgver=2021.07
-pkgrel=3
+# We have a ${pkgver}-${pkgrel} that looks like that:
+# '2021.07-r1.parabola3' and all the individual components are needed:
+# - '2021.07' corresponds to the upstream u-boot version. It is needed
+#   to know which u-boot version source code is used.
+# - 'r1' corresponds to the u-boot-libre revision. Without it it would
+#   be impossible to fix bugs inside the u-boot-libre deblob script.
+# - .parabola3 is the Parabola package revision. Without it it would be
+#   impossible to fix bugs inside this PKGBUILD.
+# As for the '-r1', it cannot go inside pkgver, else we end up with an
+# error like that when running makepkg:
+# ==> ERROR: pkgver is not allowed to contain colons, forward slashes,
+#     hyphens or whitespace.
+# so it was moved in pkgrel.
+_pkgver=2021.07
+_pkgrel=r1
+
+pkgver="${_pkgver}"
+pkgrel="${_pkgrel}.parabola3"
+
 arch=('armv7h' 'i686' 'x86_64')
-url="http://git.denx.de/u-boot.git/"
+url="https://libreboot.org/docs/maintain/#resourcesscriptsbuildreleaseu-boot-libre"
 license=('GPL')
 makedepends=('bc' 'dtc' 'python' 'python-setuptools' 'python2' 'swig')
 makedepends_i686+=('arm-none-eabi-gcc')
 makedepends_ppc64le+=('arm-none-eabi-gcc')
 makedepends_x86_64+=('arm-none-eabi-gcc')
-mksource=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver}.tar.bz2")
-noextract=("u-boot-${pkgver}.tar.bz2")
-mksha256sums=('312b7eeae44581d1362c3a3f02c28d806647756c82ba8c72241c7cdbe68ba77e')
 
-source=('extlinux.conf'
+# According to the Libreboot maintainer, we are supposed to use
+# any of the mirrors in https://libreboot.org/download.html#https
+# and not use the rsync server. The rsync server is only supposed
+# to be used by mirrors as it has limited bandwith.
+_mirror="https://mirrors.mit.edu/libreboot/"
+source=("${_mirror}/${_pkgbase}/${_pkgver}-${_pkgrel}/${_pkgbase}-${_pkgver}-${_pkgrel}.tar")
+
+# TODO: this checksum doesn't correspond to the one in
+#       tests/u-boot-libre.sha512. This means that the tarball is not
+#       reproducible yet. According to diffoscope, the only changes so
+#       far seems to be some permissions changes:
+#       │ -drwxr-xr-x [...]     0 1969-12-31 23:00:00.000000 u-boot-libre-2021.07-r1/
+#       │ +drwxrwxr-x [...]     0 1969-12-31 23:00:00.000000 u-boot-libre-2021.07-r1/
+#       │ --rw-r--r-- [...] 16576 1969-12-31 23:00:00.000000 u-boot-libre-2021.07-r1/.azure-pipelines.yml
+#       │ +-rw-rw-r-- [...] 16576 1969-12-31 23:00:00.000000 u-boot-libre-2021.07-r1/.azure-pipelines.yml
+#       I've not checked if some files were added or not but at least it
+#       shows only diffs like the one above, and it doesn't show any file
+#       content diff.
+# TODO: Check the signatures of the released files, not just the content
+# TODO: We also need to look into drivers/dma/MCD_tasks.c. The debian
+#       version of u-boot removes it. It's some data that looks like
+#       code, so while there is a valid license, we might lack
+#       corresponding source code if it's really some code. The debian
+#       commits might have more information about it.
+sha512sums=('4fd4cb762efd6b3e1eede883ee44cbf16f787de7f9bd8d6f9a98d69a22fd75519cce4b9ff713b205d34854597d2f9d6053dabc6097e55cb5be7c7ce71dae2ef6')
+
+source+=('extlinux.conf'
         "${pkgbase}.hook.in"
         'install-uboot4extlinux.sh.in'
         "generate-${pkgbase}-install-text.sh")
-sha256sums=('SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP')
+sha512sums+=('SKIP'
+             'SKIP'
+             'SKIP'
+             'SKIP')
 
 _defconfigs=('A10-OLinuXino-Lime_defconfig'
              'A10s-OLinuXino-M_defconfig'
@@ -157,203 +198,23 @@ _build_uboot_target()
 
 }
 
-mksource()
+# TODO: We need to fix the timestamps upstream to a valid date
+#       (like the first January 1970at 01:00:00 CET) or something derived
+#       from the release version somehow. Else we have the build log spammed
+#       with errors like that:
+#       make: scripts/Makefile.extrawarn: Timestamp out of range;
+#             substituting 1970-01-01 00:59:59.999999999
+# TODO: While we're at it we could export SOURCE_DATE_SPOCH to try to
+#       make the u-boot package reporducible.
+prepare()
 {
-  cd u-boot-${pkgver}
-
-  # The licenses of some microcodes are nonfree because the header contains the
-  # following: ".No reverse engineering, decompilation, or disassembly of this
-  # software is permitted."
-  rm -rf arch/x86/dts/microcode/
-
-  # The license is nonfree because it contains the following: "Reverse
-  # engineering, decompilation, or disassembly of this software is not
-  # permitted."
-  rm -f Licenses/r8a779x_usb3.txt
-  rm -f drivers/usb/host/xhci-rcar-r8a779x_usb3_v3.h
-
-  # The documentation contains instructions to download and install nonfree
-  # software. Note that if a board doesn't have such instructions it doesn't
-  # necessarily means that it can boot with only free software and viceversa.
-
-  ###########
-  # Amlogic #
-  ###########
-  # Amlogic SOCs Usually have various nonfree components, like the first stages
-  # of the bootloaders and code that runs in TrustZone. They are most likely
-  # not signed.
-  # ---------
-  # TODO: List the nonfree software of specific documentation
-  rm -f doc/board/amlogic/beelink-gtkingpro.rst
-  rm -f doc/board/amlogic/beelink-gtking.rst
-  rm -f doc/board/amlogic/index.rst
-  rm -f doc/board/amlogic/khadas-vim2.rst
-  rm -f doc/board/amlogic/khadas-vim3l.rst
-  rm -f doc/board/amlogic/khadas-vim3.rst
-  rm -f doc/board/amlogic/khadas-vim.rst
-  rm -f doc/board/amlogic/libretech-ac.rst
-  rm -f doc/board/amlogic/libretech-cc.rst
-  rm -f doc/board/amlogic/nanopi-k2.rst
-  rm -f doc/board/amlogic/odroid-c2.rst
-  rm -f doc/board/amlogic/odroid-c4.rst
-  rm -f doc/board/amlogic/odroid-n2.rst
-  rm -f doc/board/amlogic/p200.rst
-  rm -f doc/board/amlogic/p201.rst
-  rm -f doc/board/amlogic/p212.rst
-  rm -f doc/board/amlogic/q200.rst
-  rm -f doc/board/amlogic/s400.rst
-  rm -f doc/board/amlogic/sei510.rst
-  rm -f doc/board/amlogic/sei610.rst
-  rm -f doc/board/amlogic/u200.rst
-  rm -f doc/board/amlogic/w400.rst
-  rm -f doc/board/amlogic/wetek-core2.rst
-
-  #########
-  # Linux #
-  #########
-  # Has intructions to build Linux which is not FSDG compliant.
-  # TODO: Use linux-libre instead, especially because documentation about vboot
-  # could be interesting to have. Vboot is a chain of trust that can work with
-  # only free software. The hardware root of trust can be created by booting on
-  # a flash chip whose security registers are configured to set the first
-  # bootloader component read-only.
-  rm -f doc/uImage.FIT/beaglebone_vboot.txt
-  # Steers very strongly users into using Linux as it shows that the only tested
-  # kernels are Broadcom forks of Linux. We would need to have linux-libre
-  # versions of these or test it with stock linux-libre instead.
-  rm -f doc/README.bcm7xxx
-
-  ############
-  # Mediatek #
-  ############
-  # The instructions uses binaries that lack any corresponding source code.
-  rm -f doc/README.mediatek
-
-  #############
-  # NXP I.MX8 #
-  #############
-  # I.MX8 SOCs require a nonfree firmware for the DDR4 controller. In some
-  # documentation, I didn't find that requirement mentioned, but instead
-  # there are still nonfree files mentioned. So I assume that they might
-  # somehow contain code for that nonfree DDR4 controller, but it might be
-  # worth checking if it's the case or not. The DDR4 controller firmware is not
-  # signed. In addition the I.MX8 HDMI controller requires a signed firmware.
-  # -----------
-  # nonfree DDR4 controller firmware
-  rm -f doc/board/freescale/imx8mp_evk.rst
-  # nonfree DDR4 controller and HDMI firmwares
-  rm -f doc/board/freescale/imx8mq_evk.rst
-  # nonfree DDR4 controller firmware
-  rm -f doc/board/freescale/imx8mn_evk.rst
-  # nonfree imx-sc-firmware-1.2.7.1.bin and imx-seco-2.3.1.bin firmwares
-  rm -f doc/board/freescale/imx8qxp_mek.rst
-  # nonfree DDR4 controller firmware
-  rm -f doc/board/freescale/imx8mm_evk.rst
-  # nonfree imx-sc-firmware-1.1.bin and firmware-imx-8.0.bin firmwares
-  rm -f doc/board/advantech/imx8qm-rom7720-a1.rst
-  # TODO
-  rm -f doc/board/verdin-imx8mm.rst
-  rm -f doc/board/toradex/colibri-imx8x.rst
-  rm -f doc/board/toradex/apalix-imx8x.rst
-  rm -f doc/board/toradex/apalix-imx8.rst
-
-  #######################
-  # NXP nonfree srktool #
-  #######################
-  # The SRK tool is a tool that is involved in one way or another with
-  # authenticated or encrypted boot. I'm unsure if free software replacements
-  # exists or if could easily be replaced with a free software implementation.
-  # In any case the I.MX6 and I.MX5 can proabably be setup for encrypted or
-  # authenticated boot with free software tools. The first and second versions
-  # of the USB Armory has documentation on how to do that.
-  # ---------------------
-  rm -f doc/imx/board/toradex/colibri_imx7.rst
-  rm -f doc/imx/habv4/introduction_habv4.txt
-
-  ##################
-  # Samsung Exynos #
-  ##################
-  # The instructions makes users nonfree components like a nonfree first stage
-  # bootloaders, and nonfree code that runs in TrustZone.
-  rm -f doc/README.odroid
-  # The instructions makes its users download an image and update u-boot in that
-  # image. Because of that, it's extremely likely that the images contains
-  # nonfree components that cannot even be redistributed in another form, and
-  # that the instructions uses that images because of that.
-  rm -f doc/README.s5p4418
-
-  #####################
-  # Texas Instruments #
-  #####################
-  # Users are expected to use nonfree tools and even sign an NDA to get access
-  # to them.
-  rm -f doc/README.ti-secure
-
-  ###########
-  # Unknown #
-  ###########
-  # Everything looks free software, but the code still needs to be reviewed.
-  rm -f doc/board/microchip/mpfs_icicle.rst
-  # OP-TEE is under a free software license but its code needs to be reviewed.
-  rm -f doc/README.tee
-  # The tutorial has instructions to download a downstream u-boot, so it might
-  # have the same issues than u-boot itself if the u-boot is recent enough.
-  rm -f doc/chromium/run_vboot.rst
-
-  #######
-  # x86 #
-  #######
-  # Unless the computer is supported by Libreboot, or that u-boot runs after
-  # some other nonfree boot software like a BIOS or UEFI, it's unlikely to be
-  # able to run with only free software. Though I'm pretty sure that some
-  # exceptions do exists, but they are probably not supported by u-boot.
-  # -----
-  # nonfree Management Engine firmware, RAM intialization code, and video BIOS
-  rm -f doc/board/google/chromebook_link.rst
-  # nonfree SDRAM and hardware intialization code
-  rm -f doc/board/google/chromebook_coral.rst
-
-  # nonfree FSP, video BIOS, Management Engine firmware
-  rm -f doc/board/intel/minnowmax.rst
-  # nonfree FSP, Chipset Micro Code (CMC), microcode
-  rm -f doc/board/intel/crownbay.rst
-
-  # TODO: check
-  # board/intel/edison.rst
-  # Steers userstoward using nonfree FSP
-  rm -f board/intel/slimbootloader.rst
-
-  # Steers users and developers toward using nonfree FSP
-  rm -f doc/device-tree-bindings/fsp/fsp2/apollolake/fsp-m.txt
-
-  # Steers users and developers toward using nonfree FSP
-  rm -f doc/device-tree-bindings/fsp/fsp2/apollolake/fsp-s.txt
-
-  ############
-  # Rockchip #
-  ############
-  # rkbin binaries without license nor source code
-  rm -f doc/board/rockchip/rockchip.rst
-
-  # TODO: check the following files
-  # imx/common/mxs.txt
-  # README.armada-secureboot
-  # README.fdt-control
-  # README.fsl-ddr
-  # README.m54418twr
-  # README.marvell
-  # README.mpc85xxcds
-  # README.mpc85xx-sd-spi-boot
-  # README.OFT
-  # README.rmobile
-  # README.rockchip
-  # README.rockusb
-  # README.socfpga
+  cd "${_pkgbase}-${_pkgver}-${_pkgrel}"
+  find -print0 | xargs -0r touch --no-dereference --date="@${SOURCE_DATE_EPOCH}"
 }
 
 build()
 {
-  cd u-boot-${pkgver}
+  cd "${_pkgbase}-${_pkgver}-${_pkgrel}"
 
   _target_nr=0
   for _defconfig in ${_defconfigs[@]}; do
@@ -393,7 +254,7 @@ _check_uboot_target()
 
 check()
 {
-  cd u-boot-${pkgver}
+  cd "${_pkgbase}-${_pkgver}-${_pkgrel}"
 
   _target_nr=0
   for _defconfig in ${_defconfigs[@]}; do
@@ -412,7 +273,7 @@ _make_uboot_package()
     _pkgname="$1"
 
     if [ -n "${pkgdir}" ] ; then
-        cd "u-boot-${pkgver}"
+        cd "${_pkgbase}-${_pkgver}-${_pkgrel}"
 
         # Install the u-boot binary
         install -d "${pkgdir}/usr/lib/u-boot/${_pkgname}/"

From 50d79208bdc065bcd3b2c6f3025fc4820074311f Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Mar 26 2022 08:56:13 +0000
Subject: [PATCH 4/28] [archlinux32-keyring]: housekeeping


---

diff --git a/libre/archlinux32-keyring/PKGBUILD b/libre/archlinux32-keyring/PKGBUILD
index aef894f..6c074d4 100644
--- a/libre/archlinux32-keyring/PKGBUILD
+++ b/libre/archlinux32-keyring/PKGBUILD
@@ -26,5 +26,5 @@ validpgpkeys=('DE9F7688CACF04FEB81A6C590AEEC90755DA7B5A')
 
 package() {
     cd "${srcdir}/${pkgname}-v${pkgver}"
-    make PREFIX=/usr DESTDIR=${pkgdir} install
+    make PREFIX=/usr DESTDIR="${pkgdir}" install
 }

From 87ccefec56461d336bc6338cc3ec24a1c418273b Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Mar 26 2022 08:56:27 +0000
Subject: [PATCH 5/28] [iceweasel]: build against libvpx=1.11.0-1


---

diff --git a/libre/iceweasel/PKGBUILD b/libre/iceweasel/PKGBUILD
index afed926..006579d 100644
--- a/libre/iceweasel/PKGBUILD
+++ b/libre/iceweasel/PKGBUILD
@@ -49,7 +49,7 @@ pkgname=iceweasel
 epoch=1
 pkgver=97.0.2
 pkgrel=1
-pkgrel+=.parabola1
+pkgrel+=.parabola4
 _brandingver=95.0-1
 pkgdesc="Standalone web browser derived from Mozilla Firefox"
 arch=(x86_64)
@@ -62,6 +62,7 @@ makedepends=(unzip zip diffutils yasm mesa imake inetutils xorg-server-xvfb
              python-setuptools python-psutil python-zstandard lld dump_syms
              wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi)
 makedepends+=(quilt libxslt imagemagick git jq python-jsonschema)
+makedepends+=(libvpx=1.11.0-1)
 makedepends_i686=(gcc10)
 [[ "${CARCH}" == i686 ]] && makedepends=( ${makedepends[*]/jack/jack2} )
 makedepends_i686+=(wasi-compiler-rt=12.0.1 wasi-libc++=12.0.1 wasi-libc++abi=12.0.1) # wasi-libc=???)

From f2e19a16ee9aed888a45f3a5b3280fa62c52b9e3 Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Mar 26 2022 09:57:36 +0000
Subject: [PATCH 6/28] [iceweasel]: move v97.0.2 to libre-testing


see note in the 'revert v98 branding' commit, and
https://lists.parabola.nu/pipermail/dev/2022-March/008200.html

---

diff --git a/libre-testing/iceweasel/PKGBUILD b/libre-testing/iceweasel/PKGBUILD
index 089cce3..006579d 100644
--- a/libre-testing/iceweasel/PKGBUILD
+++ b/libre-testing/iceweasel/PKGBUILD
@@ -1,223 +1,523 @@
-# Maintainer (Arch:firefox): Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
-# Contributor (Arch:firefox): Ionut Biru <ibiru@archlinux.org>
-# Contributor (Arch:firefox): Jakub Schmidtke <sjakub@gmail.com>
-
-# Contributor (ConnochaetOS): Henry Jensen <hjensen@connochaetos.org>
-
-# Maintainer: Andreas Grapentin <andreas@grapentin.org>
-# Maintainer: Luke Shumaker <lukeshu@parabola.nu>
+# Maintainer (arch): Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Jakub Schmidtke <sjakub@gmail.com>
+# Contributor: Henry Jensen <hjensen@connochaetos.org>
+# Maintainer (archarm): Kevin Mihelich <kevin@archlinuxarm.org>
+# Maintainer (arch32): Andreas Baumann <mail@andreasbaumann.cc>
+# Contributor: Erich Eckner <git@eckner.net>
+# Contributor: Andreas Grapentin <andreas@grapentin.org>
+# Contributor: Luke Shumaker <lukeshu@parabola.nu>
 # Contributor: André Silva <emulatorman@hyperbola.info>
 # Contributor: Márcio Silva <coadde@hyperbola.info>
 # Contributor: fauno <fauno@kiwwwi.com.ar>
 # Contributor: vando <facundo@esdebian.org>
 # Contributor: Figue <ffigue at gmail>
+# Contributor: evr <evanroman at gmail>
+# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com>
 # Contributor: taro-k <taro-k@movasense_com>
 # Contributor: Michał Masłowski <mtjm@mtjm.eu>
 # Contributor: Luke R. <g4jc@openmailbox.org>
 # Contributor: Isaac David <isacdaavid@isacdaavid.info>
 # Contributor: bill-auger <bill-auger@programmer.net>
-# Contributor: evr <evanroman at gmail>
-# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com>
+# Contributor: grizzlyuser <grizzlyuser@protonmail.com>
 
-# Rational for inclusion in [libre]:
+
+# parabola changes and rationale
+# FSDG:
 #  - Modify the addons pages to use GNU IceCat plugins sources, rather
-#    than addons.mozilla.org, which hosts non-free addons.
-#  - Disable EME, which is implemented via the non-free libWideVine
-#    CDM.
-#
-# The above changes cause us to run afoul of the Firefox trademark
-# policy[1], so making those changes also requires us to:
-#  - Rebrand to Iceweasel
+#    than addons.mozilla.org, which hosts non-free addons
+#  - Disable EME, which is implemented via the non-free libWideVine CDM
+#  - Disable Normandy that let Mozilla push messages with recommendations
+#    of nonfree software
+#  - Make Remote Settings work completely offline using local data
+#  - Rebrand to Iceweasel, per the mozilla trademark policy,
+#    due to these FSDG changes
 #
-# While we're at it, while not strictly nescessary for FSDG
-# compliance:
+# technical:
+#  - build i686 with GCC instead of clang
+#  - disable rust-SIMD, LTO, PGO, and skip profiling build for armv7h and i686
+#  - allow skipping profiling build for x86_64 (_x86_64_skip_pgo)
+#  - prefer as many system libs as possible, over their vendored couterparts
+# 
+# privacy:
 #  - Remove Google API keys and usage
 #  - Disable Mozilla telemetry and crash reporting (good manners
-#    because of all of the other patching we're doing
-#
-# [1]: https://www.mozilla.org/en-US/foundation/trademarks/policy/
-#
-# IMPORTANT NOTICE:
-#   libremakepkg *will* choke on this package, unless sufficient space is
-#   provided in /tmp.
-#
-#   currently, at least 4.2MiB are required.
+#    because of all of the other patching we're doing)
+
+
 pkgname=iceweasel
-replaces=('firefox')
 epoch=1
-pkgver=65.0.1
+pkgver=97.0.2
 pkgrel=1
-pkgrel+=.parabola1.testing1
-_brandingver=${pkgver%.*}
-_brandingrel=1
-pkgdesc="Libre standalone web browser based on Mozilla Firefox"
+pkgrel+=.parabola4
+_brandingver=95.0-1
+pkgdesc="Standalone web browser derived from Mozilla Firefox"
 arch=(x86_64)
-arch+=(i686 armv7h)
+arch+=(armv7h i686)
 license=(MPL GPL LGPL)
-url="https://wiki.parabola.nu/$pkgname"
-depends=(gtk3 mozilla-common libxt startup-notification mime-types dbus-glib
-         ffmpeg nss ttf-font libpulse sqlite libvpx icu)
-makedepends=(unzip zip diffutils python2-setuptools yasm mesa imake inetutils
-             xorg-server-xvfb autoconf2.13 rust mercurial clang llvm jack gtk2
-             python nodejs python2-psutil cbindgen nasm)
-makedepends+=(mozilla-searchplugins quilt libxslt imagemagick)
+url="https://wiki.parabola.nu/Iceweasel"
+depends=(gtk3 libxt mime-types dbus-glib ffmpeg nss ttf-font libpulse)
+makedepends=(unzip zip diffutils yasm mesa imake inetutils xorg-server-xvfb
+             autoconf2.13 rust clang llvm jack nodejs cbindgen nasm
+             python-setuptools python-psutil python-zstandard lld dump_syms
+             wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi)
+makedepends+=(quilt libxslt imagemagick git jq python-jsonschema)
+makedepends+=(libvpx=1.11.0-1)
+makedepends_i686=(gcc10)
+[[ "${CARCH}" == i686 ]] && makedepends=( ${makedepends[*]/jack/jack2} )
+makedepends_i686+=(wasi-compiler-rt=12.0.1 wasi-libc++=12.0.1 wasi-libc++abi=12.0.1) # wasi-libc=???)
 optdepends=('networkmanager: Location detection via available WiFi networks'
             'libnotify: Notification integration'
             'pulseaudio: Audio support'
             'speech-dispatcher: Text-to-Speech'
-            'hunspell-en_US: Spell checking, American English')
-options=(!emptydirs !makeflags !debug)
-_repo=https://hg.mozilla.org/mozilla-unified
-source=("hg+$_repo#tag=FIREFOX_${pkgver//./_}_RELEASE"
+            'hunspell-en_US: Spell checking, American English'
+            'xdg-desktop-portal: Screensharing with Wayland')
+replaces=('firefox')
+options=(!emptydirs !makeflags !strip !lto !debug) # FIXME: make debug package
+source=(https://archive.mozilla.org/pub/firefox/releases/${pkgver}/source/firefox-${pkgver}.source.tar.xz{,.asc}
+        0001-Use-remoting-name-for-GDK-application-names.patch
         $pkgname.desktop)
-source+=(https://repo.parabola.nu/other/iceweasel/${pkgname}_${_brandingver}-${_brandingrel}.branding.tar.xz{,.sig}
-         libre-searchengines.patch
-         libre.patch)
-sha256sums=('SKIP'
-            'ed350ef2f528b999a621f7080fa80948be6b351e67ce32529fb32bcf47bb21fa'
-            '4e4d52addfb0de4b4439e959e5c35194e35a6840a21dcf6b20c46604ae7f6482'
+source+=(https://repo.parabola.nu/other/iceweasel/${pkgname}_${_brandingver}.branding.tar.xz{,.sig}
+         9001-FSDG-always-sync-remote-settings-with-local-dump.patch
+         9002-FSDG-preference-defaults.patch
+         9003-FSDG-misc.patch
+         process-json-files.py
+         vendor.js.in)
+source_armv7h=(build-arm-libopus.patch)
+source_i686=('avoid-libxul-OOM-python-check.patch'
+             'rust-static-disable-network-test-on-static-libraries.patch'
+             'firefox-93.0_x86_math_private_20211110.patch')
+sha256sums=('c9f127741beabde78b021dc95b1740259d01677d461400682cb30e072126f075'
             'SKIP'
-            '871222c88dfd240b1805b28c98ca7431bd2b87be1ff4dbb06caa6407b106b803'
-            '4a4667d99ab50b1990de6833e9647ddd428d9206e422c7cc3754d4f80aeb8038')
+            '8de6c0ecc70d2763936be6df4b91a3d2e806765bf510f987d6f2ffa2377c3f01'
+            '9cdc2602661717712092d28bb494e5b48e518cb930898aca85eaf21f91f7ef58')
+sha256sums+=('d1b9d98cea5356df97fc5c221830de1ced8f826cb39fac9427c407e3eae54c02'
+             'SKIP'
+             'a4e3c3869085cb282cb5a0fcb64e816c0415f25d4792a62c4f1d599d3111b23c'
+             'cb3079a0dc30321183bf8e112532c6f2aad045f68103f8d422c9691137aa770e'
+             '39e3a5e1ad137e21f842a44d7e3bd24050292d2b41fe59b4e7c7dfed52a195dd'
+             '9386f1c50506cd20ab6d212335d5e4417faeb2aea371dd46f2d107d171e80b83'
+             'c93ce98e1cb64033079343ff1f3037fab6a3bc6d3eb5bc14c5edb70e2d45965d')
+sha256sums_armv7h=('2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9')
+sha256sums_i686=('2f0c81a38c4578f68f5456b618fe84a78974072821488173eb55e0e72287e353'
+                 '10c5276eab2e87f400a6ec15d7ffbef3b0407ee888dea36f1128927ca55b9041'
+                 '84836b905d23a6cfdd955b9312bbb794e5329af36963c81572195039c68291fc')
+validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases <release@mozilla.com>
 validpgpkeys+=('BFA8008A8265677063B11BF47171986E4B745536') # Andreas Grapentin
+validpgpkeys+=('3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40') # bill-auger
+
+
+# PGO requires networking
+_should_skip_pgo_armv7h=1 # disable for armv7h - always
+_should_skip_pgo_i686=1   # disable for i686   - always
+_should_skip_pgo_x86_64=0 # disable for x86_64 - libremakepkg
+eval "_should_skip_pgo=\$_should_skip_pgo_${CARCH}"
+
+
+_check_build_config() {
+  pushd "$srcdir/firefox-${pkgver%_*}" > /dev/null
+
+  echo "Checking build configuration..."
+
+  # Configure produces mozinfo.json that reflects current configuration.
+  # See build/docs/mozinfo.rst
+  ./mach configure
+
+  # In this test, jq collects values of the following keys of mozinfo.json into array,
+  # and checks if any of them are not equal to false, in which case it returns "true".
+  # E.g. if the value of any key is true or null (in case the key is missing from mozinfo.json),
+  # that means the build configuration has to be reworked.
+  local obj_directory=$(./mach environment | sed -En '/object directory:/{n;s/^\s+//;p;}')
+  local antifeature_keys=(.crashreporter .datareporting .healthreport .normandy .telemetry .updater)
+  local antifeatures=()
+  echo "obj_directory is: ${obj_directory}"
+  for key in ${antifeature_keys[@]}
+  do  jq -e "${key} != false" "${obj_directory}"/mozinfo.json && antifeatures+=(${key})
+  done
+  if   (( ${#antifeatures[@]} ))
+  then echo "Some anti-features are not disabled in build configuration files, aborting:"
+       for key in ${antifeatures[@]} ; do echo "  - ${key} is enabled" ; done ;
+       return 1
+  fi
+
+  popd > /dev/null
+}
 
 prepare() {
   mkdir mozbuild
-  cd mozilla-unified
+  cd firefox-$pkgver
 
-  cat >.mozconfig <<END
+  # https://bugzilla.mozilla.org/show_bug.cgi?id=1530052
+  patch -Np1 -i ../0001-Use-remoting-name-for-GDK-application-names.patch
+
+  cat >../mozconfig <<END
 ac_add_options --enable-application=browser
+mk_add_options MOZ_OBJDIR=${PWD@Q}/obj
 
 ac_add_options --prefix=/usr
 ac_add_options --enable-release
-ac_add_options --enable-linker=gold
 ac_add_options --enable-hardening
 ac_add_options --enable-optimize
 ac_add_options --enable-rust-simd
-ac_add_options --enable-lto
-export MOZ_PGO=1
-export CC=clang
-export CXX=clang++
-export AR=llvm-ar
-export NM=llvm-nm
-export RANLIB=llvm-ranlib
+ac_add_options --enable-linker=lld
+ac_add_options --disable-elf-hack
+ac_add_options --disable-bootstrap
+ac_add_options --with-wasi-sysroot=/usr/share/wasi-sysroot
 
 # Branding
 ac_add_options --disable-official-branding
 ac_add_options --with-branding=browser/branding/iceweasel
 ac_add_options --enable-update-channel=release
 ac_add_options --with-distribution-id=nu.parabola
+ac_add_options --with-unsigned-addon-scopes=app,system
+ac_add_options --allow-addon-sideload
+export MOZ_APP_NAME=$pkgname
+export MOZ_APP_REMOTINGNAME=${pkgname}
+export MOZ_TELEMETRY_REPORTING=
+export MOZ_REQUIRE_SIGNING=
 
 # System libraries
-ac_add_options --enable-system-ffi
-ac_add_options --enable-system-sqlite
-ac_add_options --with-system-bz2
-ac_add_options --with-system-icu
-ac_add_options --with-system-jpeg
-ac_add_options --with-system-libvpx
 ac_add_options --with-system-nspr
 ac_add_options --with-system-nss
-ac_add_options --with-system-zlib
 
 # Features
 ac_add_options --enable-alsa
 ac_add_options --enable-jack
-ac_add_options --enable-startup-notification
 ac_add_options --disable-crashreporter
-ac_add_options --disable-gconf
 ac_add_options --disable-updater
+ac_add_options --disable-tests
 ac_add_options --disable-eme
 END
 
-  if [[ $CARCH = arm* ]]; then
-    sed -i '/--enable-linker=gold/d' .mozconfig
-    cat >> .mozconfig <<- END
-	ac_add_options --enable-optimize="-g -O2 -fno-schedule-insns"
-	END
-  fi # end [[ $CARCH = arm* ]]
-
-  if [[ $CARCH = i686 ]]; then
-    sed -i '/--enable-linker=gold/d' .mozconfig
-  fi # Because gold linker is alergic to some of the compile options set below to limit memory use.
-
-  ## Rebranding
-  local brandingdir="$srcdir/$pkgname-$_brandingver"
-  rm -rf -- browser/branding/$pkgname
-  cp -aT -- $brandingdir/branding browser/branding/$pkgname
-  # patching
-  export QUILT_PATCHES=$brandingdir/patches
-  export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
-  export QUILT_DIFF_ARGS='--no-timestamps'
-  quilt push -av
+
+  ## [ARCH-SPECIFIC CONFIG] ##
+
+  case ${CARCH} in
+    armv7h)
+      sed -i '
+        /--enable-hardening/d
+        /--enable-optimize/d
+        /--enable-rust-simd/d
+        s|--with-wasi-sysroot=/usr/share/wasi-sysroot|--without-wasm-sandboxed-libraries|
+      ' ../mozconfig
+
+      cat >>../mozconfig <<END
+export CC=clang
+export CXX=clang++
+ac_add_options --disable-elf-hack
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=1641623
+ac_add_options --disable-av1
+ac_add_options --enable-optimize="-g0 -O2"
+mk_add_options MOZ_MAKE_FLAGS='-j1'
+END
+
+      # mozbuild.configure.options.InvalidOptionError: --disable-eme is not available in this configuration
+      # EME is disabled anyway in the built package, but better check if it exists for ARM each new release.
+      sed -i 's|ac_add_options --disable-eme||' ../mozconfig
+
+      echo "applying build-arm-libopus.patch"
+      patch -p1 -i ../build-arm-libopus.patch
+    ;;
+    i686)
+      # disable LTO and use gcc toolchain (clang has issues on IA32)
+      # disable SIMD (SSE2 for i686)
+      export MOZ_SOURCE_CHANGESET="DEVEDITION_${pkgver//./_}_RELEASE"
+      cat >>../mozconfig <<END
+ac_add_options --disable-linker=lld
+ac_add_options --enable-linker=bfd
+ac_add_options --disable-lto
+ac_add_options --disable-rust-simd
+export CC=gcc-10
+export CXX=g++-10
+export AR=gcc-ar-10
+export NM=gcc-nm-10
+export RANLIB=gcc-ranlib-10
+END
+
+      # readelf: Error: Unable to seek to 0x801db328 for section headers
+      echo "applying avoid-libxul-OOM-python-check.patch"
+      patch -p1 -i ../avoid-libxul-OOM-python-check.patch
+
+      # test failure in rust code (complaining about network functions) when PGO is used,
+      # see https://bugzilla.mozilla.org/show_bug.cgi?id=1565757
+      echo "applying rust-static-disable-network-test-on-static-libraries.patch"
+      patch -p1 -i ../rust-static-disable-network-test-on-static-libraries.patch
+
+      # FIXME: this patch is probably temporary - it comes from mozilla
+      #          https://bugzilla.mozilla.org/show_bug.cgi?id=1729459
+      #        /build/iceweasel/src/firefox-96.0.1/modules/fdlibm/src/math_private.h:34:21:
+      #          error: conflicting declaration ‘typedef __double_t double_t’
+      #        /usr/include/math.h:156:21: note: previous declaration as ‘typedef long double double_t’
+      echo "applying firefox-93.0_x86_math_private_20211110.patch"
+      patch -p1 -i ../firefox-93.0_x86_math_private_20211110.patch
+    ;;
+    x86_64)
+    ;;
+    *) echo "no [ARCH-SPECIFIC CONFIG] for arch: ${CARCH}" ; return 1 ;
+    ;;
+  esac
+
+
+  ## branding ##
+
+  echo "applying parabola branding"
+  local brandingsrcdir="${srcdir}"/${pkgname}-${_brandingver/-*}
+  local brandingdestdir=browser/branding/${pkgname}
+  rm -rf -- ${brandingdestdir}
+  cp -aT -- ${brandingsrcdir}/branding ${brandingdestdir}
+  cp "${brandingdestdir}"/iceweasel_logo.svg "${brandingdestdir}"/content/aboutlogins.svg
+  cp "${brandingdestdir}"/iceweasel_logo.svg "${brandingdestdir}"/content/about-logo.svg
+
+  # produce icons
+  for i in 16 22 24 32 48 64 128 192 256 384; do
+    rsvg-convert -w ${i} -h ${i} "${brandingsrcdir}"/branding/${pkgname}_icon.svg \
+                 -o "${brandingdestdir}"/default${i}.png
+  done
+
+  # custom new tab page
+  # FIXME: the newtab page (aka "Start Page") has changed significantly
+  #        the new upstream start page ('activity-streams') is an add-on now
+  #        it must be forked and customized externally, then copied into the browser tree
+  #        see: the branding-dev-build/ dir on the '68.0' branch of the branding git repo
+  #        some of the branding components above and commented out below may no longer be used
+  #        the following section aims to restore something similar
+  #          to the previous parabola-branded "start page"
+  #        once it is working well, all of these comments should be removed
+  #          and any unused branding components may be deleted from the branding package
   # Put "Start Page" branding images in the source code
   #install -m644 -t browser/base/content/abouthome -- \
-  #  "$brandingdir/branding"/{drm-free,gnu_headshadow,parabola-banner}.png
+  #  "${brandingsrcdir}/branding"/{drm-free,gnu_headshadow,parabola-banner}.png
   #install -m644 -t browser/extensions/onboarding/content/img -- \
-  #   "$brandingdir/branding/watermark.svg"
-  # produce icons
-  for i in 16 22 24 32 48 64 128 192 256 384; do
-    rsvg-convert -w $i -h $i "$brandingdir/branding/${pkgname}_icon.svg" \
-      -o "browser/branding/iceweasel/default$i.png"
+  #   "${brandingsrcdir}/branding/watermark.svg"
+
+  # process default Top Sites and their icons
+  local tippytopdir=browser/components/newtab/data/content/tippytop
+  find ${tippytopdir} -type f      \
+       -not -name 'wikipedia-org*' \
+       -not -name 'top_sites.json' \
+       -exec rm -v {} \;
+  for image in "${brandingsrcdir}"/tippytop/*.svg; do
+    local outname=$(basename -s .svg "${image}")
+    local size=$(identify -format '%wx%h' ${tippytopdir}/images/wikipedia-org@2x.png)
+    local background=$( [[ "${outname}" == 'gnu' ]] && echo 'white' || echo 'none' )
+    magick -density 300 ${image}                           \
+           -gravity center -resize ${size} -extent ${size} \
+           "${tippytopdir}/images/${outname}@2x.png"
+
+    size=256x256
+    magick -density 300 -background ${background} ${image} \
+           -gravity center -resize ${size} -extent ${size} \
+           -define icon:auto-resize=64,48,32,16            \
+           "${tippytopdir}/favicons/${outname}.ico"
   done
 
-  # Remove remaining non-free bits
-  patch -Np1 -i "$srcdir/libre.patch"
-
-  #sed -i 's/Adobe Flash/SWF Player/g' -- \
-  #  browser/base/content/pageinfo/permissions.js \
-  #  browser/base/content/browser-plugins.js
-  #sed -e '/"displayName": "Flash"/     s/Flash/SWF Player/'     \
-  #    -e '/"displayName": "Shockwave"/ s/Shockwave/DCR Player/' \
-  #    -e '/"displayName": "QuickTime"/ s/QuickTime/MOV Player/' \
-  #    -e '/installLinux/ s/true/false/' \
-  #    -i -- browser/base/content/browser-plugins.js
-  # re-use 'abouthome' page for 'newtab' page
-  #install -d browser/base/content/newtab
-  #cat browser/base/content/abouthome/aboutHome.xhtml > browser/base/content/newtab/newTab.xhtml
-
-  # Load our searchplugins
-  patch -Np1 -i "$srcdir/libre-searchengines.patch"
-  rm -rvf -- browser/components/search/searchplugins/{*.xml,images/}
-  cp -av -- /usr/lib/mozilla/searchplugins/* browser/components/search/searchplugins/
+  # apply branding patches
+  export QUILT_PATCHES="${brandingsrcdir}"/patches
+  export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
+  export QUILT_DIFF_ARGS='--no-timestamps'
+  export QUILT_PC="${srcdir}"/.pc
+  quilt push -av
+
+
+  ## searchengines ##
+
+  pushd browser/components/search/extensions
+
+  # Patch search-engines configs
+  sed -i 's|https://duckduckgo.com/|https://html.duckduckgo.com/html/|' ddg/manifest.json
+
+  # Removing URL parameters that let DuckDuckGo know the place in UI
+  # the search was ran from (like address bar, context menu, etc.)
+  local jq_cmd='del(.chrome_settings_overrides.search_provider.params)'
+  jq "${jq_cmd}" ddg/manifest.json > manifest.json.tmp
+  ! diff manifest.json.tmp ddg/manifest.json > /dev/null
+  mv manifest.json.tmp ddg/manifest.json
+
+  # Delete unused search engine configs
+  find -mindepth 1 -maxdepth 1 \
+       -not -name ddg \
+       -not -name wikipedia \
+       -exec rm -frv {} \;
+
+  popd
+
+
+  ## libre patching ##
+
+  # Upstream tarball can contain some ignored cruft,
+  # including binaries (for example, python3).
+  echo 'Removing files specified in .gitignore...'
+  git init && git clean -dfX \
+    -e '!ipc/chromium/src/third_party/libevent/evconfig-private.h' \
+    -e '!toolkit/crashreporter/google-breakpad/src/third_party/lss/' \
+    -e '!third_party/python/**/*.egg-info/'
+  rm -rf .git
+
+  # Remove test-related networking dumps, because they contain code from
+  # some Amazon webpage with no clear licensing, thus nonfree.
+  # Also they interfere with checking of Remote Settings patching done later,
+  # because communication with RS server has been captured in them too.
+  rm python/mozperftest/mozperftest/system/example.zip
+  rm testing/mozbase/mozproxy/tests/files/mitm5-linux-firefox-amazon.zip
+
+  # Disable/neutralize Remote Settings (as best we can)
+  echo "applying 9001-FSDG-always-sync-remote-settings-with-local-dump.patch"
+  patch -Np1 --no-backup-if-mismatch -i ../9001-FSDG-always-sync-remote-settings-with-local-dump.patch
+
+  # Verify Remote Settings patching
+  local settings_server='firefox.settings.services.mozilla.com'
+  ! grep -qr $settings_server || { echo 'Remote Settings patching needs rework'; return 1; }
 
   # Disable various components at the source level
-  sed -i 's/;1/;0/' toolkit/components/telemetry/TelemetryStartup.manifest
+  sed -i 's/;1/;0/' toolkit/components/telemetry/components.conf
+  sed -Ei 's/((MOZ_SERVICES_HEALTHREPORT|MOZ_NORMANDY).+)True/\1False/' browser/moz.configure
   #sed -i 's/;1/;0/' browser/experiments/Experiments.manifest
   #sed -i '/pocket/d'          browser/extensions/moz.build
   #sed -i '/activity-stream/d' browser/extensions/moz.build
+
+  python ../process-json-files.py "${srcdir}"/firefox-${pkgver} "${brandingsrcdir}"
+
+  echo "applying 9002-FSDG-preference-defaults.patch"
+  patch -Np1 --no-backup-if-mismatch -i "${srcdir}"/9002-FSDG-preference-defaults.patch
+
+  # Remove remaining non-free bits
+  echo "applying 9003-FSDG-misc.patch"
+  patch -Np1 --no-backup-if-mismatch -i "${srcdir}"/9003-FSDG-misc.patch
 }
 
 build() {
-  cd mozilla-unified
+  cd firefox-$pkgver
+
+  ## build env ##
 
-  export MOZ_SOURCE_REPO="$_repo"
   export MOZ_NOSPAM=1
   export MOZBUILD_STATE_PATH="$srcdir/mozbuild"
-
-  if [[ $CARCH = i686 ]]; then
-    export RUSTFLAGS+=" -Cdebuginfo=0 -Clto=off" 
-    export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
-    echo "Fixing x32 memory limits"
-  fi #Fix Memory issue
+  export MACH_USE_SYSTEM_PYTHON=1
 
   # LTO needs more open files
   ulimit -n 4096
 
+  # clang-{9,10,11} -> error: unknown argument: '-fvar-tracking-assignments'
+  CFLAGS="${CFLAGS/-fvar-tracking-assignments/}"
+  CXXFLAGS="${CXXFLAGS/-fvar-tracking-assignments/}"
+
+
+  ## [ARCH-SPECIFIC BUILD ENV] ##
+
+  case ${CARCH} in
+    armv7h)
+      export MOZ_DEBUG_FLAGS=" "
+      export CFLAGS+=" -g0"
+      export CXXFLAGS+=" -g0"
+      export LDFLAGS+=" -Wl,--no-keep-memory"
+      export RUSTFLAGS="-Cdebuginfo=0"
+    ;;
+    i686)
+      # -fno-plt with cross-LTO -> LLVM ERROR: Function Import: link error
+      CFLAGS="${CFLAGS/-fno-plt/}"
+      CXXFLAGS="${CXXFLAGS/-fno-plt/}"
+
+      # disable LTO (clang has issues on IA32)
+      export RUSTFLAGS+=" -Cdebuginfo=0 -Clto=off"
+      export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
+
+      # libvpx has some hard-coded compiler flags for MMX, SSE, SSE2, use the correct one
+      # per CARCH (75.0 uses an intrisic _mm_empty now, which required the corresponding
+      # architecture flag to be preset - before it was merely embedding some assembly
+      # code with EMMS
+      export CFLAGS+=" -mmmx"
+      export CXXFLAGS+=" -mmmx"
+    ;;
+    x86_64)
+    ;;
+    *) echo "no [ARCH-SPECIFIC BUILD ENV] for arch: ${CARCH}" ; return 1 ;
+    ;;
+  esac
+  export CFLAGS
+  export CXXFLAGS
+
+
+  ## [ARCH-SPECIFIC BUILD CONFIG] ##
+
+  case ${CARCH} in
+    armv7h)
+    ;;
+    i686)
+      # avoid excessive debug symbols in rust leading to out-of-memory situations
+      sed -i "s/debug_info = '\''2'\''/debug_info = '\''0'\''/" build/moz.configure/toolchain.configure
+    ;;
+    x86_64)
+    ;;
+    *) echo "no [ARCH-SPECIFIC BUILD CONFIG] for arch: ${CARCH}" ; return 1 ;
+    ;;
+  esac
+
+
+  ## PGO build ##
+
+  if (( $_should_skip_pgo ))
+  then
+    # skipping "3-tier PGO" "instrumented browser", to avoid OOM problems;
+    # so we have the final .mozconfig now
+    cp ../mozconfig .mozconfig
+  else
+    # Do 3-tier PGO
+    echo "Building instrumented browser..."
+    cat >.mozconfig ../mozconfig - <<END
+ac_add_options --enable-profile-generate=cross
+END
+    _check_build_config
+    ./mach build
+
+    echo "Profiling instrumented browser..."
+    ./mach package
+    LLVM_PROFDATA=llvm-profdata \
+      JARLOG_FILE="$PWD/jarlog" \
+      xvfb-run -s "-screen 0 1920x1080x24 -nolisten local" \
+      ./mach python build/pgo/profileserver.py
+
+    if [[ ! -s merged.profdata ]]; then
+      echo "No profile data produced."
+      return 1
+    fi
+
+    if [[ ! -s jarlog ]]; then
+      echo "No jar log produced."
+      return 1
+    fi
+
+    echo "Removing instrumented browser..."
+    ./mach clobber
+
+    cat >.mozconfig ../mozconfig - <<END
+ac_add_options --enable-lto=cross
+ac_add_options --enable-profile-use=cross
+ac_add_options --with-pgo-profile-path=${PWD@Q}/merged.profdata
+ac_add_options --with-pgo-jarlog=${PWD@Q}/jarlog
+END
+  fi # $_should_skip_pgo
+
+
+  ## sanity checks ##
+
+  # each of the [ARCH-SPECIFIC BUILD CONFIG] branches above should have created .mozconfig
+  [[ ! -f .mozconfig ]] && echo ".mozconfig file not found in source root" && return 1
+  _check_build_config
+
+
+  ## main build ##
+
+  echo "Building optimized browser..."
   ./mach build
-  ./mach buildsymbols
 }
 
 package() {
-  local _icu_ver
-  _icu_ver=$(pacman -S --print-format='%v' icu)
-  depends+=("icu>=${_icu_ver}" "icu<$((${_icu_ver%%.*} + 1))")
-
-  cd mozilla-unified
+  cd firefox-$pkgver
   DESTDIR="$pkgdir" ./mach install
-  find . -name '*crashreporter-symbols-full.zip' -exec cp -fvt "$startdir" {} +
 
-  _vendorjs="$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js"
-  install -Dm644 /dev/stdin "$_vendorjs" <<END
+  local vendorjs="$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js"
+  install -Dvm644 /dev/stdin "$vendorjs" <<END
 // Use LANG environment variable to choose locale
 pref("intl.locale.requested", "");
 
@@ -227,326 +527,19 @@ pref("spellchecker.dictionary_path", "/usr/share/hunspell");
 // Disable default browser checking.
 pref("browser.shell.checkDefaultBrowser", false);
 
-// Don't disable our bundled extensions in the application directory
+// Don't disable extensions in the application directory
 pref("extensions.autoDisableScopes", 11);
-pref("extensions.shownSelectionUI", true);
 END
 
   # Parabola additions to vendor.js
-  #
-  # TODO: Go through this and figure out what's nescessary, remove
-  # most of it.  This is mostly cargo-cult BS.  For example, disabling
-  # all the EME stuff... that's already off because of `--disable-eme`
-  # in `.mozconfig`.  Some of these settings no longer exist.  Some of
-  # these settings don't do anything on GNU/Linux.
-  #
-  # However, they don't seem to be causing any of the critical issues.
-  local _shortver=$(cut -d. -f1,2 <<<"$pkgver")
-  cat >> "$_vendorjs" <<END
-// Disable "alt" as a shortcut key to open full menu bar. Conflicts with "alt" as a modifier
-pref("ui.key.menuAccessKeyFocuses", false);
-
-// Disable the GeoLocation API for content
-pref("geo.enabled", false);
-
-// Make sure that the request URL of the GeoLocation backend is empty
-pref("geo.wifi.uri", "");
-
-// Disable Freedom Violating DRM Feature
-pref("browser.eme.ui.enabled", false);
-// EME
-pref("media.eme.enabled", false);
-pref("media.eme.apiVisible", false);
-
-// Google Widevine DRM
-// https://blog.mozilla.org/futurereleases/2016/04/08/mozilla-to-test-widevine-cdm-in-firefox-nightly/
-// https://wiki.mozilla.org/QA/Widevine_CDM
-// https://bugzilla.mozilla.org/show_bug.cgi?id=1288580
-pref("media.gmp-widevinecdm.visible", false);
-pref("media.gmp-widevinecdm.enabled", false);
-pref("media.gmp-widevinecdm.autoupdate", false);
-
-// Default to classic view for about:newtab
-pref("browser.newtabpage.enhanced", false);
-pref("browser.newtabpage.activity-stream.enabled", false);
-
-// Poodle attack
-pref("security.tls.version.min", 1);
-
-// Don't call home for blacklisting
-pref("extensions.blocklist.enabled", false);
-
-// Disable plugin installer
-pref("plugins.hide_infobar_for_missing_plugin", true);
-pref("plugins.hide_infobar_for_outdated_plugin", true);
-pref("plugins.notifyMissingFlash", false);
-
-//https://developer.mozilla.org/en-US/docs/Web/API/MediaSource
-//pref("media.mediasource.enabled",true);
-
-// Speeding it up
-pref("network.http.pipelining", true);
-pref("network.http.proxy.pipelining", true);
-pref("network.http.pipelining.maxrequests", 10);
-pref("nglayout.initialpaint.delay", 0);
-
-// Disable third party cookies
-pref("network.cookie.cookieBehavior", 1);
-
-// Prevent EULA dialog to popup on first run
-pref("browser.EULA.override", true);
-
-// Set useragent to Firefox compatible
-//pref("general.useragent.compatMode.firefox", true);
-// Spoof the useragent to a generic one
-pref("general.useragent.compatMode.firefox", true);
-// Spoof the useragent to a generic one
-pref("general.useragent.override", "Mozilla/5.0 (Windows NT 6.1; rv:$_shortver) Gecko/20100101 Firefox/$_shortver");
-pref("general.appname.override", "Netscape");
-pref("general.appversion.override", "$_shortver");
-pref("general.buildID.override", "Gecko/20100101");
-pref("general.oscpu.override", "Windows NT 6.1");
-pref("general.platform.override", "Win32");
-
-// Privacy & Freedom Issues
-// https://webdevelopmentaid.wordpress.com/2013/10/21/customize-privacy-settings-in-mozilla-firefox-part-1-aboutconfig/
-// https://panopticlick.eff.org
-// http://ip-check.info
-// http://browserspy.dk
-// https://wiki.mozilla.org/Fingerprinting
-// http://www.browserleaks.com
-// http://fingerprint.pet-portal.eu
-pref("privacy.donottrackheader.enabled", true);
-pref("privacy.donottrackheader.value", 1);
-pref("dom.ipc.plugins.flash.subprocess.crashreporter.enabled", false);
-
-// CIS 2.1.1 Disable Auto Update / Balrog
-pref("app.update.auto", false);
-pref("app.update.checkInstallTime", false);
-pref("app.update.enabled", false);
-pref("app.update.staging.enabled", false);
-pref("app.update.url", "about:blank");
-pref("media.gmp-manager.certs.1.commonName", "");
-pref("media.gmp-manager.certs.2.commonName", "");
-// Disable Gecko media plugins: https://wiki.mozilla.org/GeckoMediaPlugins
-pref("media.gmp-manager.url", "http://127.0.0.1/");
-pref("media.gmp-manager.url.override", "data:text/plain,");
-pref("media.gmp-provider.enabled", false);
-// Don't install openh264 codec
-pref("media.gmp-gmpopenh264.enabled", false);
-pref("media.gmp-eme-adobe.enabled", false);
-pref("media.peerconnection.video.h264_enabled", false);
-
-// CIS 2.3.4 Block Reported Web Forgeries
-// http://kb.mozillazine.org/Browser.safebrowsing.enabled
-// http://kb.mozillazine.org/Safe_browsing
-// https://support.mozilla.org/en-US/kb/how-does-phishing-and-malware-protection-work
-// http://forums.mozillazine.org/viewtopic.php?f=39&t=2711237&p=12896849#p12896849
-pref("browser.safebrowsing.enabled", false);
-
-// CIS 2.3.5 Block Reported Attack Sites
-// http://kb.mozillazine.org/Browser.safebrowsing.malware.enabled
-pref("browser.safebrowsing.malware.enabled", false);
-
-// Disable safe browsing remote lookups for downloaded files.
-// This leaks information to google.
-// https://www.mozilla.org/en-US/firefox/39.0/releasenotes/
-// https://wiki.mozilla.org/Security/Application_Reputation
-pref("browser.safebrowsing.downloads.remote.enabled", false);
-pref("browser.safebrowsing.appRepURL", "about:blank");
-pref("browser.safebrowsing.provider.mozilla.gethashURL", "about:blank");
-pref("browser.safebrowsing.provider.mozilla.updateURL", "about:blank");
-pref("browser.safebrowsing.downloads.remote.block_dangerous", false);
-pref("browser.safebrowsing.downloads.remote.block_dangerous_host", false);
-pref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false);
-pref("browser.safebrowsing.downloads.remote.block_uncommon", false);
-pref("browser.safebrowsing.downloads.remote.enabled", false);
-pref("browser.safebrowsing.downloads.remote.url", "about:blank");
-pref("browser.safebrowsing.provider.google.gethashURL", "about:blank");
-pref("browser.safebrowsing.provider.google.updateURL", "about:blank");
-pref("browser.safebrowsing.provider.google.lists", "about:blank");
-
-// https://bugzilla.mozilla.org/show_bug.cgi?id=1025965
-pref("browser.safebrowsing.phishing.enabled", false);
-pref("browser.safebrowsing.provider.google4.lists", "about:blank");
-pref("browser.safebrowsing.provider.google4.updateURL", "about:blank");
-pref("browser.safebrowsing.provider.google4.gethashURL", "about:blank");
-pref("browser.safebrowsing.provider.google4.reportURL", "about:blank");
-pref("browser.safebrowsing.provider.mozilla.lists", "about:blank");
-
-// Disable Microsoft Family Safety MiTM support
-// https://bugzilla.mozilla.org/show_bug.cgi?id=1239166
-// https://wiki.mozilla.org/SecurityEngineering/Untrusted_Certificates_in_Windows_Child_Mode
-// https://hg.mozilla.org/releases/mozilla-release/file/ddb37c386bb2ffa180117b4d30ca3b41a8af233c/security/manager/ssl/nsNSSComponent.cpp#l782
-pref("security.family_safety.mode", 0);
-// https://bugzilla.mozilla.org/show_bug.cgi?id=1265113
-// https://hg.mozilla.org/releases/mozilla-release/rev/d9659c22b3c5
-// https://bugzilla.mozilla.org/show_bug.cgi?id=1298883
-pref("security.enterprise_roots.enabled", false);
-
-//pref("services.sync.privacyURL", "https://www.gnu.org/software/gnuzilla/");
-pref("social.enabled", false);
-pref("social.remote-install.enabled", false);
-pref("datareporting.healthreport.uploadEnabled", false);
-pref("datareporting.healthreport.about.reportUrl", "127.0.0.1");
-pref("datareporting.healthreport.documentServerURI", "127.0.0.1");
-pref("healthreport.uploadEnabled", false);
-pref("social.toast-notifications.enabled", false);
-pref("datareporting.policy.dataSubmissionEnabled", false);
-pref("datareporting.healthreport.service.enabled", false);
-pref("browser.slowStartup.notificationDisabled", true);
-pref("network.http.sendRefererHeader", 2);
-//pref("network.http.referer.spoofSource", true);
-//http://grack.com/blog/2010/01/06/3rd-party-cookies-dom-storage-and-privacy/
-//pref("dom.storage.enabled", false);
-pref("dom.event.clipboardevents.enabled",false);
-pref("network.prefetch-next", false);
-pref("network.dns.disablePrefetch", true);
-pref("network.http.sendSecureXSiteReferrer", false);
-pref("toolkit.telemetry.archive.enabled", false);
-pref("toolkit.telemetry.bhrPing.enabled", false);
-pref("toolkit.telemetry.enabled", false);
-pref("toolkit.telemetry.unified", false);
-pref("toolkit.telemetry.newProfilePing.enabled", false);
-pref("toolkit.telemetry.firstShutdownPing.enabled", false);
-pref("toolkit.telemetry.server", "127.0.0.1");
-pref("app.shield.optoutstudies.enabled", false);
-pref("experiments.enabled", false);
-pref("experiments.manifest.uri", "127.0.0.1");
-pref("extensions.pocket.enabled", false);
-pref("extensions.pocket.api", "127.0.0.1");
-// Do not tell what plugins do we have enabled: https://mail.mozilla.org/pipermail/firefox-dev/2013-November/001186.html
-pref("plugins.enumerable_names", "");
-pref("plugin.state.flash", 0);
-// Do not autoupdate search engines
-pref("browser.search.update", false);
-// Warn when the page tries to redirect or refresh
-//pref("accessibility.blockautorefresh", true);
-pref("dom.battery.enabled", false);
-pref("device.sensors.enabled", false);
-pref("camera.control.face_detection.enabled", false);
-pref("camera.control.autofocus_moving_callback.enabled", false);
-pref("network.http.speculative-parallel-limit", 0);
-// No search suggestions
-pref("browser.urlbar.userMadeSearchSuggestionsChoice", true);
-pref("browser.search.suggest.enabled", false);
-
-// Crypto hardening
-// https://gist.github.com/haasn/69e19fc2fe0e25f3cff5
-// General settings
-//pref("security.tls.unrestricted_rc4_fallback", false);
-//pref("security.tls.insecure_fallback_hosts.use_static_list", false);
-//pref("security.tls.version.min", 1);
-//pref("security.ssl.require_safe_negotiation", true);
-//pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
-//pref("security.ssl3.rsa_seed_sha", true);
-//pref("security.OCSP.enabled", 1);
-//pref("security.OCSP.require", true);
-
-
-// WebRTC
-pref("media.peerconnection.enabled", false);
-pref("media.peerconnection.ice.default_address_only", true);
-
-pref("font.default.x-western", "sans-serif");
-
-// Preferences for the Get Add-ons panel and search engines
-pref("extensions.webservice.discoverURL", "https://directory.fsf.org/wiki/GNU_IceCat");
-pref("extensions.getAddons.search.url", "https://directory.fsf.org/wiki/GNU_IceCat");
-pref("browser.search.searchEnginesURL", "https://directory.fsf.org/wiki/GNU_IceCat");
-
-// Mobile
-pref("privacy.announcements.enabled", false);
-pref("browser.snippets.enabled", false);
-pref("browser.snippets.syncPromo.enabled", false);
-pref("identity.mobilepromo.android", "https://f-droid.org/repository/browse/?fdid=org.gnu.icecat&");
-pref("browser.snippets.geoUrl", "http://127.0.0.1/");
-pref("browser.snippets.updateUrl", "http://127.0.0.1/");
-pref("browser.snippets.statsUrl", "http://127.0.0.1/");
-pref("datareporting.policy.firstRunTime", 0);
-pref("datareporting.policy.dataSubmissionPolicyVersion", 2);
-pref("browser.webapps.checkForUpdates", 0);
-pref("browser.webapps.updateCheckUrl", "http://127.0.0.1/");
-pref("app.faqURL", "http://libreplanet.org/wiki/Group:IceCat/FAQ");
-
-// PFS url
-pref("pfs.datasource.url", "http://gnuzilla.gnu.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%");
-pref("pfs.filehint.url", "http://gnuzilla.gnu.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%");
-
-// Geolocation depends on third party services
-pref("geo.enabled", false);
-pref("geo.wifi.uri", "");
-
-// Disable heartbeat
-pref("browser.selfsupport.url", "");
-
-// Disable Link to FireFox Marketplace, currently loaded with non-free "apps"
-pref("browser.apps.URL", "");
-
-// Use old style preferences, that allow javascript to be disabled
-pref("browser.preferences.inContent",false);
-
-// Don't download ads for the newtab page
-pref("browser.newtabpage.directory.source", "");
-pref("browser.newtabpage.directory.ping", "");
-pref("browser.newtabpage.introShown", true);
-
-// Disable home snippets
-pref("browser.aboutHomeSnippets.updateUrl", "data:text/html");
-
-// Disable hardware acceleration and WebGL
-//pref("layers.acceleration.disabled", false);
-pref("webgl.disabled", false);
-
-// Disable SSDP
-pref("browser.casting.enabled", false);
-
-// Disable directory service
-pref("social.directories", "");
-pref("social.whitelist", "");
-pref("social.shareDirectory", "");
-
-// Disable Pocket integration
-pref("browser.pocket.api", "about:blank");
-pref("browser.pocket.enabled", false);
-pref("browser.pocket.enabledLocales", "about:blank");
-pref("browser.pocket.oAuthConsumerKey", "about:blank");
-pref("browser.pocket.site", "about:blank");
-pref("browser.pocket.useLocaleList", false);
-pref("extensions.pocket.enabled", false);
-
-// Do not require xpi extensions to be signed by Mozilla
-pref("xpinstall.signatures.required", false);
-
-// Disable File and Directory Entries API (Imported from Edge/Chromium)
-// https://developer.mozilla.org/en-US/Firefox/Releases/50#Files_and_directories
-// https://developer.mozilla.org/en-US/docs/Web/API/File_and_Directory_Entries_API
-// https://developer.mozilla.org/en-US/docs/Web/API/File_and_Directory_Entries_API/Introduction
-// https://developer.mozilla.org/en-US/docs/Web/API/File_and_Directory_Entries_API/Firefox_support
-// https://bugzilla.mozilla.org/show_bug.cgi?id=1265767
-pref("dom.webkitBlink.filesystem.enabled", false);
-// https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory
-// https://bugzilla.mozilla.org/show_bug.cgi?id=1258489
-// https://hg.mozilla.org/releases/mozilla-release/rev/133af19777be
-pref("dom.webkitBlink.dirPicker.enabled", false);
-
-// Directory Upload API, webkitdirectory
-// https://bugzilla.mozilla.org/show_bug.cgi?id=1188880
-// https://bugzilla.mozilla.org/show_bug.cgi?id=907707
-// https://wicg.github.io/directory-upload/proposal.html
-pref("dom.input.dirpicker", false);
-
-// fix alsa sound sandbox issue for iceweasel-58
-// https://labs.parabola.nu/issues/1628
-pref("security.sandbox.content.syscall_whitelist", "16");
-END
+  cat "${srcdir}"/vendor.js.in >> "${vendorjs}"
 
-  _distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini"
-  install -Dm644 /dev/stdin "$_distini" <<END
+  local distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini"
+  install -Dvm644 /dev/stdin "$distini" <<END
 [Global]
 id=parabola
 version=1.0
-about=Parabola Iceweasel for Parabola GNU/Linux-libre
+about=Iceweasel for Parabola GNU/Linux-libre
 
 [Preferences]
 app.distributor=parabola
@@ -554,24 +547,47 @@ app.distributor.channel=$pkgname
 app.partner.parabola=parabola
 END
 
+  local i
   for i in 16 22 24 32 48 64 128 192 256 384; do
-    install -Dm644 browser/branding/$pkgname/default$i.png \
+    install -Dvm644 browser/branding/$pkgname/default$i.png \
       "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png"
   done
-  install -Dm644 "browser/branding/$pkgname/${pkgname}_icon.svg" \
+  install -Dvm644 "browser/branding/$pkgname/${pkgname}_icon.svg" \
     "$pkgdir/usr/share/icons/hicolor/scalable/apps/$pkgname.svg"
 
-  install -Dm644 ../$pkgname.desktop \
+  install -Dvm644 ../$pkgname.desktop \
     "$pkgdir/usr/share/applications/$pkgname.desktop"
 
   # Install a wrapper to avoid confusion about binary path
-  install -Dm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END
+  install -Dvm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END
 #!/bin/sh
 exec /usr/lib/$pkgname/$pkgname "\$@"
 END
 
+
+  ## [ARCH-SPECIFIC INSTALL] ##
+
+  case ${CARCH} in
+    armv7h)
+    ;;
+    i686)
+      # libxul.so cannot find it's libraries
+      install -dm 755 "${pkgdir}"/etc/ld.so.conf.d
+      echo "/usr/lib/${pkgname}" > "${pkgdir}"/etc/ld.so.conf.d/${pkgname}.conf
+    ;;
+    x86_64)
+    ;;
+    *) echo "no [ARCH-SPECIFIC INSTALL] for arch: ${CARCH}" ; return 1 ;
+    ;;
+  esac
+
   # Replace duplicate binary with wrapper
   # https://bugzilla.mozilla.org/show_bug.cgi?id=658850
-  ln -srf "$pkgdir/usr/bin/$pkgname" \
-    "$pkgdir/usr/lib/$pkgname/$pkgname-bin"
+  ln -srfv "$pkgdir/usr/bin/$pkgname" "$pkgdir/usr/lib/$pkgname/$pkgname-bin"
+
+  # Use system certificates
+  local nssckbi="$pkgdir/usr/lib/$pkgname/libnssckbi.so"
+  if [[ -e $nssckbi ]]; then
+    ln -srfv "$pkgdir/usr/lib/libnssckbi.so" "$nssckbi"
+  fi
 }
diff --git a/libre-testing/iceweasel/iceweasel.desktop b/libre-testing/iceweasel/iceweasel.desktop
index ab230ba..f47d7a4 100644
--- a/libre-testing/iceweasel/iceweasel.desktop
+++ b/libre-testing/iceweasel/iceweasel.desktop
@@ -2,7 +2,7 @@
 Version=1.0
 Name=Iceweasel
 GenericName=Web Browser
-GenericName[ar]=متصفح وِب
+GenericName[ar]=متصفح ويب
 GenericName[ast]=Restolador Web
 GenericName[bn]=ওয়েব ব্রাউজার
 GenericName[ca]=Navegador web
@@ -19,7 +19,7 @@ GenericName[gl]=Navegador Web
 GenericName[he]=דפדפן אינטרנט
 GenericName[hr]=Web preglednik
 GenericName[hu]=Webböngésző
-GenericName[it]=Browser Web
+GenericName[it]=Browser web
 GenericName[ja]=ウェブ・ブラウザ
 GenericName[ko]=웹 브라우저
 GenericName[ku]=Geroka torê
@@ -42,8 +42,8 @@ GenericName[uk]=Веб-браузер
 GenericName[vi]=Trình duyệt Web
 GenericName[zh_CN]=网络浏览器
 GenericName[zh_TW]=網路瀏覽器
-Comment=Browse the Web
-Comment[ar]=تصفح الوِب
+Comment=Browse the World Wide Web
+Comment[ar]=تصفح الشبكة العنكبوتية العالمية
 Comment[ast]=Restola pela Rede
 Comment[bn]=ইন্টারনেট ব্রাউজ করুন
 Comment[ca]=Navegueu per el web
@@ -83,15 +83,44 @@ Comment[uk]=Перегляд сторінок Інтернету
 Comment[vi]=Để duyệt các trang web
 Comment[zh_CN]=浏览互联网
 Comment[zh_TW]=瀏覽網際網路
+Keywords=Internet;WWW;Browser;Web;Explorer
+Keywords[ar]=انترنت;إنترنت;متصفح;ويب;وب
+Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador
+Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer
+Keywords[cs]=Internet;WWW;Prohlížeč;Web;Explorer
+Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet
+Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen
+Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;Ιντερνετ
+Keywords[es]=Explorador;Internet;WWW
+Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa
+Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur
+Keywords[he]=דפדפן;אינטרנט;רשת;אתרים;אתר;פיירפוקס;מוזילה;
+Keywords[hr]=Internet;WWW;preglednik;Web
+Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer
+Keywords[it]=Internet;WWW;Browser;Web;Navigatore
+Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk
+Keywords[ja]=Internet;WWW;Web;インターネット;ブラウザ;ウェブ;エクスプローラ
+Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside
+Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online
+Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador
+Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador
+Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб
+Keywords[sk]=Internet;WWW;Prehliadač;Web;Explorer
+Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet
+Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara
+Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглядач;оглядач;браузер;веб;перегляд
+Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web
+Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;互联网;网站;
+Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;瀏覽器;上網;網頁;火狐
 Exec=/usr/lib/iceweasel/iceweasel %u
 Icon=iceweasel
 Terminal=false
+X-MultipleArgs=false
 Type=Application
-MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
+MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;application/x-xpinstall;application/pdf;application/json;
 StartupNotify=true
-StartupWMClass=Iceweasel
+StartupWMClass=iceweasel
 Categories=Network;WebBrowser;
-Keywords=web;browser;internet;
 Actions=new-window;new-private-window;
 
 [Desktop Action new-window]
@@ -309,3 +338,4 @@ Name[xh]=Ifestile yangasese entsha
 Name[zh_CN]=新建隐私浏览窗口
 Name[zh_TW]=新增隱私視窗
 Exec=/usr/lib/iceweasel/iceweasel --private-window %u
+

From ee8cc8bef52ba4f4256fe18e4994da670e830744 Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Mar 26 2022 09:57:45 +0000
Subject: [PATCH 7/28] [iceweasel]: tweak for i686


---

diff --git a/libre/iceweasel/PKGBUILD b/libre/iceweasel/PKGBUILD
index 006579d..cf74fea 100644
--- a/libre/iceweasel/PKGBUILD
+++ b/libre/iceweasel/PKGBUILD
@@ -63,8 +63,9 @@ makedepends=(unzip zip diffutils yasm mesa imake inetutils xorg-server-xvfb
              wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi)
 makedepends+=(quilt libxslt imagemagick git jq python-jsonschema)
 makedepends+=(libvpx=1.11.0-1)
-makedepends_i686=(gcc10)
 [[ "${CARCH}" == i686 ]] && makedepends=( ${makedepends[*]/jack/jack2} )
+[[ "${CARCH}" == i686 ]] && makedepends=( ${makedepends[*]/llvm/llvm12} )
+makedepends_i686=(gcc10) # cannot build i686 today - rust is unusable
 makedepends_i686+=(wasi-compiler-rt=12.0.1 wasi-libc++=12.0.1 wasi-libc++abi=12.0.1) # wasi-libc=???)
 optdepends=('networkmanager: Location detection via available WiFi networks'
             'libnotify: Notification integration'

From 9d0cd632a5e27a5e04194ada36e2a2d458a702c8 Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Mar 26 2022 09:57:45 +0000
Subject: [PATCH 8/28] [iceweasel]: branding (#3196)


---

diff --git a/libre/iceweasel/PKGBUILD b/libre/iceweasel/PKGBUILD
index cf74fea..e123f66 100644
--- a/libre/iceweasel/PKGBUILD
+++ b/libre/iceweasel/PKGBUILD
@@ -30,27 +30,26 @@
 #  - Disable Normandy that let Mozilla push messages with recommendations
 #    of nonfree software
 #  - Make Remote Settings work completely offline using local data
-#  - Rebrand to Iceweasel, per the mozilla trademark policy,
-#    due to these FSDG changes
 #
 # technical:
 #  - build i686 with GCC instead of clang
 #  - disable rust-SIMD, LTO, PGO, and skip profiling build for armv7h and i686
 #  - allow skipping profiling build for x86_64 (_x86_64_skip_pgo)
 #  - prefer as many system libs as possible, over their vendored couterparts
-# 
+#  - Rebrand to Iceweasel, per the mozilla trademark policy, due to the FSDG changes
+#
 # privacy:
 #  - Remove Google API keys and usage
-#  - Disable Mozilla telemetry and crash reporting (good manners
-#    because of all of the other patching we're doing)
+#  - Disable Mozilla telemetry and crash reporting
+#    (good manners because of all of the other patching we're doing)
 
 
 pkgname=iceweasel
 epoch=1
 pkgver=97.0.2
 pkgrel=1
-pkgrel+=.parabola4
-_brandingver=95.0-1
+pkgrel+=.parabola5
+_brandingver=97.0-1 # unreleased WIP
 pkgdesc="Standalone web browser derived from Mozilla Firefox"
 arch=(x86_64)
 arch+=(armv7h i686)
@@ -92,7 +91,7 @@ sha256sums=('c9f127741beabde78b021dc95b1740259d01677d461400682cb30e072126f075'
             'SKIP'
             '8de6c0ecc70d2763936be6df4b91a3d2e806765bf510f987d6f2ffa2377c3f01'
             '9cdc2602661717712092d28bb494e5b48e518cb930898aca85eaf21f91f7ef58')
-sha256sums+=('d1b9d98cea5356df97fc5c221830de1ced8f826cb39fac9427c407e3eae54c02'
+sha256sums+=('f6013003a6bac275fc27d1c10d1f38a033fe888a4dc64a6ad50522de41aaa70b'
              'SKIP'
              'a4e3c3869085cb282cb5a0fcb64e816c0415f25d4792a62c4f1d599d3111b23c'
              'cb3079a0dc30321183bf8e112532c6f2aad045f68103f8d422c9691137aa770e'
@@ -111,7 +110,7 @@ validpgpkeys+=('3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40') # bill-auger
 # PGO requires networking
 _should_skip_pgo_armv7h=1 # disable for armv7h - always
 _should_skip_pgo_i686=1   # disable for i686   - always
-_should_skip_pgo_x86_64=0 # disable for x86_64 - libremakepkg
+_should_skip_pgo_x86_64=0 # disable for x86_64 - sometimes for libremakepkg
 eval "_should_skip_pgo=\$_should_skip_pgo_${CARCH}"
 
 
@@ -167,12 +166,13 @@ ac_add_options --with-wasi-sysroot=/usr/share/wasi-sysroot
 
 # Branding
 ac_add_options --disable-official-branding
-ac_add_options --with-branding=browser/branding/iceweasel
+ac_add_options --with-branding=browser/branding/${pkgname}
+ac_add_options --with-app-name=${pkgname}
+ac_add_options --with-app-basename=${pkgname}
 ac_add_options --enable-update-channel=release
 ac_add_options --with-distribution-id=nu.parabola
 ac_add_options --with-unsigned-addon-scopes=app,system
 ac_add_options --allow-addon-sideload
-export MOZ_APP_NAME=$pkgname
 export MOZ_APP_REMOTINGNAME=${pkgname}
 export MOZ_TELEMETRY_REPORTING=
 export MOZ_REQUIRE_SIGNING=
@@ -539,8 +539,13 @@ END
   install -Dvm644 /dev/stdin "$distini" <<END
 [Global]
 id=parabola
-version=1.0
+version=(${_brandingver} branding)
 about=Iceweasel for Parabola GNU/Linux-libre
+about.en-US=Iceweasel for Parabola GNU/Linux-libre
+about.eo=Iceweasel por Parabola GNU/Linux-libre
+about.es-ES=Iceweasel para Parabola GNU/Linux-libre
+about.gl=Iceweasel para Parabola GNU/Linux-libre
+about.pt-BR=Iceweasel para Parabola GNU/Linux-libre
 
 [Preferences]
 app.distributor=parabola

From fdad940b19b35572064e0f9925946bb4f9d0729a Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Mar 26 2022 09:57:45 +0000
Subject: [PATCH 9/28] [iceweasel]: rename user profile dir


this corresponds to (requires) the change in iceweasel-branding.git
with commit message: 'rename user profile dir'

---

diff --git a/libre/iceweasel/PKGBUILD b/libre/iceweasel/PKGBUILD
index e123f66..57a7111 100644
--- a/libre/iceweasel/PKGBUILD
+++ b/libre/iceweasel/PKGBUILD
@@ -37,6 +37,7 @@
 #  - allow skipping profiling build for x86_64 (_x86_64_skip_pgo)
 #  - prefer as many system libs as possible, over their vendored couterparts
 #  - Rebrand to Iceweasel, per the mozilla trademark policy, due to the FSDG changes
+#  - set user profile directory to ~/.mozilla/iceweasel
 #
 # privacy:
 #  - Remove Google API keys and usage
@@ -596,4 +597,21 @@ END
   if [[ -e $nssckbi ]]; then
     ln -srfv "$pkgdir/usr/lib/libnssckbi.so" "$nssckbi"
   fi
+
+
+  # BEGIN RENAME_PROFILE
+  # replace binary with a temporary wrapper, to rename the user profile directory
+  # NOTE: prior to v98, if another 'firefox' is installed in addition to iceweasel,
+  #       both applications would share a profile, which is not very sane behavior.
+  # TODO: this 'rename-profile' source file, and the following two LOC,
+  #       could be removed after a reasonable deprecation period (eg: in 2023)
+  mv                                  "${pkgdir}"/usr/lib/iceweasel/ice{,-}weasel
+  install -Dm755 ../rename-profile.sh "${pkgdir}"/usr/lib/iceweasel/iceweasel
+  # END RENAME_PROFILE
 }
+
+
+# BEGIN RENAME_PROFILE - temporary - see note in package()
+depends+=(gxmessage) ; source+=(rename-profile.sh) ;
+sha256sums+=('e8f8a53ff340e36912c39247d40b6c2915bbbe437d2fc21b3e7cc09b1b534389')
+# END RENAME_PROFILE
diff --git a/libre/iceweasel/rename-profile.sh b/libre/iceweasel/rename-profile.sh
new file mode 100755
index 0000000..1ccdbdb
--- /dev/null
+++ b/libre/iceweasel/rename-profile.sh
@@ -0,0 +1,99 @@
+#!/bin/bash
+
+# NOTE: prior to v98, if another 'firefox' is installed in addition to iceweasel,
+#       both applications would share a profile, which is not very sane behavior.
+# TODO: this file could be deleted after a reasonable deprecation period (eg: in 2023)
+
+
+Defer()
+{
+  gxmessage -title    "Iceweasel Updater" \
+            -buttons  "OK:0"              \
+            -default  "OK"                \
+            -font     "sans 16"           \
+            -geometry 620x460             \
+            -center -wrap -ontop -sticky  \
+"A new version of Iceweasel has been installed;
+but the upgrade can not continue just yet.
+
+A previous version of Iceweasel is already running.
+
+Please close all running Iceweasel windows,
+then start Iceweasel again.
+
+If this message persists, try restarting the computer."
+}
+
+Prompt()
+{
+  gxmessage -title    "Iceweasel Updater" \
+            -buttons  "Move:0,Copy:1"     \
+            -default  "Move"              \
+            -font     "monospace 12"      \
+            -geometry 780x580             \
+            -center -wrap -ontop -sticky  \
+"A new version of Iceweasel has been installed; but the upgrade can not continue just yet.
+
+This upgrade intends to move the storage location of the Iceweasel user profile, from ~/.mozilla/firefox to ~/.mozilla/iceweasel, in order to isolate it from other firefox variants.
+
+You have two options:
+
+  * 'Move': This is the recommended option,
+            if you do not have any other Firefox variants installed.
+            However, if you have other Firefox variants installed,
+            Otherwise, the others' preferences may be reset to defaults.
+            Parabola does not distribute any other Firefox variant,
+            which would be affected by this decision.
+            If all software on your computer came from the Parabola repos
+            (as recommended), then 'Move' is the best option.
+
+  * 'Copy': If you have other Firefox variants installed,
+            those will keep all user preferences as they are,
+            and Iceweasel will inherit the preferences.
+
+Note that neither option would affect Icecat, nor any other firefox variant
+which does not store user profiles under ~/.mozilla/firefox.
+"
+}
+
+
+# NOTE: the iceweasel binary is inaccessible via the normal means
+#       (`iceweasel`, `/usr/bin/iceweasel`, or the iceweasel.desktop launcher).
+#       the binary has been renamed to ice-weasel, and replaced by this script
+
+if   [[ -d ~/.mozilla/firefox   ]] && \
+   ! [[ -e ~/.mozilla/iceweasel ]]
+then # this is the most likely normal case, where the user has previously run
+     # either iceweasel or firefox on this system;
+     # and this is the first time that this script has run.
+     pids=( $(pgrep --euid ${EUID} firefox  ) \
+            $(pgrep --euid ${EUID} iceweasel) )
+     if   [[ -n "${pids[*]/$$/}" ]]
+     then # in this case, firefox or iceweasel is already running,
+          # so ask the user to terminate them
+          Defer
+     else # ready to move the profile directory.
+          # give the user the option to preserve the firefox profile,
+          # then launch the binary.
+          if   Prompt
+          then mv    ~/.mozilla/{firefox,iceweasel}
+          else cp -a ~/.mozilla/{firefox,iceweasel}
+          fi
+          /usr/lib/iceweasel/ice-weasel "$@"
+     fi
+else # this branch is executed in any of four cases:
+     # 1) the user has compiled a modified version of iceweasel,
+     #    modified precisely to do what this script is attempting,
+     #    AND has also run some other firefox variant in the past.
+     # 2) the user has run iceweasel or some other firefox variant in the past,
+     #    AND ~/.mozilla/iceweasel exists accidentally.
+     # 3) the user has previously selected 'Copy' during a previous run of this script,
+     #    installed with a previous 'iceweasel' release.
+     # 4) the remaining normal case, where the user has never run
+     #    neither iceweasel nor firefox on this system.
+     # cases 1 and 2 could be distinguished; but both are very unlikely.
+     # so, simply launch the binary, and hope for the best.
+     # this is potentially problematic; but only in the (unlikely) case #2.
+     # case #2 is easily resolved manually: $ rm -rf ~/.mozilla/iceweasel
+     /usr/lib/iceweasel/ice-weasel "$@"
+fi

From 380a4791bf425e7bf132558326a09ca81ba93231 Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Mar 26 2022 09:57:45 +0000
Subject: [PATCH 10/28] [iceweasel]: upgrade to v98.0


---

diff --git a/libre/iceweasel/0001-Use-remoting-name-for-GDK-application-names.patch b/libre/iceweasel/0001-Use-remoting-name-for-GDK-application-names.patch
deleted file mode 100644
index f307772..0000000
--- a/libre/iceweasel/0001-Use-remoting-name-for-GDK-application-names.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Mon, 25 Mar 2019 20:30:11 +0100
-Subject: [PATCH] Use remoting name for GDK application names
-
----
- toolkit/xre/nsAppRunner.cpp |  6 +-----
- widget/gtk/nsAppShell.cpp   | 12 +++++-------
- 2 files changed, 6 insertions(+), 12 deletions(-)
-
-diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
-index ce001e93821f..3be817c5cbd5 100644
---- a/toolkit/xre/nsAppRunner.cpp
-+++ b/toolkit/xre/nsAppRunner.cpp
-@@ -4348,11 +4348,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
-   // consistently.
- 
-   // Set program name to the one defined in application.ini.
--  {
--    nsAutoCString program(gAppData->name);
--    ToLowerCase(program);
--    g_set_prgname(program.get());
--  }
-+  g_set_prgname(gAppData->remotingName);
- 
-   // Initialize GTK here for splash.
- 
-diff --git a/widget/gtk/nsAppShell.cpp b/widget/gtk/nsAppShell.cpp
-index c8bbd9a373f5..a6a2186f20fb 100644
---- a/widget/gtk/nsAppShell.cpp
-+++ b/widget/gtk/nsAppShell.cpp
-@@ -27,6 +27,8 @@
- #  include "nsIObserverService.h"
- #endif
- #include "gfxPlatform.h"
-+#include "nsAppRunner.h"
-+#include "mozilla/XREAppData.h"
- #include "ScreenHelperGTK.h"
- #include "HeadlessScreenHelper.h"
- #include "mozilla/widget/ScreenManager.h"
-@@ -257,13 +259,9 @@ nsresult nsAppShell::Init() {
-       // See https://bugzilla.gnome.org/show_bug.cgi?id=747634
-       //
-       // Only bother doing this for the parent process, since it's the one
--      // creating top-level windows. (At this point, a child process hasn't
--      // received the list of registered chrome packages, so the
--      // GetBrandShortName call would fail anyway.)
--      nsAutoString brandName;
--      mozilla::widget::WidgetUtils::GetBrandShortName(brandName);
--      if (!brandName.IsEmpty()) {
--        gdk_set_program_class(NS_ConvertUTF16toUTF8(brandName).get());
-+      // creating top-level windows.
-+      if (gAppData) {
-+        gdk_set_program_class(gAppData->remotingName);
-       }
-     }
-   }
diff --git a/libre/iceweasel/9001-FSDG-always-sync-remote-settings-with-local-dump.patch b/libre/iceweasel/9001-FSDG-always-sync-remote-settings-with-local-dump.patch
deleted file mode 100644
index d4e4ef5..0000000
--- a/libre/iceweasel/9001-FSDG-always-sync-remote-settings-with-local-dump.patch
+++ /dev/null
@@ -1,1000 +0,0 @@
-From 15cacd9bfdb9c08def24e780d83bb8dd672c711f Mon Sep 17 00:00:00 2001
-From: grizzlyuser <grizzlyuser@protonmail.com>
-Date: Wed, 30 Dec 2020 17:20:39 +0200
-Subject: [PATCH 01/13] Point to local omni.ja files, not remote server
-
-This patch series tries to remove any network communication with Remote
-Settings [1], which can be used by Mozilla to silently push data to client
-browsers. This data can include references to nonfree software, for example,
-to search engines or other websites that contain nonfree JavaScript code.
-Without this patching, it would be hard to make sure the browser does not
-violate paragraph 4 of [2]: "Programs in the system should not suggest
-installing nonfree plugins, documentation, and so on."
-
-Changes in the current patch:
-First of all, replace every occurrence of Remote Settings server domain name
-with URIs that point to built-in local files within omni.ja.
-
-Some links to json files may point to non-existing files, but that's OK
-because it's better than leave them point to Remote Settings server.
-If necessary, missing files can be added later.
-
-[1] https://remote-settings.readthedocs.io/en/latest/introduction.html
-[2] https://www.gnu.org/distros/free-system-distribution-guidelines.en.html#license-rules
----
- .../components/ASRouterAdmin/ASRouterAdmin.jsx            | 2 +-
- .../newtab/data/content/activity-stream.bundle.js         | 2 +-
- modules/libpref/init/all.js                               | 2 +-
- services/settings/Utils.jsm                               | 4 ++--
- .../periodic-updates/scripts/periodic_file_updates.sh     | 2 +-
- toolkit/components/search/SearchUtils.jsm                 | 8 ++++----
- toolkit/components/search/docs/DefaultSearchEngines.rst   | 2 +-
- .../components/search/docs/SearchEngineConfiguration.rst  | 2 +-
- toolkit/mozapps/defaultagent/RemoteSettings.cpp           | 2 +-
- 9 files changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx b/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx
-index e0d8e45cc0..4cb5fca1c6 100644
---- a/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx
-+++ b/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx
-@@ -1230,7 +1230,7 @@ export class ASRouterAdminInner extends React.PureComponent {
-                   <a
-                     className="providerUrl"
-                     target="_blank"
--                    href="https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/nimbus-desktop-experiments/records"
-+                    href="resource://app/defaults/settings/main/nimbus-desktop-experiments.json"
-                     rel="noopener noreferrer"
-                   >
-                     nimbus-desktop-experiments
-diff --git a/browser/components/newtab/data/content/activity-stream.bundle.js b/browser/components/newtab/data/content/activity-stream.bundle.js
-index 5227e5af81..427759dcfe 100644
---- a/browser/components/newtab/data/content/activity-stream.bundle.js
-+++ b/browser/components/newtab/data/content/activity-stream.bundle.js
-@@ -1841,7 +1841,7 @@ class ASRouterAdminInner extends react__WEBPACK_IMPORTED_MODULE_3___default.a.Pu
-         label = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("span", null, "remote settings (", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("a", {
-           className: "providerUrl",
-           target: "_blank",
--          href: "https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/nimbus-desktop-experiments/records",
-+          href: "resource://app/defaults/settings/main/nimbus-desktop-experiments.json",
-           rel: "noopener noreferrer"
-         }, "nimbus-desktop-experiments"), ")");
-       }
-diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
-index 1ed81b6f53..edca292681 100644
---- a/modules/libpref/init/all.js
-+++ b/modules/libpref/init/all.js
-@@ -2210,7 +2210,7 @@ pref("security.cert_pinning.hpkp.enabled", false);
- // Remote settings preferences
- // Note: if you change this, make sure to also review security.onecrl.maximum_staleness_in_seconds
- pref("services.settings.poll_interval", 86400); // 24H
--pref("services.settings.server", "https://firefox.settings.services.mozilla.com/v1");
-+pref("services.settings.server", "resource://app/defaults/settings");
- pref("services.settings.default_bucket", "main");
- 
- // The percentage of clients who will report uptake telemetry as
-diff --git a/services/settings/Utils.jsm b/services/settings/Utils.jsm
-index ee23591a6a..ef91781ac6 100644
---- a/services/settings/Utils.jsm
-+++ b/services/settings/Utils.jsm
-@@ -60,11 +60,11 @@ var Utils = {
-       !Cu.isInAutomation &&
-       !isXpcshell &&
-       isNotThunderbird
--      ? "https://firefox.settings.services.mozilla.com/v1"
-+      ? "resource://app/defaults/settings"
-       : gServerURL;
-   },
- 
--  CHANGES_PATH: "/buckets/monitor/collections/changes/changeset",
-+  CHANGES_PATH: "/monitor/changes.json",
- 
-   /**
-    * Logger instance.
-diff --git a/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh b/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
-index 7764777c1a..3c8db49743 100755
---- a/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
-+++ b/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
-@@ -279,7 +279,7 @@ function compare_suffix_lists {
- }
- 
- function compare_remote_settings_files {
--  REMOTE_SETTINGS_SERVER="https://firefox.settings.services.mozilla.com/v1"
-+  REMOTE_SETTINGS_SERVER="resource://app/defaults/settings"
- 
-   # 1. List remote settings collections from server.
-   echo "INFO: fetch remote settings list from server"
-diff --git a/toolkit/components/search/SearchUtils.jsm b/toolkit/components/search/SearchUtils.jsm
-index 8a3c6acb84..b0a9c4b86f 100644
---- a/toolkit/components/search/SearchUtils.jsm
-+++ b/toolkit/components/search/SearchUtils.jsm
-@@ -159,13 +159,13 @@ var SearchUtils = {
- 
-   ENGINES_URLS: {
-     "prod-main":
--      "https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/search-config/records",
-+      "resource://app/defaults/settings/main/search-config.json",
-     "prod-preview":
--      "https://firefox.settings.services.mozilla.com/v1/buckets/main-preview/collections/search-config/records",
-+      "resource://app/defaults/settings/main/search-config.json",
-     "stage-main":
--      "https://settings.stage.mozaws.net/v1/buckets/main/collections/search-config/records",
-+      "resource://app/defaults/settings/main/search-config.json",
-     "stage-preview":
--      "https://settings.stage.mozaws.net/v1/buckets/main-preview/collections/search-config/records",
-+      "resource://app/defaults/settings/main/search-config.json",
-   },
- 
-   // The following constants are left undocumented in nsISearchService.idl
-diff --git a/toolkit/components/search/docs/DefaultSearchEngines.rst b/toolkit/components/search/docs/DefaultSearchEngines.rst
-index 0648471396..37948dca31 100644
---- a/toolkit/components/search/docs/DefaultSearchEngines.rst
-+++ b/toolkit/components/search/docs/DefaultSearchEngines.rst
-@@ -86,4 +86,4 @@ is updated.
- 
- .. _configuration schema: SearchConfigurationSchema.html
- .. _remote settings: /services/common/services/RemoteSettings.html
--.. _search-default-override-allowlist bucket: https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/search-default-override-allowlist/records
-+.. _search-default-override-allowlist bucket: resource://app/defaults/settings/main/search-default-override-allowlist.json
-diff --git a/toolkit/components/search/docs/SearchEngineConfiguration.rst b/toolkit/components/search/docs/SearchEngineConfiguration.rst
-index e9041affb8..7a9466d294 100644
---- a/toolkit/components/search/docs/SearchEngineConfiguration.rst
-+++ b/toolkit/components/search/docs/SearchEngineConfiguration.rst
-@@ -68,5 +68,5 @@ related. As a result several situations may occur:
- .. _JSON schema: https://json-schema.org/
- .. _stored in mozilla-central: https://searchfox.org/mozilla-central/source/toolkit/components/search/schema/
- .. _Search Configuration Schema: SearchConfigurationSchema.html
--.. _viewed live: https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/search-config/records
-+.. _viewed live: resource://app/defaults/settings/main/search-config.json
- .. _Normandy: /toolkit/components/normandy/normandy/services.html
-diff --git a/toolkit/mozapps/defaultagent/RemoteSettings.cpp b/toolkit/mozapps/defaultagent/RemoteSettings.cpp
-index 667d9fc628..b2bf628f29 100644
---- a/toolkit/mozapps/defaultagent/RemoteSettings.cpp
-+++ b/toolkit/mozapps/defaultagent/RemoteSettings.cpp
-@@ -23,7 +23,7 @@ extern "C" {
- HRESULT IsAgentRemoteDisabledRust(const char* szUrl, DWORD* lpdwDisabled);
- }
- 
--#define PROD_ENDPOINT "https://firefox.settings.services.mozilla.com/v1"
-+#define PROD_ENDPOINT "resource://app/defaults/settings"
- #define PROD_BID "main"
- #define PROD_CID "windows-default-browser-agent"
- #define PROD_ID "state"
--- 
-2.31.1
-
-
-From f1e92b5fb7844a57ad63d8a52b4867db9817fc14 Mon Sep 17 00:00:00 2001
-From: grizzlyuser <grizzlyuser@protonmail.com>
-Date: Wed, 30 Dec 2020 17:34:08 +0200
-Subject: [PATCH 02/13] Remove polling triggered by push broadcasts
-
-When initialized, remote-settings.js adds a listener to push broadcasts,
-that let Remote Settings server send push messages to trigger polling
-for changes from the client side. This is not needed for local-only
-setup. Remove the record from broadcast-listeners.json file stored in
-the user profile, so that it doesn't get picked up by push broadcast
-service.
----
- dom/push/PushBroadcastService.jsm    | 13 +++++++++++++
- services/settings/remote-settings.js |  7 ++-----
- 2 files changed, 15 insertions(+), 5 deletions(-)
-
-diff --git a/dom/push/PushBroadcastService.jsm b/dom/push/PushBroadcastService.jsm
-index aa1504211d..d635a2c3aa 100644
---- a/dom/push/PushBroadcastService.jsm
-+++ b/dom/push/PushBroadcastService.jsm
-@@ -178,6 +178,19 @@ var BroadcastService = class {
-     }
-   }
- 
-+  async deleteListener(broadcastId) {
-+    await this.initializePromise;
-+
-+    if (this.jsonFile.data.listeners.hasOwnProperty(broadcastId)) {
-+      console.info(
-+        "deleteListener: deleting listener",
-+        broadcastId
-+      );
-+      delete this.jsonFile.data.listeners[broadcastId];
-+      this.jsonFile.saveSoon();
-+    }
-+  }
-+
-   /**
-    * Call the listeners of the specified broadcasts.
-    *
-diff --git a/services/settings/remote-settings.js b/services/settings/remote-settings.js
-index 6d0185faf9..aae93fa440 100644
---- a/services/settings/remote-settings.js
-+++ b/services/settings/remote-settings.js
-@@ -441,7 +441,7 @@ function remoteSettingsFunction() {
-       moduleURI: __URI__,
-       symbolName: "remoteSettingsBroadcastHandler",
-     };
--    pushBroadcastService.addListener(BROADCAST_ID, currentVersion, moduleInfo);
-+    pushBroadcastService.deleteListener(BROADCAST_ID);
-   };
- 
-   return remoteSettings;
-@@ -461,9 +461,6 @@ var remoteSettingsBroadcastHandler = {
-       `Push notification received (version=${version} phase=${phase})`
-     );
- 
--    return RemoteSettings.pollChanges({
--      expectedTimestamp: version,
--      trigger: isStartup ? "startup" : "broadcast",
--    });
-+    return;
-   },
- };
--- 
-2.31.1
-
-
-From 3054d3efe22802ab5503dd812e0a0283bbd791f1 Mon Sep 17 00:00:00 2001
-From: grizzlyuser <grizzlyuser@protonmail.com>
-Date: Wed, 30 Dec 2020 17:41:54 +0200
-Subject: [PATCH 03/13] Remove timer that triggers polling for changes
-
-That is not needed for local-only setup.
----
- services/settings/components.conf           | 9 +--------
- services/settings/servicesSettings.manifest | 4 ----
- 2 files changed, 1 insertion(+), 12 deletions(-)
-
-diff --git a/services/settings/components.conf b/services/settings/components.conf
-index 9a737802ee..25109415a7 100644
---- a/services/settings/components.conf
-+++ b/services/settings/components.conf
-@@ -4,11 +4,4 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
- 
--Classes = [
--    {
--        'cid': '{5e756573-234a-49ea-bbe4-59ec7a70657d}',
--        'contract_ids': ['@mozilla.org/services/settings;1'],
--        'jsm': 'resource://services-settings/RemoteSettingsComponents.jsm',
--        'constructor': 'RemoteSettingsTimer',
--    },
--]
-+Classes = []
-diff --git a/services/settings/servicesSettings.manifest b/services/settings/servicesSettings.manifest
-index 3bfed26ea4..807eb220ec 100644
---- a/services/settings/servicesSettings.manifest
-+++ b/services/settings/servicesSettings.manifest
-@@ -1,7 +1,3 @@
- # Register resource aliases
- resource services-settings resource://gre/modules/services-settings/
- 
--# Schedule polling of remote settings changes
--# (default 24H, max 72H)
--# see syntax https://searchfox.org/mozilla-central/rev/cc280c4be94ff8cf64a27cc9b3d6831ffa49fa45/toolkit/components/timermanager/UpdateTimerManager.jsm#155
--category update-timer RemoteSettingsComponents @mozilla.org/services/settings;1,getService,services-settings-poll-changes,services.settings.poll_interval,86400,259200
--- 
-2.31.1
-
-
-From c856641861ca70da2d5aa720e402f2e505ebe5ac Mon Sep 17 00:00:00 2001
-From: grizzlyuser <grizzlyuser@protonmail.com>
-Date: Wed, 30 Dec 2020 17:47:41 +0200
-Subject: [PATCH 04/13] Utils: fetch timestamps of each collection locally
-
-Utils.CHANGES_PATH points to
-services/settings/dumps/monitor/changes.json
-which will be generated later by JSON processing script. Fetch the
-timestamps from that file and mock response headers to not confuse any
-code that expects them.
----
- browser/installer/package-manifest.in     |  1 +
- services/settings/Utils.jsm               | 13 ++++++++++++-
- services/settings/dumps/monitor/moz.build |  8 ++++++++
- services/settings/dumps/moz.build         |  1 +
- 4 files changed, 22 insertions(+), 1 deletion(-)
- create mode 100644 services/settings/dumps/monitor/moz.build
-
-diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
-index ec20499166..c618c02a8f 100644
---- a/browser/installer/package-manifest.in
-+++ b/browser/installer/package-manifest.in
-@@ -298,6 +298,7 @@
- @RESPATH@/browser/defaults/settings/blocklists
- @RESPATH@/browser/defaults/settings/pinning
- @RESPATH@/browser/defaults/settings/main
-+@RESPATH@/browser/defaults/settings/monitor
- @RESPATH@/browser/defaults/settings/security-state
- 
- ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
-diff --git a/services/settings/Utils.jsm b/services/settings/Utils.jsm
-index ef91781ac6..8736951968 100644
---- a/services/settings/Utils.jsm
-+++ b/services/settings/Utils.jsm
-@@ -150,7 +150,7 @@ var Utils = {
-   async fetchLatestChanges(serverUrl, options = {}) {
-     const { expectedTimestamp, lastEtag = "", filters = {} } = options;
- 
--    let url = serverUrl + Utils.CHANGES_PATH;
-+    let url = Utils.SERVER_URL + Utils.CHANGES_PATH;
-     const params = {
-       ...filters,
-       _expected: expectedTimestamp ?? 0,
-@@ -273,7 +264,10 @@ var Utils = {
-           .map(([k, v]) => `${k}=${encodeURIComponent(v)}`)
-           .join("&");
-     }
--    const response = await Utils.fetch(url);
-+    const response = await fetch(url);
-+    const responseDate = new Date().toUTCString()
-+    response.headers.set("Date", responseDate);
-+    response.headers.set("Last-Modified", responseDate);
- 
-     if (response.status >= 500) {
-       throw new Error(`Server error ${response.status} ${response.statusText}`);
-@@ -200,7 +194,15 @@ var Utils = {
-       }
-     }
- 
--    const { changes = [], timestamp } = payload;
-+    const { timestamp } = payload;
-+    const { bucket, collection } = filters;
-+    if (!bucket || !collection) {
-+      throw new Error('Unable to fetch latest change without bucket or collection');
-+    }
-+    const change = payload.changes.find(
-+        change => change.bucket === bucket && change.collection === collection
-+      ) ?? { last_modified: 0, bucket, collection };
-+    const changes = [change];
- 
-     let serverTimeMillis = Date.parse(response.headers.get("Date"));
-     // Since the response is served via a CDN, the Date header value could have been cached.
-diff --git a/services/settings/dumps/monitor/moz.build b/services/settings/dumps/monitor/moz.build
-new file mode 100644
-index 0000000000..d3d017fda5
---- /dev/null
-+++ b/services/settings/dumps/monitor/moz.build
-@@ -0,0 +1,8 @@
-+# This Source Code Form is subject to the terms of the Mozilla Public
-+# License, v. 2.0. If a copy of the MPL was not distributed with this
-+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-+
-+FINAL_TARGET_FILES.defaults.settings.monitor += ["changes.json"]
-+
-+if CONFIG["MOZ_BUILD_APP"] == "browser":
-+    DIST_SUBDIR = "browser"
-diff --git a/services/settings/dumps/moz.build b/services/settings/dumps/moz.build
-index 3cc9436f61..3742da5667 100644
---- a/services/settings/dumps/moz.build
-+++ b/services/settings/dumps/moz.build
-@@ -5,6 +5,7 @@
- DIRS += [
-     "blocklists",
-     "main",
-+    "monitor",
-     "security-state",
- ]
- 
--- 
-2.31.1
-
-
-From a0f311bed359d484fbf85e696b5b7e3a288292f8 Mon Sep 17 00:00:00 2001
-From: grizzlyuser <grizzlyuser@protonmail.com>
-Date: Wed, 30 Dec 2020 17:52:10 +0200
-Subject: [PATCH 05/13] Utils: disable offline checking
-
-Since only local data is read now, it should always return false for the
-current and any future code that relies on it.
----
- services/settings/Utils.jsm | 9 ---------
- 1 file changed, 9 deletions(-)
-
-diff --git a/services/settings/Utils.jsm b/services/settings/Utils.jsm
-index 8736951968..8ac085feea 100644
---- a/services/settings/Utils.jsm
-+++ b/services/settings/Utils.jsm
-@@ -80,15 +80,6 @@ var Utils = {
-    * @return {bool} Whether network is down or not.
-    */
-   get isOffline() {
--    try {
--      return (
--        Services.io.offline ||
--        CaptivePortalService.state == CaptivePortalService.LOCKED_PORTAL ||
--        !gNetworkLinkService.isLinkUp
--      );
--    } catch (ex) {
--      log.warn("Could not determine network status.", ex);
--    }
-     return false;
-   },
- 
--- 
-2.31.1
-
-
-From 95e4979573c79c987160a71e913c7564de22127f Mon Sep 17 00:00:00 2001
-From: grizzlyuser <grizzlyuser@protonmail.com>
-Date: Wed, 30 Dec 2020 17:56:02 +0200
-Subject: [PATCH 06/13] Refactor hashing logic to a separate function
-
-It is used instead of internal signature validation mechanism, for
-integrity checking of the locally cached data.
----
- services/settings/RemoteSettingsWorker.jsm | 4 ++++
- services/settings/SharedUtils.jsm          | 9 +++++++--
- 2 files changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/services/settings/RemoteSettingsWorker.jsm b/services/settings/RemoteSettingsWorker.jsm
-index 147ebb6b13..c86e218fd3 100644
---- a/services/settings/RemoteSettingsWorker.jsm
-+++ b/services/settings/RemoteSettingsWorker.jsm
-@@ -189,6 +189,10 @@ class Worker {
-     // task on the current thread instead of the worker thread.
-     return SharedUtils.checkContentHash(buffer, size, hash);
-   }
-+
-+  async getContentHash(bytes) {
-+    return SharedUtils.getContentHash(bytes);
-+  }
- }
- 
- // Now, first add a shutdown blocker. If that fails, we must have
-diff --git a/services/settings/SharedUtils.jsm b/services/settings/SharedUtils.jsm
-index db5017a742..1a8e83c2e8 100644
---- a/services/settings/SharedUtils.jsm
-+++ b/services/settings/SharedUtils.jsm
-@@ -28,11 +28,16 @@ var SharedUtils = {
-       return false;
-     }
-     // Has expected content?
-+    const hashStr = await this.getContentHash(bytes);
-+    return hashStr == hash;
-+  },
-+
-+  async getContentHash(bytes) {
-     const hashBuffer = await crypto.subtle.digest("SHA-256", bytes);
-     const hashBytes = new Uint8Array(hashBuffer);
-     const toHex = b => b.toString(16).padStart(2, "0");
--    const hashStr = Array.from(hashBytes, toHex).join("");
--    return hashStr == hash;
-+
-+    return Array.from(hashBytes, toHex).join("");
-   },
- 
-   /**
--- 
-2.31.1
-
-
-From daac032f8a4e12451cda9ec6b1eca29f5a35521f Mon Sep 17 00:00:00 2001
-From: grizzlyuser <grizzlyuser@protonmail.com>
-Date: Wed, 30 Dec 2020 18:05:02 +0200
-Subject: [PATCH 07/13] Client: Fetch and hash records from local dump
-
-Read the records from local dumps. See [1] for details on how to prepare
-custom dumps). Records are cached in the local IndexedDB, and the client
-updates cached records each time there's a change. Also it verifies
-integrity of the data. Then the list of current / created / updated /
-deleted records is generated and emitted to every registered listener.
-
-Change upstream signature validation mechanism to a simpler one.
-Otherwise, it'd be necessary to sign local records, which is redundant,
-because the application package should be signed already by the distro.
-
-Instead of signature property from metadata records, json_dump_metadata
-has been introduced. It contains the checksum of the records and size in
-bytes. Also added app_build_id property for version checking and updates
-of cached data.
-
-Although it's possible to disable integrity checking via preference, it
-seems to be not a good idea, because the logic that detects invalid
-local data relies on it. In the context of local-only setup, data that
-has been received from real Remote Settings server will not contain the
-custom metadata, and thus will be considered invalid and then discarded,
-while the client gets a chance to gracefully inform registered listeners
-about these changes so that they can discard the data received before
-the upgrade to local-only setup.
-
-[1] https://firefox-source-docs.mozilla.org/services/common/services/RemoteSettings.html#initial-data
----
- services/settings/RemoteSettingsClient.jsm | 62 ++++++++++------------
- 1 file changed, 27 insertions(+), 35 deletions(-)
-
-diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index 80dd563e11..1025ab33a2 100644
---- a/services/settings/RemoteSettingsClient.jsm
-+++ b/services/settings/RemoteSettingsClient.jsm
-@@ -556,11 +556,9 @@ class RemoteSettingsClient extends EventEmitter {
- 
-           // If the data is up-to-date but don't have metadata (records loaded from dump),
-           // we fetch them and validate the signature immediately.
--          if (this.verifySignature && ObjectUtils.isEmpty(localMetadata)) {
-+          if (this.verifySignature && ObjectUtils.isEmpty(localMetadata?.json_dump_metadata)) {
-             console.debug(`${this.identifier} pull collection metadata`);
--            const metadata = await this.httpClient().getData({
--              query: { _expected: expectedTimestamp },
--            });
-+            const { metadata } = await this._fetchChangeset(expectedTimestamp);
-             await this.db.importChanges(metadata);
-             // We don't bother validating the signature if the dump was just loaded. We do
-             // if the dump was loaded at some other point (eg. from .get()).
-@@ -813,32 +811,23 @@ class RemoteSettingsClient extends EventEmitter {
-   async _validateCollectionSignature(records, timestamp, metadata) {
-     const start = Cu.now() * 1000;
- 
--    if (!metadata?.signature) {
-+    if (!metadata?.json_dump_metadata) {
-       throw new MissingSignatureError(this.identifier);
-     }
- 
--    if (!this._verifier) {
--      this._verifier = Cc[
--        "@mozilla.org/security/contentsignatureverifier;1"
--      ].createInstance(Ci.nsIContentSignatureVerifier);
--    }
--
--    // This is a content-signature field from an autograph response.
-     const {
--      signature: { x5u, signature },
-+      json_dump_metadata: { hash, size },
-     } = metadata;
--    const certChain = await (await Utils.fetch(x5u)).text();
-     // Merge remote records with local ones and serialize as canonical JSON.
-     const serialized = await RemoteSettingsWorker.canonicalStringify(
-       records,
-       timestamp
-     );
-     if (
--      !(await this._verifier.asyncVerifyContentSignature(
--        serialized,
--        "p384ecdsa=" + signature,
--        certChain,
--        this.signerName
-+      !(await RemoteSettingsWorker.checkContentHash(
-+        new TextEncoder().encode(serialized),
-+        size,
-+        hash
-       ))
-     ) {
-       throw new InvalidSignatureError(this.identifier);
-@@ -1030,24 +1019,27 @@ class RemoteSettingsClient extends EventEmitter {
-    * @param since timestamp of last sync (optional)
-    */
-   async _fetchChangeset(expectedTimestamp, since) {
--    const client = this.httpClient();
--    const {
--      metadata,
--      timestamp: remoteTimestamp,
--      changes: remoteRecords,
--    } = await client.execute(
--      {
--        path: `/buckets/${this.bucketName}/collections/${this.collectionName}/changeset`,
--      },
--      {
--        query: {
--          _expected: expectedTimestamp,
--          _since: since,
--        },
--      }
-+    const { data } = await SharedUtils.loadJSONDump(
-+      this.bucketName,
-+      this.collectionName
-     );
-+    const remoteRecords = data ?? [];
-+
-+    const serialized = await RemoteSettingsWorker.canonicalStringify(
-+      remoteRecords,
-+      expectedTimestamp
-+    );
-+    const bytes = new TextEncoder().encode(serialized);
-+    const metadata = {
-+      app_build_id: Services.appinfo.appBuildID,
-+      json_dump_metadata: {
-+        hash: await RemoteSettingsWorker.getContentHash(bytes),
-+        size: bytes.length,
-+      },
-+    }
-+
-     return {
--      remoteTimestamp,
-+      remoteTimestamp: expectedTimestamp,
-       metadata,
-       remoteRecords,
-     };
--- 
-2.31.1
-
-
-From 4d36e599e6b24e10960ebb978c038c66c5ade06d Mon Sep 17 00:00:00 2001
-From: grizzlyuser <grizzlyuser@protonmail.com>
-Date: Wed, 30 Dec 2020 18:42:56 +0200
-Subject: [PATCH 08/13] Client: start deferred sync on get() or on()
-
-The users of the RemoteSettingsClient.jsm can receive records from it in
-two ways: by calling get(), and by subscribing to events by calling
-on().
-
-So hook a deferred sync whenever something calls these methods. Because
-multiple of those calls can be made quite early and in very short time,
-set up a deferred task that will be armed only when needed and only once
-in a second. When the task is running it first checks if the local data
-came from the dump of the current app build, and no-ops if true. If
-false, it triggers a sync. Then adds a flag if the client has been
-correctly synchronized with the dump, so that no metadata checking
-occurs during the session.
----
- services/settings/RemoteSettingsClient.jsm | 30 +++++++++++++++++++++-
- 1 file changed, 29 insertions(+), 1 deletion(-)
-
-diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index 1025ab33a2..1cebf2bc29 100644
---- a/services/settings/RemoteSettingsClient.jsm
-+++ b/services/settings/RemoteSettingsClient.jsm
-@@ -16,6 +16,7 @@ XPCOMUtils.defineLazyModuleGetters(this, {
-   ClientEnvironmentBase:
-     "resource://gre/modules/components-utils/ClientEnvironment.jsm",
-   Database: "resource://services-settings/Database.jsm",
-+  DeferredTask: "resource://gre/modules/DeferredTask.jsm",
-   Downloader: "resource://services-settings/Attachments.jsm",
-   IDBHelpers: "resource://services-settings/IDBHelpers.jsm",
-   KintoHttpClient: "resource://services-common/kinto-http-client.js",
-@@ -30,6 +31,7 @@ XPCOMUtils.defineLazyModuleGetters(this, {
- });
- 
- const TELEMETRY_COMPONENT = "remotesettings";
-+const DEFERRED_SYNC_DELAY_MILLISECONDS = 1000;
- 
- XPCOMUtils.defineLazyGetter(this, "console", () => Utils.log);
- 
-@@ -259,6 +261,14 @@ class RemoteSettingsClient extends EventEmitter {
-     this._lastCheckTimePref = lastCheckTimePref;
-     this._verifier = null;
-     this._syncRunning = false;
-+    this._deferredSync = new DeferredTask(
-+      async () => {
-+        if (!this._syncRunning && !(await this._isSynced())) {
-+          await this.sync();
-+        }
-+      },
-+      DEFERRED_SYNC_DELAY_MILLISECONDS
-+    );
- 
-     // This attribute allows signature verification to be disabled, when running tests
-     // or when pulling data from a dev server.
-@@ -290,6 +300,11 @@ class RemoteSettingsClient extends EventEmitter {
-     );
-   }
- 
-+  on(event, callback) {
-+    super.on(event, callback);
-+    this._deferredSync.arm();
-+  }
-+
-   get identifier() {
-     return `${this.bucketName}/${this.collectionName}`;
-   }
-@@ -353,6 +368,10 @@ class RemoteSettingsClient extends EventEmitter {
-       let lastModified = await this.db.getLastModified();
-       let hasLocalData = lastModified !== null;
- 
-+      if (!(await this._isSynced())) {
-+        throw new MissingSignatureError(this.identifier);
-+      }
-+
-       if (syncIfEmpty && !hasLocalData) {
-         // .get() was called before we had the chance to synchronize the local database.
-         // We'll try to avoid returning an empty list.
-@@ -414,7 +433,10 @@ class RemoteSettingsClient extends EventEmitter {
-       // No need to verify signature on JSON dumps.
-       // If local DB cannot be read, then we don't even try to do anything,
-       // we return results early.
--      return this._filterEntries(data);
-+      const filtered = this._filterEntries(data);
-+      this._deferredSync.arm();
-+
-+      return filtered;
-     }
- 
-     console.debug(
-@@ -452,6 +474,12 @@ class RemoteSettingsClient extends EventEmitter {
-     return final;
-   }
- 
-+  async _isSynced() {
-+    this._synced ||=
-+      Services.appinfo.appBuildID === (await this.db.getMetadata())?.app_build_id;
-+    return this._synced;
-+  }
-+
-   /**
-    * Synchronize the local database with the remote server.
-    *
--- 
-2.31.1
-
-
-From defc4080596f5407a98f0c9f1a456f685226054f Mon Sep 17 00:00:00 2001
-From: grizzlyuser <grizzlyuser@protonmail.com>
-Date: Wed, 30 Dec 2020 18:53:51 +0200
-Subject: [PATCH 09/13] Client: deep compare records if timestamps match
-
-When the list of current / updated / deleted records is generated, their
-modification timestamps are compared to detect the updates.
-
-Although in practice this is unlikely to happen, in theory the
-timestamp of some older record received from Remote Settings can match
-with the modified record in the dump. Although JSON processing script
-makes sure to add unique timestamps to each of the modified records,
-it's still possible to update dumps manually and simply forget to update
-timestamps. So serialize the records and compare them as strings to be
-on the safe side. This should happen only once after upgrading to each
-new version of the application, so is not likely to introduce any
-noticeable performance issues.
----
- services/settings/RemoteSettingsClient.jsm | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index 1cebf2bc29..2c18c5cfb6 100644
---- a/services/settings/RemoteSettingsClient.jsm
-+++ b/services/settings/RemoteSettingsClient.jsm
-@@ -13,6 +13,7 @@ const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
- 
- XPCOMUtils.defineLazyModuleGetters(this, {
-   AppConstants: "resource://gre/modules/AppConstants.jsm",
-+  CanonicalJSON: "resource://gre/modules/CanonicalJSON.jsm",
-   ClientEnvironmentBase:
-     "resource://gre/modules/components-utils/ClientEnvironment.jsm",
-   Database: "resource://services-settings/Database.jsm",
-@@ -1022,7 +1023,10 @@ class RemoteSettingsClient extends EventEmitter {
-         const old = oldById.get(r.id);
-         if (old) {
-           oldById.delete(r.id);
--          if (r.last_modified != old.last_modified) {
-+          if (
-+            r.last_modified != old.last_modified ||
-+            CanonicalJSON.stringify(r) != CanonicalJSON.stringify(old)
-+          ) {
-             syncResult.updated.push({ old, new: r });
-           }
-         } else {
--- 
-2.31.1
-
-
-From c2ee19f01bc37e15c7742af8a502ffaa10745a52 Mon Sep 17 00:00:00 2001
-From: grizzlyuser <grizzlyuser@protonmail.com>
-Date: Wed, 30 Dec 2020 19:01:39 +0200
-Subject: [PATCH 10/13] Client: delete more data on cleanup
-
-When the client detects the local data is invalid (i.e. it came from
-real Remote Settings and can have unwanted records), delete not only
-the records, but also the attachments that came with them, because they
-too can be problematic. And last check time preference, because it's not
-useful anyway when remote-settings.js doesn't do any polling for changes.
-
-Note that attachments should be deleted before the records, because the
-logic gets the data about the attachments from those records.
----
- services/settings/RemoteSettingsClient.jsm | 15 ++++++++++++---
- 1 file changed, 12 insertions(+), 3 deletions(-)
-
-diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index 2c18c5cfb6..8b65dc0cba 100644
---- a/services/settings/RemoteSettingsClient.jsm
-+++ b/services/settings/RemoteSettingsClient.jsm
-@@ -221,7 +221,10 @@ class AttachmentDownloader extends Downloader {
-   async deleteAll() {
-     let allRecords = await this._client.db.list();
-     return Promise.all(
--      allRecords.filter(r => !!r.attachment).map(r => this.delete(r))
-+      allRecords.filter(r => !!r.attachment).map(r => {
-+        this.delete(r);
-+        this.deleteCached(r.id);
-+      })
-     );
-   }
- }
-@@ -982,7 +985,7 @@ class RemoteSettingsClient extends EventEmitter {
-           // Signature failed, clear local DB because it contains
-           // bad data (local + remote changes).
-           console.debug(`${this.identifier} clear local data`);
--          await this.db.clear();
-+          await this._clearAll();
-           // Local data was tampered, throw and it will retry from empty DB.
-           console.error(`${this.identifier} local data was corrupted`);
-           throw new CorruptedDataError(this.identifier);
-@@ -1004,7 +1007,7 @@ class RemoteSettingsClient extends EventEmitter {
-             // _importJSONDump() only clears DB if dump is available,
-             // therefore do it here!
-             if (imported < 0) {
--              await this.db.clear();
-+              await this._clearAll();
-             }
-           }
-         }
-@@ -1044,6 +1047,12 @@ class RemoteSettingsClient extends EventEmitter {
-     return syncResult;
-   }
- 
-+  async _clearAll() {
-+    await this.attachments.deleteAll();
-+    await this.db.clear();
-+    Services.prefs.clearUserPref(this.lastCheckTimePref);
-+  }
-+
-   /**
-    * Fetch information from changeset endpoint.
-    *
--- 
-2.31.1
-
-
-From 56d2af487f7077753ea4df6bd0b1e6c91ed7ab9f Mon Sep 17 00:00:00 2001
-From: grizzlyuser <grizzlyuser@protonmail.com>
-Date: Wed, 30 Dec 2020 19:07:56 +0200
-Subject: [PATCH 11/13] Client: remove comparison of collection timestamps
-
-In case if the cached data that came from real Remote Settings server
-(before the upgrade to local-only setup) has collection timestamp, that
-is newer than the packaged local dump, then this comparison logic can
-lead to early return of old data, skipping the integrity checking and
-necessary cleanup. So remove the checks.
----
- services/settings/RemoteSettingsClient.jsm | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index 8b65dc0cba..6274596591 100644
---- a/services/settings/RemoteSettingsClient.jsm
-+++ b/services/settings/RemoteSettingsClient.jsm
-@@ -917,14 +917,9 @@ class RemoteSettingsClient extends EventEmitter {
-       updated: [],
-       deleted: [],
-     };
--    // If data wasn't changed, return empty sync result.
--    // This can happen when we update the signature but not the data.
-     console.debug(
-       `${this.identifier} local timestamp: ${localTimestamp}, remote: ${remoteTimestamp}`
-     );
--    if (localTimestamp && remoteTimestamp < localTimestamp) {
--      return syncResult;
--    }
- 
-     const start = Cu.now() * 1000;
-     await this.db.importChanges(metadata, remoteTimestamp, remoteRecords, {
--- 
-2.31.1
-
-
-From c009c1a9ba2477c9335921b706256f115ecfd498 Mon Sep 17 00:00:00 2001
-From: grizzlyuser <grizzlyuser@protonmail.com>
-Date: Wed, 30 Dec 2020 19:15:44 +0200
-Subject: [PATCH 12/13] Attachments: load only from dump and drop cached
-
----
- services/settings/Attachments.jsm | 35 +++++++------------------------
- 1 file changed, 8 insertions(+), 27 deletions(-)
-
-diff --git a/services/settings/Attachments.jsm b/services/settings/Attachments.jsm
-index 0eeb632799..eaa7db8c81 100644
---- a/services/settings/Attachments.jsm
-+++ b/services/settings/Attachments.jsm
-@@ -143,10 +143,11 @@ class Downloader {
-       checkHash,
-       attachmentId = record?.id,
-       useCache = false,
--      fallbackToCache = false,
-       fallbackToDump = false,
-     } = options || {};
- 
-+    const fallbackToCache = false;
-+
-     if (!useCache) {
-       // For backwards compatibility.
-       // WARNING: Its return type is different from what's documented.
-@@ -206,6 +207,7 @@ class Downloader {
-         const newBuffer = await this.downloadAsBytes(record, {
-           retries,
-           checkHash,
-+          dumpInfo,
-         });
-         const blob = new Blob([newBuffer]);
-         if (useCache) {
-@@ -241,7 +243,7 @@ class Downloader {
-       }
- 
-       try {
--        return { ...(await cacheInfo.getResult()), _source: "cache_fallback" };
-+        await this.cacheImpl.delete(attachmentId);
-       } catch (e) {
-         // Failed to read from cache, e.g. IndexedDB unusable.
-         Cu.reportError(e);
-@@ -278,7 +280,7 @@ class Downloader {
-    * @returns {String} the absolute file path to the downloaded attachment.
-    */
-   async downloadToDisk(record, options = {}) {
--    const { retries = 3 } = options;
-+    const retries = 0;
-     const {
-       attachment: { filename, size, hash },
-     } = record;
-@@ -335,31 +337,10 @@ class Downloader {
-    */
-   async downloadAsBytes(record, options = {}) {
-     const {
--      attachment: { location, hash, size },
--    } = record;
--
--    const remoteFileUrl = (await this._baseAttachmentsURL()) + location;
-+      dumpInfo = new LazyRecordAndBuffer(() => this._readAttachmentDump(attachmentId))
-+    } = options;
- 
--    const { retries = 3, checkHash = true } = options;
--    let retried = 0;
--    while (true) {
--      try {
--        const buffer = await this._fetchAttachment(remoteFileUrl);
--        if (!checkHash) {
--          return buffer;
--        }
--        if (await RemoteSettingsWorker.checkContentHash(buffer, size, hash)) {
--          return buffer;
--        }
--        // Content is corrupted.
--        throw new Downloader.BadContentError(location);
--      } catch (e) {
--        if (retried >= retries) {
--          throw e;
--        }
--      }
--      retried++;
--    }
-+    return (await dumpInfo.getResult()).buffer;
-   }
- 
-   /**
--- 
-2.31.1
-
-
-From 2035bd7a6ce1816417b619d3f1ce994a8b44ce9d Mon Sep 17 00:00:00 2001
-From: grizzlyuser <grizzlyuser@protonmail.com>
-Date: Wed, 30 Dec 2020 19:22:20 +0200
-Subject: [PATCH 13/13] Disable CRLite entirely for now
-
-It's designed to fetch the data from Remote Settings. One of the main
-selling points is that new revocations can be pushed to the clients
-within minutes. That won't work with local-only setup. Although (some?)
-of the JSON dumps for it are in place, obviously the updates won't
-happen that fast.
-
-Right now CRLite doesn't enforce anything, and works just for telemetry
-collection (which is hopefully disabled anyway). So disable the
-preference right in the source code, so that the patch fails to apply
-when the upstream decides to set it to enforcing mode by default.
-
-The solution with CRLite is up for discussion. If necessary, it's
-possible to make clients for blessed collections to communicate to real
-Remote Settings server. For example, for collections related to
-certificate revocations.
----
- modules/libpref/init/all.js | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
-index edca292681..da7e23d674 100644
---- a/modules/libpref/init/all.js
-+++ b/modules/libpref/init/all.js
-@@ -172,7 +172,7 @@ pref("security.cert_pinning.max_max_age_seconds", 5184000);
- // 0: Disable CRLite entirely
- // 1: Enable and check revocations via CRLite, but only collect telemetry
- // 2: Enable and enforce revocations via CRLite
--pref("security.pki.crlite_mode", 1);
-+pref("security.pki.crlite_mode", 0);
- 
- // Represents the expected certificate transparency log merge delay (including
- // the time to generate a CRLite filter). Currently 28 hours in seconds.
--- 
-2.31.1
-
diff --git a/libre/iceweasel/9001-FSDG-sync-remote-settings-with-local-dump.patch b/libre/iceweasel/9001-FSDG-sync-remote-settings-with-local-dump.patch
new file mode 100644
index 0000000..d4e4ef5
--- /dev/null
+++ b/libre/iceweasel/9001-FSDG-sync-remote-settings-with-local-dump.patch
@@ -0,0 +1,1000 @@
+From 15cacd9bfdb9c08def24e780d83bb8dd672c711f Mon Sep 17 00:00:00 2001
+From: grizzlyuser <grizzlyuser@protonmail.com>
+Date: Wed, 30 Dec 2020 17:20:39 +0200
+Subject: [PATCH 01/13] Point to local omni.ja files, not remote server
+
+This patch series tries to remove any network communication with Remote
+Settings [1], which can be used by Mozilla to silently push data to client
+browsers. This data can include references to nonfree software, for example,
+to search engines or other websites that contain nonfree JavaScript code.
+Without this patching, it would be hard to make sure the browser does not
+violate paragraph 4 of [2]: "Programs in the system should not suggest
+installing nonfree plugins, documentation, and so on."
+
+Changes in the current patch:
+First of all, replace every occurrence of Remote Settings server domain name
+with URIs that point to built-in local files within omni.ja.
+
+Some links to json files may point to non-existing files, but that's OK
+because it's better than leave them point to Remote Settings server.
+If necessary, missing files can be added later.
+
+[1] https://remote-settings.readthedocs.io/en/latest/introduction.html
+[2] https://www.gnu.org/distros/free-system-distribution-guidelines.en.html#license-rules
+---
+ .../components/ASRouterAdmin/ASRouterAdmin.jsx            | 2 +-
+ .../newtab/data/content/activity-stream.bundle.js         | 2 +-
+ modules/libpref/init/all.js                               | 2 +-
+ services/settings/Utils.jsm                               | 4 ++--
+ .../periodic-updates/scripts/periodic_file_updates.sh     | 2 +-
+ toolkit/components/search/SearchUtils.jsm                 | 8 ++++----
+ toolkit/components/search/docs/DefaultSearchEngines.rst   | 2 +-
+ .../components/search/docs/SearchEngineConfiguration.rst  | 2 +-
+ toolkit/mozapps/defaultagent/RemoteSettings.cpp           | 2 +-
+ 9 files changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx b/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx
+index e0d8e45cc0..4cb5fca1c6 100644
+--- a/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx
++++ b/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx
+@@ -1230,7 +1230,7 @@ export class ASRouterAdminInner extends React.PureComponent {
+                   <a
+                     className="providerUrl"
+                     target="_blank"
+-                    href="https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/nimbus-desktop-experiments/records"
++                    href="resource://app/defaults/settings/main/nimbus-desktop-experiments.json"
+                     rel="noopener noreferrer"
+                   >
+                     nimbus-desktop-experiments
+diff --git a/browser/components/newtab/data/content/activity-stream.bundle.js b/browser/components/newtab/data/content/activity-stream.bundle.js
+index 5227e5af81..427759dcfe 100644
+--- a/browser/components/newtab/data/content/activity-stream.bundle.js
++++ b/browser/components/newtab/data/content/activity-stream.bundle.js
+@@ -1841,7 +1841,7 @@ class ASRouterAdminInner extends react__WEBPACK_IMPORTED_MODULE_3___default.a.Pu
+         label = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("span", null, "remote settings (", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("a", {
+           className: "providerUrl",
+           target: "_blank",
+-          href: "https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/nimbus-desktop-experiments/records",
++          href: "resource://app/defaults/settings/main/nimbus-desktop-experiments.json",
+           rel: "noopener noreferrer"
+         }, "nimbus-desktop-experiments"), ")");
+       }
+diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
+index 1ed81b6f53..edca292681 100644
+--- a/modules/libpref/init/all.js
++++ b/modules/libpref/init/all.js
+@@ -2210,7 +2210,7 @@ pref("security.cert_pinning.hpkp.enabled", false);
+ // Remote settings preferences
+ // Note: if you change this, make sure to also review security.onecrl.maximum_staleness_in_seconds
+ pref("services.settings.poll_interval", 86400); // 24H
+-pref("services.settings.server", "https://firefox.settings.services.mozilla.com/v1");
++pref("services.settings.server", "resource://app/defaults/settings");
+ pref("services.settings.default_bucket", "main");
+ 
+ // The percentage of clients who will report uptake telemetry as
+diff --git a/services/settings/Utils.jsm b/services/settings/Utils.jsm
+index ee23591a6a..ef91781ac6 100644
+--- a/services/settings/Utils.jsm
++++ b/services/settings/Utils.jsm
+@@ -60,11 +60,11 @@ var Utils = {
+       !Cu.isInAutomation &&
+       !isXpcshell &&
+       isNotThunderbird
+-      ? "https://firefox.settings.services.mozilla.com/v1"
++      ? "resource://app/defaults/settings"
+       : gServerURL;
+   },
+ 
+-  CHANGES_PATH: "/buckets/monitor/collections/changes/changeset",
++  CHANGES_PATH: "/monitor/changes.json",
+ 
+   /**
+    * Logger instance.
+diff --git a/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh b/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
+index 7764777c1a..3c8db49743 100755
+--- a/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
++++ b/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
+@@ -279,7 +279,7 @@ function compare_suffix_lists {
+ }
+ 
+ function compare_remote_settings_files {
+-  REMOTE_SETTINGS_SERVER="https://firefox.settings.services.mozilla.com/v1"
++  REMOTE_SETTINGS_SERVER="resource://app/defaults/settings"
+ 
+   # 1. List remote settings collections from server.
+   echo "INFO: fetch remote settings list from server"
+diff --git a/toolkit/components/search/SearchUtils.jsm b/toolkit/components/search/SearchUtils.jsm
+index 8a3c6acb84..b0a9c4b86f 100644
+--- a/toolkit/components/search/SearchUtils.jsm
++++ b/toolkit/components/search/SearchUtils.jsm
+@@ -159,13 +159,13 @@ var SearchUtils = {
+ 
+   ENGINES_URLS: {
+     "prod-main":
+-      "https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/search-config/records",
++      "resource://app/defaults/settings/main/search-config.json",
+     "prod-preview":
+-      "https://firefox.settings.services.mozilla.com/v1/buckets/main-preview/collections/search-config/records",
++      "resource://app/defaults/settings/main/search-config.json",
+     "stage-main":
+-      "https://settings.stage.mozaws.net/v1/buckets/main/collections/search-config/records",
++      "resource://app/defaults/settings/main/search-config.json",
+     "stage-preview":
+-      "https://settings.stage.mozaws.net/v1/buckets/main-preview/collections/search-config/records",
++      "resource://app/defaults/settings/main/search-config.json",
+   },
+ 
+   // The following constants are left undocumented in nsISearchService.idl
+diff --git a/toolkit/components/search/docs/DefaultSearchEngines.rst b/toolkit/components/search/docs/DefaultSearchEngines.rst
+index 0648471396..37948dca31 100644
+--- a/toolkit/components/search/docs/DefaultSearchEngines.rst
++++ b/toolkit/components/search/docs/DefaultSearchEngines.rst
+@@ -86,4 +86,4 @@ is updated.
+ 
+ .. _configuration schema: SearchConfigurationSchema.html
+ .. _remote settings: /services/common/services/RemoteSettings.html
+-.. _search-default-override-allowlist bucket: https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/search-default-override-allowlist/records
++.. _search-default-override-allowlist bucket: resource://app/defaults/settings/main/search-default-override-allowlist.json
+diff --git a/toolkit/components/search/docs/SearchEngineConfiguration.rst b/toolkit/components/search/docs/SearchEngineConfiguration.rst
+index e9041affb8..7a9466d294 100644
+--- a/toolkit/components/search/docs/SearchEngineConfiguration.rst
++++ b/toolkit/components/search/docs/SearchEngineConfiguration.rst
+@@ -68,5 +68,5 @@ related. As a result several situations may occur:
+ .. _JSON schema: https://json-schema.org/
+ .. _stored in mozilla-central: https://searchfox.org/mozilla-central/source/toolkit/components/search/schema/
+ .. _Search Configuration Schema: SearchConfigurationSchema.html
+-.. _viewed live: https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/search-config/records
++.. _viewed live: resource://app/defaults/settings/main/search-config.json
+ .. _Normandy: /toolkit/components/normandy/normandy/services.html
+diff --git a/toolkit/mozapps/defaultagent/RemoteSettings.cpp b/toolkit/mozapps/defaultagent/RemoteSettings.cpp
+index 667d9fc628..b2bf628f29 100644
+--- a/toolkit/mozapps/defaultagent/RemoteSettings.cpp
++++ b/toolkit/mozapps/defaultagent/RemoteSettings.cpp
+@@ -23,7 +23,7 @@ extern "C" {
+ HRESULT IsAgentRemoteDisabledRust(const char* szUrl, DWORD* lpdwDisabled);
+ }
+ 
+-#define PROD_ENDPOINT "https://firefox.settings.services.mozilla.com/v1"
++#define PROD_ENDPOINT "resource://app/defaults/settings"
+ #define PROD_BID "main"
+ #define PROD_CID "windows-default-browser-agent"
+ #define PROD_ID "state"
+-- 
+2.31.1
+
+
+From f1e92b5fb7844a57ad63d8a52b4867db9817fc14 Mon Sep 17 00:00:00 2001
+From: grizzlyuser <grizzlyuser@protonmail.com>
+Date: Wed, 30 Dec 2020 17:34:08 +0200
+Subject: [PATCH 02/13] Remove polling triggered by push broadcasts
+
+When initialized, remote-settings.js adds a listener to push broadcasts,
+that let Remote Settings server send push messages to trigger polling
+for changes from the client side. This is not needed for local-only
+setup. Remove the record from broadcast-listeners.json file stored in
+the user profile, so that it doesn't get picked up by push broadcast
+service.
+---
+ dom/push/PushBroadcastService.jsm    | 13 +++++++++++++
+ services/settings/remote-settings.js |  7 ++-----
+ 2 files changed, 15 insertions(+), 5 deletions(-)
+
+diff --git a/dom/push/PushBroadcastService.jsm b/dom/push/PushBroadcastService.jsm
+index aa1504211d..d635a2c3aa 100644
+--- a/dom/push/PushBroadcastService.jsm
++++ b/dom/push/PushBroadcastService.jsm
+@@ -178,6 +178,19 @@ var BroadcastService = class {
+     }
+   }
+ 
++  async deleteListener(broadcastId) {
++    await this.initializePromise;
++
++    if (this.jsonFile.data.listeners.hasOwnProperty(broadcastId)) {
++      console.info(
++        "deleteListener: deleting listener",
++        broadcastId
++      );
++      delete this.jsonFile.data.listeners[broadcastId];
++      this.jsonFile.saveSoon();
++    }
++  }
++
+   /**
+    * Call the listeners of the specified broadcasts.
+    *
+diff --git a/services/settings/remote-settings.js b/services/settings/remote-settings.js
+index 6d0185faf9..aae93fa440 100644
+--- a/services/settings/remote-settings.js
++++ b/services/settings/remote-settings.js
+@@ -441,7 +441,7 @@ function remoteSettingsFunction() {
+       moduleURI: __URI__,
+       symbolName: "remoteSettingsBroadcastHandler",
+     };
+-    pushBroadcastService.addListener(BROADCAST_ID, currentVersion, moduleInfo);
++    pushBroadcastService.deleteListener(BROADCAST_ID);
+   };
+ 
+   return remoteSettings;
+@@ -461,9 +461,6 @@ var remoteSettingsBroadcastHandler = {
+       `Push notification received (version=${version} phase=${phase})`
+     );
+ 
+-    return RemoteSettings.pollChanges({
+-      expectedTimestamp: version,
+-      trigger: isStartup ? "startup" : "broadcast",
+-    });
++    return;
+   },
+ };
+-- 
+2.31.1
+
+
+From 3054d3efe22802ab5503dd812e0a0283bbd791f1 Mon Sep 17 00:00:00 2001
+From: grizzlyuser <grizzlyuser@protonmail.com>
+Date: Wed, 30 Dec 2020 17:41:54 +0200
+Subject: [PATCH 03/13] Remove timer that triggers polling for changes
+
+That is not needed for local-only setup.
+---
+ services/settings/components.conf           | 9 +--------
+ services/settings/servicesSettings.manifest | 4 ----
+ 2 files changed, 1 insertion(+), 12 deletions(-)
+
+diff --git a/services/settings/components.conf b/services/settings/components.conf
+index 9a737802ee..25109415a7 100644
+--- a/services/settings/components.conf
++++ b/services/settings/components.conf
+@@ -4,11 +4,4 @@
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ 
+-Classes = [
+-    {
+-        'cid': '{5e756573-234a-49ea-bbe4-59ec7a70657d}',
+-        'contract_ids': ['@mozilla.org/services/settings;1'],
+-        'jsm': 'resource://services-settings/RemoteSettingsComponents.jsm',
+-        'constructor': 'RemoteSettingsTimer',
+-    },
+-]
++Classes = []
+diff --git a/services/settings/servicesSettings.manifest b/services/settings/servicesSettings.manifest
+index 3bfed26ea4..807eb220ec 100644
+--- a/services/settings/servicesSettings.manifest
++++ b/services/settings/servicesSettings.manifest
+@@ -1,7 +1,3 @@
+ # Register resource aliases
+ resource services-settings resource://gre/modules/services-settings/
+ 
+-# Schedule polling of remote settings changes
+-# (default 24H, max 72H)
+-# see syntax https://searchfox.org/mozilla-central/rev/cc280c4be94ff8cf64a27cc9b3d6831ffa49fa45/toolkit/components/timermanager/UpdateTimerManager.jsm#155
+-category update-timer RemoteSettingsComponents @mozilla.org/services/settings;1,getService,services-settings-poll-changes,services.settings.poll_interval,86400,259200
+-- 
+2.31.1
+
+
+From c856641861ca70da2d5aa720e402f2e505ebe5ac Mon Sep 17 00:00:00 2001
+From: grizzlyuser <grizzlyuser@protonmail.com>
+Date: Wed, 30 Dec 2020 17:47:41 +0200
+Subject: [PATCH 04/13] Utils: fetch timestamps of each collection locally
+
+Utils.CHANGES_PATH points to
+services/settings/dumps/monitor/changes.json
+which will be generated later by JSON processing script. Fetch the
+timestamps from that file and mock response headers to not confuse any
+code that expects them.
+---
+ browser/installer/package-manifest.in     |  1 +
+ services/settings/Utils.jsm               | 13 ++++++++++++-
+ services/settings/dumps/monitor/moz.build |  8 ++++++++
+ services/settings/dumps/moz.build         |  1 +
+ 4 files changed, 22 insertions(+), 1 deletion(-)
+ create mode 100644 services/settings/dumps/monitor/moz.build
+
+diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
+index ec20499166..c618c02a8f 100644
+--- a/browser/installer/package-manifest.in
++++ b/browser/installer/package-manifest.in
+@@ -298,6 +298,7 @@
+ @RESPATH@/browser/defaults/settings/blocklists
+ @RESPATH@/browser/defaults/settings/pinning
+ @RESPATH@/browser/defaults/settings/main
++@RESPATH@/browser/defaults/settings/monitor
+ @RESPATH@/browser/defaults/settings/security-state
+ 
+ ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
+diff --git a/services/settings/Utils.jsm b/services/settings/Utils.jsm
+index ef91781ac6..8736951968 100644
+--- a/services/settings/Utils.jsm
++++ b/services/settings/Utils.jsm
+@@ -150,7 +150,7 @@ var Utils = {
+   async fetchLatestChanges(serverUrl, options = {}) {
+     const { expectedTimestamp, lastEtag = "", filters = {} } = options;
+ 
+-    let url = serverUrl + Utils.CHANGES_PATH;
++    let url = Utils.SERVER_URL + Utils.CHANGES_PATH;
+     const params = {
+       ...filters,
+       _expected: expectedTimestamp ?? 0,
+@@ -273,7 +264,10 @@ var Utils = {
+           .map(([k, v]) => `${k}=${encodeURIComponent(v)}`)
+           .join("&");
+     }
+-    const response = await Utils.fetch(url);
++    const response = await fetch(url);
++    const responseDate = new Date().toUTCString()
++    response.headers.set("Date", responseDate);
++    response.headers.set("Last-Modified", responseDate);
+ 
+     if (response.status >= 500) {
+       throw new Error(`Server error ${response.status} ${response.statusText}`);
+@@ -200,7 +194,15 @@ var Utils = {
+       }
+     }
+ 
+-    const { changes = [], timestamp } = payload;
++    const { timestamp } = payload;
++    const { bucket, collection } = filters;
++    if (!bucket || !collection) {
++      throw new Error('Unable to fetch latest change without bucket or collection');
++    }
++    const change = payload.changes.find(
++        change => change.bucket === bucket && change.collection === collection
++      ) ?? { last_modified: 0, bucket, collection };
++    const changes = [change];
+ 
+     let serverTimeMillis = Date.parse(response.headers.get("Date"));
+     // Since the response is served via a CDN, the Date header value could have been cached.
+diff --git a/services/settings/dumps/monitor/moz.build b/services/settings/dumps/monitor/moz.build
+new file mode 100644
+index 0000000000..d3d017fda5
+--- /dev/null
++++ b/services/settings/dumps/monitor/moz.build
+@@ -0,0 +1,8 @@
++# This Source Code Form is subject to the terms of the Mozilla Public
++# License, v. 2.0. If a copy of the MPL was not distributed with this
++# file, You can obtain one at http://mozilla.org/MPL/2.0/.
++
++FINAL_TARGET_FILES.defaults.settings.monitor += ["changes.json"]
++
++if CONFIG["MOZ_BUILD_APP"] == "browser":
++    DIST_SUBDIR = "browser"
+diff --git a/services/settings/dumps/moz.build b/services/settings/dumps/moz.build
+index 3cc9436f61..3742da5667 100644
+--- a/services/settings/dumps/moz.build
++++ b/services/settings/dumps/moz.build
+@@ -5,6 +5,7 @@
+ DIRS += [
+     "blocklists",
+     "main",
++    "monitor",
+     "security-state",
+ ]
+ 
+-- 
+2.31.1
+
+
+From a0f311bed359d484fbf85e696b5b7e3a288292f8 Mon Sep 17 00:00:00 2001
+From: grizzlyuser <grizzlyuser@protonmail.com>
+Date: Wed, 30 Dec 2020 17:52:10 +0200
+Subject: [PATCH 05/13] Utils: disable offline checking
+
+Since only local data is read now, it should always return false for the
+current and any future code that relies on it.
+---
+ services/settings/Utils.jsm | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/services/settings/Utils.jsm b/services/settings/Utils.jsm
+index 8736951968..8ac085feea 100644
+--- a/services/settings/Utils.jsm
++++ b/services/settings/Utils.jsm
+@@ -80,15 +80,6 @@ var Utils = {
+    * @return {bool} Whether network is down or not.
+    */
+   get isOffline() {
+-    try {
+-      return (
+-        Services.io.offline ||
+-        CaptivePortalService.state == CaptivePortalService.LOCKED_PORTAL ||
+-        !gNetworkLinkService.isLinkUp
+-      );
+-    } catch (ex) {
+-      log.warn("Could not determine network status.", ex);
+-    }
+     return false;
+   },
+ 
+-- 
+2.31.1
+
+
+From 95e4979573c79c987160a71e913c7564de22127f Mon Sep 17 00:00:00 2001
+From: grizzlyuser <grizzlyuser@protonmail.com>
+Date: Wed, 30 Dec 2020 17:56:02 +0200
+Subject: [PATCH 06/13] Refactor hashing logic to a separate function
+
+It is used instead of internal signature validation mechanism, for
+integrity checking of the locally cached data.
+---
+ services/settings/RemoteSettingsWorker.jsm | 4 ++++
+ services/settings/SharedUtils.jsm          | 9 +++++++--
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/services/settings/RemoteSettingsWorker.jsm b/services/settings/RemoteSettingsWorker.jsm
+index 147ebb6b13..c86e218fd3 100644
+--- a/services/settings/RemoteSettingsWorker.jsm
++++ b/services/settings/RemoteSettingsWorker.jsm
+@@ -189,6 +189,10 @@ class Worker {
+     // task on the current thread instead of the worker thread.
+     return SharedUtils.checkContentHash(buffer, size, hash);
+   }
++
++  async getContentHash(bytes) {
++    return SharedUtils.getContentHash(bytes);
++  }
+ }
+ 
+ // Now, first add a shutdown blocker. If that fails, we must have
+diff --git a/services/settings/SharedUtils.jsm b/services/settings/SharedUtils.jsm
+index db5017a742..1a8e83c2e8 100644
+--- a/services/settings/SharedUtils.jsm
++++ b/services/settings/SharedUtils.jsm
+@@ -28,11 +28,16 @@ var SharedUtils = {
+       return false;
+     }
+     // Has expected content?
++    const hashStr = await this.getContentHash(bytes);
++    return hashStr == hash;
++  },
++
++  async getContentHash(bytes) {
+     const hashBuffer = await crypto.subtle.digest("SHA-256", bytes);
+     const hashBytes = new Uint8Array(hashBuffer);
+     const toHex = b => b.toString(16).padStart(2, "0");
+-    const hashStr = Array.from(hashBytes, toHex).join("");
+-    return hashStr == hash;
++
++    return Array.from(hashBytes, toHex).join("");
+   },
+ 
+   /**
+-- 
+2.31.1
+
+
+From daac032f8a4e12451cda9ec6b1eca29f5a35521f Mon Sep 17 00:00:00 2001
+From: grizzlyuser <grizzlyuser@protonmail.com>
+Date: Wed, 30 Dec 2020 18:05:02 +0200
+Subject: [PATCH 07/13] Client: Fetch and hash records from local dump
+
+Read the records from local dumps. See [1] for details on how to prepare
+custom dumps). Records are cached in the local IndexedDB, and the client
+updates cached records each time there's a change. Also it verifies
+integrity of the data. Then the list of current / created / updated /
+deleted records is generated and emitted to every registered listener.
+
+Change upstream signature validation mechanism to a simpler one.
+Otherwise, it'd be necessary to sign local records, which is redundant,
+because the application package should be signed already by the distro.
+
+Instead of signature property from metadata records, json_dump_metadata
+has been introduced. It contains the checksum of the records and size in
+bytes. Also added app_build_id property for version checking and updates
+of cached data.
+
+Although it's possible to disable integrity checking via preference, it
+seems to be not a good idea, because the logic that detects invalid
+local data relies on it. In the context of local-only setup, data that
+has been received from real Remote Settings server will not contain the
+custom metadata, and thus will be considered invalid and then discarded,
+while the client gets a chance to gracefully inform registered listeners
+about these changes so that they can discard the data received before
+the upgrade to local-only setup.
+
+[1] https://firefox-source-docs.mozilla.org/services/common/services/RemoteSettings.html#initial-data
+---
+ services/settings/RemoteSettingsClient.jsm | 62 ++++++++++------------
+ 1 file changed, 27 insertions(+), 35 deletions(-)
+
+diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
+index 80dd563e11..1025ab33a2 100644
+--- a/services/settings/RemoteSettingsClient.jsm
++++ b/services/settings/RemoteSettingsClient.jsm
+@@ -556,11 +556,9 @@ class RemoteSettingsClient extends EventEmitter {
+ 
+           // If the data is up-to-date but don't have metadata (records loaded from dump),
+           // we fetch them and validate the signature immediately.
+-          if (this.verifySignature && ObjectUtils.isEmpty(localMetadata)) {
++          if (this.verifySignature && ObjectUtils.isEmpty(localMetadata?.json_dump_metadata)) {
+             console.debug(`${this.identifier} pull collection metadata`);
+-            const metadata = await this.httpClient().getData({
+-              query: { _expected: expectedTimestamp },
+-            });
++            const { metadata } = await this._fetchChangeset(expectedTimestamp);
+             await this.db.importChanges(metadata);
+             // We don't bother validating the signature if the dump was just loaded. We do
+             // if the dump was loaded at some other point (eg. from .get()).
+@@ -813,32 +811,23 @@ class RemoteSettingsClient extends EventEmitter {
+   async _validateCollectionSignature(records, timestamp, metadata) {
+     const start = Cu.now() * 1000;
+ 
+-    if (!metadata?.signature) {
++    if (!metadata?.json_dump_metadata) {
+       throw new MissingSignatureError(this.identifier);
+     }
+ 
+-    if (!this._verifier) {
+-      this._verifier = Cc[
+-        "@mozilla.org/security/contentsignatureverifier;1"
+-      ].createInstance(Ci.nsIContentSignatureVerifier);
+-    }
+-
+-    // This is a content-signature field from an autograph response.
+     const {
+-      signature: { x5u, signature },
++      json_dump_metadata: { hash, size },
+     } = metadata;
+-    const certChain = await (await Utils.fetch(x5u)).text();
+     // Merge remote records with local ones and serialize as canonical JSON.
+     const serialized = await RemoteSettingsWorker.canonicalStringify(
+       records,
+       timestamp
+     );
+     if (
+-      !(await this._verifier.asyncVerifyContentSignature(
+-        serialized,
+-        "p384ecdsa=" + signature,
+-        certChain,
+-        this.signerName
++      !(await RemoteSettingsWorker.checkContentHash(
++        new TextEncoder().encode(serialized),
++        size,
++        hash
+       ))
+     ) {
+       throw new InvalidSignatureError(this.identifier);
+@@ -1030,24 +1019,27 @@ class RemoteSettingsClient extends EventEmitter {
+    * @param since timestamp of last sync (optional)
+    */
+   async _fetchChangeset(expectedTimestamp, since) {
+-    const client = this.httpClient();
+-    const {
+-      metadata,
+-      timestamp: remoteTimestamp,
+-      changes: remoteRecords,
+-    } = await client.execute(
+-      {
+-        path: `/buckets/${this.bucketName}/collections/${this.collectionName}/changeset`,
+-      },
+-      {
+-        query: {
+-          _expected: expectedTimestamp,
+-          _since: since,
+-        },
+-      }
++    const { data } = await SharedUtils.loadJSONDump(
++      this.bucketName,
++      this.collectionName
+     );
++    const remoteRecords = data ?? [];
++
++    const serialized = await RemoteSettingsWorker.canonicalStringify(
++      remoteRecords,
++      expectedTimestamp
++    );
++    const bytes = new TextEncoder().encode(serialized);
++    const metadata = {
++      app_build_id: Services.appinfo.appBuildID,
++      json_dump_metadata: {
++        hash: await RemoteSettingsWorker.getContentHash(bytes),
++        size: bytes.length,
++      },
++    }
++
+     return {
+-      remoteTimestamp,
++      remoteTimestamp: expectedTimestamp,
+       metadata,
+       remoteRecords,
+     };
+-- 
+2.31.1
+
+
+From 4d36e599e6b24e10960ebb978c038c66c5ade06d Mon Sep 17 00:00:00 2001
+From: grizzlyuser <grizzlyuser@protonmail.com>
+Date: Wed, 30 Dec 2020 18:42:56 +0200
+Subject: [PATCH 08/13] Client: start deferred sync on get() or on()
+
+The users of the RemoteSettingsClient.jsm can receive records from it in
+two ways: by calling get(), and by subscribing to events by calling
+on().
+
+So hook a deferred sync whenever something calls these methods. Because
+multiple of those calls can be made quite early and in very short time,
+set up a deferred task that will be armed only when needed and only once
+in a second. When the task is running it first checks if the local data
+came from the dump of the current app build, and no-ops if true. If
+false, it triggers a sync. Then adds a flag if the client has been
+correctly synchronized with the dump, so that no metadata checking
+occurs during the session.
+---
+ services/settings/RemoteSettingsClient.jsm | 30 +++++++++++++++++++++-
+ 1 file changed, 29 insertions(+), 1 deletion(-)
+
+diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
+index 1025ab33a2..1cebf2bc29 100644
+--- a/services/settings/RemoteSettingsClient.jsm
++++ b/services/settings/RemoteSettingsClient.jsm
+@@ -16,6 +16,7 @@ XPCOMUtils.defineLazyModuleGetters(this, {
+   ClientEnvironmentBase:
+     "resource://gre/modules/components-utils/ClientEnvironment.jsm",
+   Database: "resource://services-settings/Database.jsm",
++  DeferredTask: "resource://gre/modules/DeferredTask.jsm",
+   Downloader: "resource://services-settings/Attachments.jsm",
+   IDBHelpers: "resource://services-settings/IDBHelpers.jsm",
+   KintoHttpClient: "resource://services-common/kinto-http-client.js",
+@@ -30,6 +31,7 @@ XPCOMUtils.defineLazyModuleGetters(this, {
+ });
+ 
+ const TELEMETRY_COMPONENT = "remotesettings";
++const DEFERRED_SYNC_DELAY_MILLISECONDS = 1000;
+ 
+ XPCOMUtils.defineLazyGetter(this, "console", () => Utils.log);
+ 
+@@ -259,6 +261,14 @@ class RemoteSettingsClient extends EventEmitter {
+     this._lastCheckTimePref = lastCheckTimePref;
+     this._verifier = null;
+     this._syncRunning = false;
++    this._deferredSync = new DeferredTask(
++      async () => {
++        if (!this._syncRunning && !(await this._isSynced())) {
++          await this.sync();
++        }
++      },
++      DEFERRED_SYNC_DELAY_MILLISECONDS
++    );
+ 
+     // This attribute allows signature verification to be disabled, when running tests
+     // or when pulling data from a dev server.
+@@ -290,6 +300,11 @@ class RemoteSettingsClient extends EventEmitter {
+     );
+   }
+ 
++  on(event, callback) {
++    super.on(event, callback);
++    this._deferredSync.arm();
++  }
++
+   get identifier() {
+     return `${this.bucketName}/${this.collectionName}`;
+   }
+@@ -353,6 +368,10 @@ class RemoteSettingsClient extends EventEmitter {
+       let lastModified = await this.db.getLastModified();
+       let hasLocalData = lastModified !== null;
+ 
++      if (!(await this._isSynced())) {
++        throw new MissingSignatureError(this.identifier);
++      }
++
+       if (syncIfEmpty && !hasLocalData) {
+         // .get() was called before we had the chance to synchronize the local database.
+         // We'll try to avoid returning an empty list.
+@@ -414,7 +433,10 @@ class RemoteSettingsClient extends EventEmitter {
+       // No need to verify signature on JSON dumps.
+       // If local DB cannot be read, then we don't even try to do anything,
+       // we return results early.
+-      return this._filterEntries(data);
++      const filtered = this._filterEntries(data);
++      this._deferredSync.arm();
++
++      return filtered;
+     }
+ 
+     console.debug(
+@@ -452,6 +474,12 @@ class RemoteSettingsClient extends EventEmitter {
+     return final;
+   }
+ 
++  async _isSynced() {
++    this._synced ||=
++      Services.appinfo.appBuildID === (await this.db.getMetadata())?.app_build_id;
++    return this._synced;
++  }
++
+   /**
+    * Synchronize the local database with the remote server.
+    *
+-- 
+2.31.1
+
+
+From defc4080596f5407a98f0c9f1a456f685226054f Mon Sep 17 00:00:00 2001
+From: grizzlyuser <grizzlyuser@protonmail.com>
+Date: Wed, 30 Dec 2020 18:53:51 +0200
+Subject: [PATCH 09/13] Client: deep compare records if timestamps match
+
+When the list of current / updated / deleted records is generated, their
+modification timestamps are compared to detect the updates.
+
+Although in practice this is unlikely to happen, in theory the
+timestamp of some older record received from Remote Settings can match
+with the modified record in the dump. Although JSON processing script
+makes sure to add unique timestamps to each of the modified records,
+it's still possible to update dumps manually and simply forget to update
+timestamps. So serialize the records and compare them as strings to be
+on the safe side. This should happen only once after upgrading to each
+new version of the application, so is not likely to introduce any
+noticeable performance issues.
+---
+ services/settings/RemoteSettingsClient.jsm | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
+index 1cebf2bc29..2c18c5cfb6 100644
+--- a/services/settings/RemoteSettingsClient.jsm
++++ b/services/settings/RemoteSettingsClient.jsm
+@@ -13,6 +13,7 @@ const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
+ 
+ XPCOMUtils.defineLazyModuleGetters(this, {
+   AppConstants: "resource://gre/modules/AppConstants.jsm",
++  CanonicalJSON: "resource://gre/modules/CanonicalJSON.jsm",
+   ClientEnvironmentBase:
+     "resource://gre/modules/components-utils/ClientEnvironment.jsm",
+   Database: "resource://services-settings/Database.jsm",
+@@ -1022,7 +1023,10 @@ class RemoteSettingsClient extends EventEmitter {
+         const old = oldById.get(r.id);
+         if (old) {
+           oldById.delete(r.id);
+-          if (r.last_modified != old.last_modified) {
++          if (
++            r.last_modified != old.last_modified ||
++            CanonicalJSON.stringify(r) != CanonicalJSON.stringify(old)
++          ) {
+             syncResult.updated.push({ old, new: r });
+           }
+         } else {
+-- 
+2.31.1
+
+
+From c2ee19f01bc37e15c7742af8a502ffaa10745a52 Mon Sep 17 00:00:00 2001
+From: grizzlyuser <grizzlyuser@protonmail.com>
+Date: Wed, 30 Dec 2020 19:01:39 +0200
+Subject: [PATCH 10/13] Client: delete more data on cleanup
+
+When the client detects the local data is invalid (i.e. it came from
+real Remote Settings and can have unwanted records), delete not only
+the records, but also the attachments that came with them, because they
+too can be problematic. And last check time preference, because it's not
+useful anyway when remote-settings.js doesn't do any polling for changes.
+
+Note that attachments should be deleted before the records, because the
+logic gets the data about the attachments from those records.
+---
+ services/settings/RemoteSettingsClient.jsm | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
+index 2c18c5cfb6..8b65dc0cba 100644
+--- a/services/settings/RemoteSettingsClient.jsm
++++ b/services/settings/RemoteSettingsClient.jsm
+@@ -221,7 +221,10 @@ class AttachmentDownloader extends Downloader {
+   async deleteAll() {
+     let allRecords = await this._client.db.list();
+     return Promise.all(
+-      allRecords.filter(r => !!r.attachment).map(r => this.delete(r))
++      allRecords.filter(r => !!r.attachment).map(r => {
++        this.delete(r);
++        this.deleteCached(r.id);
++      })
+     );
+   }
+ }
+@@ -982,7 +985,7 @@ class RemoteSettingsClient extends EventEmitter {
+           // Signature failed, clear local DB because it contains
+           // bad data (local + remote changes).
+           console.debug(`${this.identifier} clear local data`);
+-          await this.db.clear();
++          await this._clearAll();
+           // Local data was tampered, throw and it will retry from empty DB.
+           console.error(`${this.identifier} local data was corrupted`);
+           throw new CorruptedDataError(this.identifier);
+@@ -1004,7 +1007,7 @@ class RemoteSettingsClient extends EventEmitter {
+             // _importJSONDump() only clears DB if dump is available,
+             // therefore do it here!
+             if (imported < 0) {
+-              await this.db.clear();
++              await this._clearAll();
+             }
+           }
+         }
+@@ -1044,6 +1047,12 @@ class RemoteSettingsClient extends EventEmitter {
+     return syncResult;
+   }
+ 
++  async _clearAll() {
++    await this.attachments.deleteAll();
++    await this.db.clear();
++    Services.prefs.clearUserPref(this.lastCheckTimePref);
++  }
++
+   /**
+    * Fetch information from changeset endpoint.
+    *
+-- 
+2.31.1
+
+
+From 56d2af487f7077753ea4df6bd0b1e6c91ed7ab9f Mon Sep 17 00:00:00 2001
+From: grizzlyuser <grizzlyuser@protonmail.com>
+Date: Wed, 30 Dec 2020 19:07:56 +0200
+Subject: [PATCH 11/13] Client: remove comparison of collection timestamps
+
+In case if the cached data that came from real Remote Settings server
+(before the upgrade to local-only setup) has collection timestamp, that
+is newer than the packaged local dump, then this comparison logic can
+lead to early return of old data, skipping the integrity checking and
+necessary cleanup. So remove the checks.
+---
+ services/settings/RemoteSettingsClient.jsm | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
+index 8b65dc0cba..6274596591 100644
+--- a/services/settings/RemoteSettingsClient.jsm
++++ b/services/settings/RemoteSettingsClient.jsm
+@@ -917,14 +917,9 @@ class RemoteSettingsClient extends EventEmitter {
+       updated: [],
+       deleted: [],
+     };
+-    // If data wasn't changed, return empty sync result.
+-    // This can happen when we update the signature but not the data.
+     console.debug(
+       `${this.identifier} local timestamp: ${localTimestamp}, remote: ${remoteTimestamp}`
+     );
+-    if (localTimestamp && remoteTimestamp < localTimestamp) {
+-      return syncResult;
+-    }
+ 
+     const start = Cu.now() * 1000;
+     await this.db.importChanges(metadata, remoteTimestamp, remoteRecords, {
+-- 
+2.31.1
+
+
+From c009c1a9ba2477c9335921b706256f115ecfd498 Mon Sep 17 00:00:00 2001
+From: grizzlyuser <grizzlyuser@protonmail.com>
+Date: Wed, 30 Dec 2020 19:15:44 +0200
+Subject: [PATCH 12/13] Attachments: load only from dump and drop cached
+
+---
+ services/settings/Attachments.jsm | 35 +++++++------------------------
+ 1 file changed, 8 insertions(+), 27 deletions(-)
+
+diff --git a/services/settings/Attachments.jsm b/services/settings/Attachments.jsm
+index 0eeb632799..eaa7db8c81 100644
+--- a/services/settings/Attachments.jsm
++++ b/services/settings/Attachments.jsm
+@@ -143,10 +143,11 @@ class Downloader {
+       checkHash,
+       attachmentId = record?.id,
+       useCache = false,
+-      fallbackToCache = false,
+       fallbackToDump = false,
+     } = options || {};
+ 
++    const fallbackToCache = false;
++
+     if (!useCache) {
+       // For backwards compatibility.
+       // WARNING: Its return type is different from what's documented.
+@@ -206,6 +207,7 @@ class Downloader {
+         const newBuffer = await this.downloadAsBytes(record, {
+           retries,
+           checkHash,
++          dumpInfo,
+         });
+         const blob = new Blob([newBuffer]);
+         if (useCache) {
+@@ -241,7 +243,7 @@ class Downloader {
+       }
+ 
+       try {
+-        return { ...(await cacheInfo.getResult()), _source: "cache_fallback" };
++        await this.cacheImpl.delete(attachmentId);
+       } catch (e) {
+         // Failed to read from cache, e.g. IndexedDB unusable.
+         Cu.reportError(e);
+@@ -278,7 +280,7 @@ class Downloader {
+    * @returns {String} the absolute file path to the downloaded attachment.
+    */
+   async downloadToDisk(record, options = {}) {
+-    const { retries = 3 } = options;
++    const retries = 0;
+     const {
+       attachment: { filename, size, hash },
+     } = record;
+@@ -335,31 +337,10 @@ class Downloader {
+    */
+   async downloadAsBytes(record, options = {}) {
+     const {
+-      attachment: { location, hash, size },
+-    } = record;
+-
+-    const remoteFileUrl = (await this._baseAttachmentsURL()) + location;
++      dumpInfo = new LazyRecordAndBuffer(() => this._readAttachmentDump(attachmentId))
++    } = options;
+ 
+-    const { retries = 3, checkHash = true } = options;
+-    let retried = 0;
+-    while (true) {
+-      try {
+-        const buffer = await this._fetchAttachment(remoteFileUrl);
+-        if (!checkHash) {
+-          return buffer;
+-        }
+-        if (await RemoteSettingsWorker.checkContentHash(buffer, size, hash)) {
+-          return buffer;
+-        }
+-        // Content is corrupted.
+-        throw new Downloader.BadContentError(location);
+-      } catch (e) {
+-        if (retried >= retries) {
+-          throw e;
+-        }
+-      }
+-      retried++;
+-    }
++    return (await dumpInfo.getResult()).buffer;
+   }
+ 
+   /**
+-- 
+2.31.1
+
+
+From 2035bd7a6ce1816417b619d3f1ce994a8b44ce9d Mon Sep 17 00:00:00 2001
+From: grizzlyuser <grizzlyuser@protonmail.com>
+Date: Wed, 30 Dec 2020 19:22:20 +0200
+Subject: [PATCH 13/13] Disable CRLite entirely for now
+
+It's designed to fetch the data from Remote Settings. One of the main
+selling points is that new revocations can be pushed to the clients
+within minutes. That won't work with local-only setup. Although (some?)
+of the JSON dumps for it are in place, obviously the updates won't
+happen that fast.
+
+Right now CRLite doesn't enforce anything, and works just for telemetry
+collection (which is hopefully disabled anyway). So disable the
+preference right in the source code, so that the patch fails to apply
+when the upstream decides to set it to enforcing mode by default.
+
+The solution with CRLite is up for discussion. If necessary, it's
+possible to make clients for blessed collections to communicate to real
+Remote Settings server. For example, for collections related to
+certificate revocations.
+---
+ modules/libpref/init/all.js | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
+index edca292681..da7e23d674 100644
+--- a/modules/libpref/init/all.js
++++ b/modules/libpref/init/all.js
+@@ -172,7 +172,7 @@ pref("security.cert_pinning.max_max_age_seconds", 5184000);
+ // 0: Disable CRLite entirely
+ // 1: Enable and check revocations via CRLite, but only collect telemetry
+ // 2: Enable and enforce revocations via CRLite
+-pref("security.pki.crlite_mode", 1);
++pref("security.pki.crlite_mode", 0);
+ 
+ // Represents the expected certificate transparency log merge delay (including
+ // the time to generate a CRLite filter). Currently 28 hours in seconds.
+-- 
+2.31.1
+
diff --git a/libre/iceweasel/9003-FSDG-misc.patch b/libre/iceweasel/9003-FSDG-misc.patch
deleted file mode 100644
index b9e5c42..0000000
--- a/libre/iceweasel/9003-FSDG-misc.patch
+++ /dev/null
@@ -1,323 +0,0 @@
-diff --git a/browser/app/permissions b/browser/app/permissions
-index 991284081d..888cc811ce 100644
---- a/browser/app/permissions
-+++ b/browser/app/permissions
-@@ -15,11 +15,5 @@ origin	uitour	1	https://support.mozilla.org
- origin	uitour	1	about:home
- origin	uitour	1	about:newtab
-
--# XPInstall
--origin	install	1	https://addons.mozilla.org
--
- # Remote troubleshooting
- origin	remote-troubleshooting	1	https://support.mozilla.org
--
--# addon install
--origin	install	1	https://fpn.firefox.com
-diff --git a/browser/components/preferences/sync.inc.xhtml b/browser/components/preferences/sync.inc.xhtml
-index 7d37d26..4ebbc06 100644
---- a/browser/components/preferences/sync.inc.xhtml
-+++ b/browser/components/preferences/sync.inc.xhtml
-@@ -35,22 +35,6 @@
-         </hbox>
-       </vbox>
-     </hbox>
--    <label class="fxaMobilePromo" data-l10n-id="sync-mobile-promo">
--      <html:img
--        src="chrome://browser/skin/logo-android.svg"
--        data-l10n-name="android-icon"
--        class="androidIcon"/>
--      <html:a
--        data-l10n-name="android-link"
--        class="fxaMobilePromo-android text-link" target="_blank"/>
--      <html:img
--        src="chrome://browser/skin/logo-ios.svg"
--        data-l10n-name="ios-icon"
--        class="iOSIcon"/>
--      <html:a
--        data-l10n-name="ios-link"
--        class="fxaMobilePromo-ios text-link" target="_blank"/>
--    </label>
-   </groupbox>
- 
-   <vbox id="hasFxaAccount">
-diff --git a/browser/locales/en-US/browser/policies/policies-descriptions.ftl b/browser/locales/en-US/browser/policies/policies-descriptions.ftl
-index dabfadc..3ce732e 100644
---- a/browser/locales/en-US/browser/policies/policies-descriptions.ftl
-+++ b/browser/locales/en-US/browser/policies/policies-descriptions.ftl
-@@ -96,7 +96,7 @@ policy-ExtensionSettings = Manage all aspects of extension installation.
- 
- policy-ExtensionUpdate = Enable or disable automatic extension updates.
- 
--policy-FirefoxHome = Configure Firefox Home.
-+policy-FirefoxHome = Configure Iceweasel Home.
- 
- policy-FlashPlugin = Allow or deny usage of the Flash plugin.
- 
-diff --git a/browser/locales/en-US/browser/preferences/preferences.ftl b/browser/locales/en-US/browser/preferences/preferences.ftl
-index 1b29e8d..6f7566c 100644
---- a/browser/locales/en-US/browser/preferences/preferences.ftl
-+++ b/browser/locales/en-US/browser/preferences/preferences.ftl
-@@ -550,7 +550,7 @@ home-restore-defaults =
- # "Firefox" should be treated as a brand and kept in English,
- # while "Home" and "(Default)" can be localized.
- home-mode-choice-default =
--    .label = Firefox Home (Default)
-+    .label = Iceweasel Home (Default)
- 
- home-mode-choice-custom =
-     .label = Custom URLs…
-@@ -577,10 +577,10 @@ choose-bookmark =
-     .label = Use Bookmark…
-     .accesskey = B
- 
--## Home Section - Firefox Home Content Customization
-+## Home Section - Iceweasel Home Content Customization
- 
--home-prefs-content-header = Firefox Home Content
--home-prefs-content-description = Choose what content you want on your Firefox Home screen.
-+home-prefs-content-header = Iceweasel Home Content
-+home-prefs-content-description = Choose what content you want on your Iceweasel Home screen.
- 
- home-prefs-search-header =
-     .label = Web Search
-@@ -714,16 +714,6 @@ sync-signedout-account-signin2 =
-     .label = Sign in to { -sync-brand-short-name }…
-     .accesskey = i
- 
--# This message contains two links and two icon images.
--#   `<img data-l10n-name="android-icon"/>` - Android logo icon
--#   `<a data-l10n-name="android-link">` - Link to Android Download
--#   `<img data-l10n-name="ios-icon">` - iOS logo icon
--#   `<a data-l10n-name="ios-link">` - Link to iOS Download
--#
--# They can be moved within the sentence as needed to adapt
--# to your language, but should not be changed or translated.
--sync-mobile-promo = Download Firefox for <img data-l10n-name="android-icon"/> <a data-l10n-name="android-link">Android</a> or <img data-l10n-name="ios-icon"/> <a data-l10n-name="ios-link">iOS</a> to sync with your mobile device.
--
- ## Firefox Account - Signed in
- 
- sync-profile-picture =
-diff --git a/browser/locales/generic/profile/bookmarks.html.in b/browser/locales/generic/profile/bookmarks.html.in
-index 2d3c7b4..00221d3 100644
---- a/browser/locales/generic/profile/bookmarks.html.in
-+++ b/browser/locales/generic/profile/bookmarks.html.in
-@@ -1,15 +1,15 @@
- #filter substitution
- #include @BOOKMARKS_INCLUDE_PATH@
- 
--#define mozilla_icon data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E %3Cpath d='M0 0h16v16H0z'/%3E %3Cpath d='M13.994 10.356H15V12h-3.171V7.741c0-1.308-.435-1.81-1.29-1.81-1.04 0-1.46.737-1.46 1.8v2.63h1.006V12H6.918V7.741c0-1.308-.435-1.81-1.291-1.81-1.039 0-1.459.737-1.459 1.8v2.63h1.441V12H1v-1.644h1.006V6.079H1V4.435h3.168v1.139a2.507 2.507 0 0 1 2.3-1.29A2.452 2.452 0 0 1 8.931 5.91 2.535 2.535 0 0 1 11.4 4.284 2.448 2.448 0 0 1 14 6.9v3.458z' fill='%23fff'/%3E %3C/svg%3E
-+#define parabola_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC
- 
--#define firefox_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAHY0lEQVR4Aa3VA5RrSdfG8f+uOidJp/umczm2ffFhbNvG9722bdv22LZt+3I81+04B1XvfpPmWHut3yk06smus1Z4L8uXDv6MHzpowA8eWFS8FaY9eU+cCvxaFfF8W/FWGDy8a6n7DM7/H96DR3ldu0MVb8a0J+9CI1qXJP11a+79GOdP1f11FW/EtCfvQpx8mziFxMHEEEV1KYkrKl6Pea1Nbnrs/7hz7q2KUQsqRcUE/eV1acb/pyFQ7b9N3fguzNTxVsXrMa/avFgPb6SnukY8W6EgXvszrszjivH08F0VLZFK0rbUgRt9H2aS+lORznUxnTMV45kJG6fNPZSGnEodTJwUFGbphqdSll/H/SxWjEc92kYxSoO0uzEcwo90g/9rlKpHpCmX491MxQgzuvjtE0UieyqxhYZA3UGp8CjUtSMR2YrkFdf+/szi9X88+zM3/uncSx/81/f+7/HzPsu8q09i8MUNcCUHUTImceAAL+RC+UW1nMzHuUvxSVGBCloTgMT+GuOLipaGyg/OpLuE/jVI58wHb/zsdxD5tBVbDMQwOPe/8UDqHYuuPJjCZnP5nw/+mfyUPhADRtkAaIfosum23klBxH8b+KzCfuczG8IPXi4C5yHQwvDoPYhCBSkz1n9y1+WLd8xFzVUxxmIRjBIBVHXFZF58aEtW3exxsp0V8Aac8gpBnGQBRNymkP4VXKPdgdj8H2JB/DgMVwreATFhdoCdj/wY8x7+GM8/djyJ81hlnCPTUWfHb/0QlyRUelalEPcCHswIQARJPd64ohh/KHBagPcQB7sggHgIVHcM0wUyWWUAoNaEuobI9bP1dj9lw1nnMvehj/LS0wdinYO4wM1f/h6z3v9n1t3pTnAWBj04ZQA7LFROwMsu7QCpgcjuCh4Asg5Wa0ImgNDqqHTOtDyIgPPKkZ/cZOstzmT+Nw4jcA5JBO9SHjzzWKZt8CRd03ohD/RZALCigIwHawBmKgKSVoAiAi2VDCzsgo0bYB04lSojEAaQDyETsmTZf3PPdZ+irvMgTTF4SAVX7+SRC/dj5/f/C6D9d5UQLBAIFBJILIhtB1g2a8uZq+1+LwiAV8CSTujPwqoRbJjCJMdAeRVue+j/WLh4T2I3jcCEhN4ShmDFYR2IAXC8OHdDaMYAYBxU82AFAgPShHoejAEgUEViy2h5UbS9LLBajf5oMr866wc0wlWQvEEyNQKbIcSSwZBNIfAO41NQ9ZXd0IgBAQdUDAQWpjQhcfi6gCgguDtTm3vIUBdhdwUA/Pggqmy49/n/pr/q8ZMq4DziEwI0QOtpiT1kXUqQRqC8ohaDy0BqoGzxOUE6q9DwMBiOvtzm5OLi3migAFEwpjnOCzmKhZXUkyr1uEwtLqky1aStNk4jqhFFDVZb6ykYMjBodQxw5RAKZUgSqAq+YmmWzFxF0P8L61Z8pHhf5/S+bfHQJm1OLcuzw4YPcWH3/qysTcebFHyESTOkhLjUokt8M8VFCVYDbLXhvdCfARfiG3lkykDr2qhbXJTRUZBAngMwootGI3tbrbcIsR3ugp3Yhbun89l9/ko+qCDVGpQruHKJqDakBmnq2KyXaDZKrDX1KWau+ij0ZqAvgwR1JFuFmihwPTkdDQN9co3C6IMnwujs0sppELcOV+NHVc2wzv2eb+74J6ZP6kGazeEgZZJqiaRWJo6qbDb5MU7c4ixYmYUhC7YJaQxVgYrgSxa3sgNftdww31+usFuvuykfWDzU/4HytL0llTVz+SbiAScTryKxFFc6dlnnQVZP+wEo2grT7ACb5V7g2BnXsVfxHsLEgfGQTYb/1kJqWpKV3VDLM1iXi/a8PDrtqmecl451DwLg8oG1DtnMmcsKq/bQ1V3BmBTsfzgIfHucwINxICivADt8eADkBLJGtcc0ydHsmU7QEXBFfzwTeFwRnLFtDoBD7nv5+vv61v2XXzHlfR7oKtQxLkFcCqkDK8qMHdIex4gSMxaoKZBtS8lQ18NtJsPSmv/Nyfc3nma4RjsA8Jnq1HU+WC9cY01z865pJQrdDcQkrW6IpGOfun3oxLnw6m/SEBIyVFbOIMhmiXJy35oL+vYDBhkuGxY3YaTuy9TLA+Jv2inu2j2ph9NrTUMmCyIGjwEnyiCtUaUWnGlLR1hIlM6rKwpUX5qBiTuI02Du94aqx8zJhEsVI4IPduUZV+7vDC0CDv9GdeolUjObL18ckutqMKkQkc2kiFHOITLCwyiUp1bNUhuYRFrrxPoMzdDM/XbUf/gZvvYsozX+Cl5d5vh690afrk3+0hR4XyoxqYmQICaTSwjClI6cA3EIvhWi0QiIm6rRgaQh1ikfsMK43/xv8YWfASuUe6sBAIzqPmNwjb1nJdnP5PDbOpPgJMXjWhDAC4JgvEWUaQkoib/o/NzQb37S1fP0+Dt/6wHGKqe6v1yZvuG+zc69p3m7d4dnW8TjAaEdwmFKEcztkfSG67KVG346aeV8YEglincRYLQClVcdKsery6lI1VVNJbyF+jdp8gPG4E08mAAAAABJRU5ErkJggg==
-+#define fsf_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAADG0lEQVQoFQEQA+/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQECAAAAAAAAAAAAAAAAAAAA2qOp7tTXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP///wAAAAAAAOCyt7pUXQcSEgcQDwAAAP///wAAAAAAAAD//x9NSDqNhQEBAQQAAAAAAAAAAAAAAAAQJiQGDQ0aPToZPjoAAQEAAAAAAAAAAAABAQEpZV4AAAAAAAAAAAAA////////////////pSIv05KZ////////////////////////////////AAAAAQAAAP///6krNwAAAAAAAPHc3ggSEQcSEQAAAAAAAAAAABY3NEGelQAAAAAAAAEBAQEAAAD///+YARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDg1g690CBgYAAAABAQEEAAAAAAAAS7etAAAAAAAAwGVtHklFIlJOAAAAAAAAAAAAAAAA+/X2BwYGAAAAAAAABAAAAAAAAB1IQwAAAAAAAAYNDBAmJB1IQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAgL//v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAQEB//7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAECAv/+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////cqK3qzM////////////////////////////////8AAAABAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGuLjDf9F8oBAAAAAElFTkSuQmCC
- 
--#define bugzilla_icon data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnYCL7J0pY9wwETY9kYEM9AAAAAEBAYAhVVVUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1bjTOS1Vb/wAA2/8JEqT/Q0g8kQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJnMqoiJtJ/0haST/NEkp/yQnW/8AAPD8AAHY/RsgP/JZUI+GKitih4ObUEAAAAAAAAAAAAAAAAAAAAAAKnouwip5Lv9ooW//a6Jz/y9GIv8JBXb/AADO/gEBvf8AAK7/FRJp/z9BfP8iLGj1AAAAAAAAAAAAAAAAL4YzwiB0I/+UwJ3/bK+C/02eZ/9CTjz/DBa1/wABxf8BAOj/AACp/w8Oc/sJCv//EhCN9AAAAAAAAAAANJA6iC2MMv93tYL/TZ5U/3mzjP9NoWr/NEss/wYIU/8CBOn/ARCX/wwNqP0TD6X/Cgyex5qacDAAAAAAAAAAADKUN/ZirWj/d76R/0SgXf9Ln1P/eLSM/1mda/8rOkb/CQiD/wMQvf8UEnT/MTAt4P//MwUhZyN8AAAAAAAAAAAznDf5UqlZ/228jP9NqnD/Qp9c/0yiVP+Dv5b/VaVw/0VxXf9PZXD/S3pQ/y54Nf8jcCf/I2wn/wAAAAA0ozjIM6E4/zOeOP+Uz6z/XLR+/06scv9BoV3/TqZX/4XBmP9XqHP/hr6Z/yp+Lf8leSr1JXUqbQAAAAA3rTz7Nqo7/zWmOqM3oz7rUK1W/43Mpf9etYD/T61z/0KjXf9Rqln/msup/46/lf8pgy7/JFg6sAAAAAAAAAAAOK8+8jqvOiMAAAAAAAAAADSlOv85pT//kM6o/2K5hP9Ysnv/YLJ2/ziXPv8piS3/V6Ri/yZQQ9wAAAAAAAAAAAAAAAAAAAAAAAAAADetP0E2qzz/OKg98UWsS/+e1K3/pNe4/4XDjv8ojy3/T7df/5fIqv8sjTH/K4kw/yqFLv8AAAAAAAAAAAAAAAA4sT3xN7A8+QAAAAA4qz3yNag6/zSlOf80oTn/csJ+/6/jwv9fjHj/MmRMdQAAAAAAAAAAAAAAAAAAAAAAAAAAOrdA/zm0QHQAAAAAAAAAADasO/k2qTvuRX5lpjqGT/gznDr/O3FXigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADq9QiMAAAAAAAAAAAAAAAA4sj7/Nq09s0uOaSI1qTplM6U68wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOrc//zu0P0EAAAAAOK4+UjWsPPgAAAAAAAAAAAAAAAAAAAAA/48AAP8HAAD4AQAA8AAAAOAAAADAAQAAwAMAAMAAAACAAwAAAAMAAHADAADwAAAA5AcAAO4HAAD+bwAA/u8AAA==
-+#define gnu_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAGFBMVEVFRUV+fn6mpqa/v7/Ozs7Y2Njg4OD8/Pwuhn+TAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9MBDhQ6Gd8s57cAAAEVSURBVBgZBcGxVtpgGADQL9gHSBzqSognzMixmcWWzB6pmRHhnyvku6/fewMAIPD3TwHmQxHs6vr+A16bphNum/vV0x429201hcPjAGBTDZGnR/Kw1U181+u4HXvOdSxjUcztz8jjg1xGVBG9XPYxt4PviKiaWLg168iXtbrq+mPT1utjNcR1U73deRnL43M2sRgj3+oYs8uL3rLphPd2QWmHbMu/VS/cnk6UdtSW657g9yBlcZ0UAkUWzPvyRaAYmfd+HT4IZtvC59ibEJxXiqJjQpBpNEufBYE0McoOAunGhRMEFIPc7h4goJigQEBxk8u7AgEpL3IEAUZfcgAByGFXQACm5+4MAuB19QMEgI8CAgDgP4rivVgoKP6ZAAAAAElFTkSuQmCC
- 
--#define mdn_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAABgElEQVR4AWPouPiRpmjUAjgatSBj+aG0OVuyVhymsgWl2y475zXySikwwIC4lpFDVk3avG0BrXP9mmeV7bhCvgXuxW3M7JwMeAGfpByZFpjHFzAQB2KmrSfZAtuMKgaiAZ+MUuLc7SRY4FbYwkA60HAJiJm8uubQAwIWeJV1MlAAOAREHDJrcFqQMG+ngIK6oKyykLwqAyMjeXZwiUjgtKD+yGMIwyGzmoGBTAs4hcXrgObgi4OiVkpCiUtYov7YU5wW1B194t0ww69ldvjktYouwWRYIGdkQ1Q+iJ28hp2Xn7B5zKzIPAlNw6S52wlbkL3mJJecOq+CBqeIJC6TjUJTMlcdz9lwLmriSuPgJBVbj/D+5SSXRequQVhNN4nIoEJhV77jKgs7B6bprJw85XtuU8GCpNlbSS3gSA4ii4QiTAvElDWpWeH41kxg5eZDSypUrtFKd1zTcA1EpHRDS5rUyQEts+VN7JjYOGR0TWhY6RdsOhc/Y9NoswUJjVoAAE+h555Rgcg2AAAAAElFTkSuQmCC
-+#define libreplanet_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACfElEQVQ4jZXTS0hUcRTH8f+9M3fGd0gRRq1a2bZdBAotWtS6TQtB6IHgKzRy0UKqjRaRCAq+R21MDMsUR83JR5fJxhmaK2lzsWAWw+ToEHJxgnFm7reFIgza66z/58P/dzhHcESZpsluIsFPwyCVSmGa5lHPEEIIkdGYTqPPvqUlP4fK8nJ2DINYNEq71YJ3fv4QlAGkUynaj+VRdfUK7580M52rEN/ZYWNjg2GrjEMSPFXsmOn0YcA0TZ4V5tNZUkJTTTWfJiZIJhJ8U1VczwcZs0o4JUHzufM0ZGcf/OQASCaTxGIxDMNA00P8iEbpuXyJ8Tw77+wWJhWZQYuVbiHoFIKwpmUC4XCYzc1NDMMgHo9z8+IFvl6/xsf7D9ArbjOpyAxLEt1C0CUErfvJDwBd14lEImxvb/N9fR1fgY3egmyWsq0sO/poUyw4pb3mLiFolyRM09wDEokEfr+fUChEJBJh4HgBS7kKn92zLIy9ZriqklFZwiEEHfsRRp1O0un0HpDa3cU9M8PKygp3Tp5AzbKgZlmYt1uYtkn02q0MyYKmnBxWNI27Nhtut5tkMrkHmKZJbWkpqqryQpFxKTJTisyEVeaVRWJIlqgpLuZRWRkejwe/34/P58ucwZvWVhYXF5l2uejIzeHGqbM4ZYmB/dy1hUV8mJpibm4On8/H1tbW4T1YXV3F6/WysLDA5Pg4nfsDe5yfz8OiIjweD5qmEQwGf7/KwWCQtbU1NE2jRZbpEoI2SWKqr49lVUXX9T/fAkAgEKC/e5SW6mo6hKD+zGn6e0bw+/x/PyaA9S/rvOwfobGukfpbddyraMDR7iCwHPg34H9KCCF+Abts3KCj/p6aAAAAAElFTkSuQmCC
- 
--#define addon_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAABOFBMVEUAAAAAzdwAydcAyNgA//8AzOYAydcAyNgAyNgA2NgAytoAzNkAytgAydgA29sA0egAyNgAyNgA//8AyNgAydgA//8Ay9cAydcAytkAz90Ay9gA1eoAydgAytsAyNgAytgAydkAydgAydgAyNgAydgAyNcAy9oAydgA//8AytsAy9kAytkAyNgAydgAydkAy9kAzP8AydgAydgAydgAz98AzN0AyNcAyNsAydcAydgAydgAydcAytgAytcAydcAydcAytcAydcAyNcAydcAy9gAztgAydcAydgAzOAAydcAyNgAyNgAytwAyNcAyNgAy9wAyNcAyNcAyNgAydgAyNcAydcAydgA0uEAydkAyNgAyeQA4+MAyNgAydkAzN0AyNsA1f8AyNgAydgAydcA1eMAydgAydcAyNdj6PGJAAAAZ3RSTlMAJFpBAQqm8qwNPiiPygcLv8QEw5cDQMA1JU4MwiuDbl/+6+m4+0XLAj9KePz9cjYFvervEA/IDsfFr+xcgeaOYIDo+ica1OMZ9bXlHe73LM3M35itxs8Rf5ATCbFeHjgGttC5ErzO3WvwaAAAAWxJREFUOMt9kudCwkAQhFcITQWCoaggiBqxoaixYUVsYMMGCmLXff838LIXCJAL84fvmCHsTg4AYMDhlIDkcnu8Po4w6BjiIA0joj+gY1BmGKLEiMIwHNFR9xGjuh8jpMQoYZjRGBGOA8QTHDEUB4hynABwcEqCT8GW2DNSnCYBnJzSoSk0NT2jcphlM/rRXpk5NkRgfmFxSWBml6MrOWNlWBUEEmDKtyYIrGttP66gSP4Nww8mUKzNLd5/zHaJbb1Tl9xnzR2WcGM/5QE8BLvJvf0Dc4HDo8IxUVECL5Vywv7s9Mzwz/WLcFHSsWy8w0sa9+qa/JtbOlUY3mnGLbjnCz9Q4JEfnhCrNb5nXi3w754p8MIPKVWpt6psGJ+vFJBbBUO3GlozzYdsSmCV1NlntiTnegNvPQ29Wx7h7fKrEUvg47PD/6oLpgh8m7//AZEav4b/J/bbb75SAzvR3crY+6y8fLGsQV9ZSvwHF4LQIhDjT+8AAAAASUVORK5CYII=
-+#define hnode_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABgElEQVQ4jaXRz2uSARzHcb0vlRGEzTVWISU1BVkFYTIyjNK1pKcxHA+yhWMWIamHYikFgpoLIi9jwegi3QbL9SzdLmMbM9J+DkJBgm5RDvEPeHeQHOyQz0OH9+V7ePGBr0pqpPmfVPsP8a0AR4MnMEwf48x9K0s/E8oAY9iEMOvD+8yP2qVjrhhRBnSN61n5sIpULqC+pGHh8wNlgEY8jPQXcGh4VXukDND5evYAl46odIuXtYdKAANSudAChO52/XeMZMohecCbcoGdH99Y+7LO72adT9+/4nh8nYOjBl7/SsoB8gBkpHk8T0S2K++pN3fRin3cfnFDHvCuWkI9rEMvHGEo5gbAHnXhnLF1BpZLeRaLOVT2A8Q3A5wMngXgWtKLxX9KPqC+rCWQvYkpeK4NWKcGOgO50ts2MJJ0cPreeQDciTHMchZYIhcwh2wcuqjn+ccwGm9v6wsTxxn0dVgQXZ7Ek3Agpq6QrcaQGmmebtxFSDkRU1fJVmL/BpT2ByV/3eDMhinRAAAAAElFTkSuQmCC
- <!-- This Source Code Form is subject to the terms of the Mozilla Public
-    - License, v. 2.0. If a copy of the MPL was not distributed with this
-    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-@@ -21,29 +21,21 @@
- <dl><p>
-     <dt><h3 personal_toolbar_folder="true">@bookmarks_toolbarfolder@</h3></dt>
-     <dd>@bookmarks_toolbarfolder_description@
--#ifndef NIGHTLY_BUILD
-         <dl>
--            <p><dt><a href="https://www.mozilla.org/@AB_CD@/firefox/central/" icon="@firefox_icon@">@getting_started@</a></dt>
-+            <p><dt><a href="https://www.parabola.nu/" icon="@parabola_icon@">Parabola GNU/Linux-libre</a></dt>
-         </dl>
--    <p><dt><h3>@firefox_heading@</h3></dt>
-+    <p><dt><h3>Parabola GNU/Linux-libre</h3></dt>
-         <dl><p>
--            <dt><a href="https://support.mozilla.org/@AB_CD@/products/firefox" icon="@firefox_icon@">@firefox_get_help@</a>
--            <dt><a href="https://support.mozilla.org/@AB_CD@/kb/customize-firefox-controls-buttons-and-toolbars?utm_source=firefox-browser&utm_medium=default-bookmarks&utm_campaign=customize" icon="@firefox_icon@">@firefox_customize@</a>
--            <dt><a href="https://www.mozilla.org/@AB_CD@/contribute/" icon="@mozilla_icon@">@firefox_community@</a>
--            <dt><a href="https://www.mozilla.org/@AB_CD@/about/" icon="@mozilla_icon@">@firefox_about@</a>
-+            <dt><a href="https://www.parabola.nu/" icon="@parabola_icon@">Parabola GNU/Linux-libre</a>
-+            <dt><a href="https://www.parabola.nu/packages/" icon="@parabola_icon@">Parabola GNU/Linux-libre Packages</a>
-+            <dt><a href="https://wiki.parabola.nu/" icon="@parabola_icon@">Parabola GNU/Linux-libre Wiki</a>
-+            <dt><a href="https://labs.parabola.nu/" icon="@parabola_icon@">Parabola GNU/Linux-libre Labs</a>
-         </dl>
--#else
--        <dl>
--            <p><dt><a href="https://www.mozilla.org/@AB_CD@/contribute/" icon="@mozilla_icon@">@firefox_community@</a>
--        </dl>
--    <p><dt><h3>@nightly_heading@</h3></dt>
-+    <p><dt><h3>Free Software Foundation</h3></dt>
-         <dl><p>
--            <dt><a href="https://blog.nightly.mozilla.org/" icon="@mozilla_icon@">@nightly_blog@</a>
--            <dt><a href="https://bugzilla.mozilla.org/" icon="@bugzilla_icon@" shortcuturl="bz">@bugzilla@</a>
--            <dt><a href="https://developer.mozilla.org/" icon="@mdn_icon@" shortcuturl="mdn">@mdn@</a>
--            <dt><a href="https://addons.mozilla.org/@AB_CD@/firefox/addon/nightly-tester-tools/" icon="@addon_icon@">@nightly_tester_tools@</a>
--            <dt><a href="about:crashes" icon="@mozilla_icon@">@crashes@</a>
--            <dt><a href="https://planet.mozilla.org/" icon="@mozilla_icon@">@planet@</a>
-+            <dt><a href="https://www.fsf.org/" icon="@fsf_icon@">Free Software Foundation</a>
-+            <dt><a href="https://www.gnu.org/" icon="@gnu_icon@">The GNU Operating System and the Free Software Movement</a>
-+            <dt><a href="https://libreplanet.org/" icon="@libreplanet_icon@">LibrePlanet</a>
-+            <dt><a href="https://www.h-node.org/" icon="@hnode_icon@">h-node</a>
-         </dl>
--#endif
- </dl>
-diff --git a/devtools/startup/aboutdevtools/aboutdevtools.xhtml b/devtools/startup/aboutdevtools/aboutdevtools.xhtml
-index 5b0709e..38ea275 100644
---- a/devtools/startup/aboutdevtools/aboutdevtools.xhtml
-+++ b/devtools/startup/aboutdevtools/aboutdevtools.xhtml
-@@ -89,19 +89,6 @@
-       <ul class="features-list">
-       </ul>
-     </div>
--
--    <footer>
--      <img class="dev-edition-logo"
--           src="chrome://devtools-startup/content/aboutdevtools/images/dev-edition-logo.svg"
--           alt="" />
--      <div class="footer-message">
--        <h1 class="footer-message-title" data-l10n-id="footer-title"></h1>
--        <p data-l10n-id="footer-message"></p>
--        <a class="external footer-link"
--           href="https://www.mozilla.org/firefox/developer/"
--           target="_blank" data-l10n-id="footer-learn-more-link"></a>
--      </div>
--    </footer>
-   </div>
- 
- </body>
-diff --git a/devtools/startup/locales/en-US/aboutDevTools.ftl b/devtools/startup/locales/en-US/aboutDevTools.ftl
-index db2146d..e02ab58 100644
---- a/devtools/startup/locales/en-US/aboutDevTools.ftl
-+++ b/devtools/startup/locales/en-US/aboutDevTools.ftl
-@@ -3,18 +3,18 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
- 
- head-title = About Developer Tools
--enable-title = Enable Firefox Developer Tools
--enable-inspect-element-title = Enable Firefox Developer Tools to use Inspect Element
-+enable-title = Enable Iceweasel Developer Tools
-+enable-inspect-element-title = Enable Iceweasel Developer Tools to use Inspect Element
- enable-inspect-element-message = Examine and edit HTML and CSS with the Developer Tools’ Inspector.
--enable-about-debugging-message = Develop and debug WebExtensions, web workers, service workers and more with Firefox Developer Tools.
-+enable-about-debugging-message = Develop and debug WebExtensions, web workers, service workers and more with Iceweasel Developer Tools.
- enable-key-shortcut-message = You activated a Developer Tools shortcut. If that was a mistake, you can close this Tab.
- enable-menu-message = Perfect your website’s HTML, CSS, and JavaScript with tools like Inspector and Debugger.
--enable-common-message = Firefox Developer Tools are disabled by default to give you more control over your browser.
-+enable-common-message = Iceweasel Developer Tools are disabled by default to give you more control over your browser.
- enable-learn-more-link = Learn more about Developer Tools
- enable-enable-button = Enable Developer Tools
- enable-close-button = Close this Tab
- 
--welcome-title = Welcome to Firefox Developer Tools!
-+welcome-title = Welcome to Iceweasel Developer Tools!
- newsletter-title = Mozilla Developer Newsletter
- newsletter-message = Get developer news, tricks and resources sent straight to your inbox.
- newsletter-email-placeholder =
-@@ -24,8 +24,6 @@ newsletter-subscribe-button = Subscribe
- newsletter-thanks-title = Thanks!
- newsletter-thanks-message = If you haven’t previously confirmed a subscription to a Mozilla-related newsletter you may have to do so. Please check your inbox or your spam filter for an email from us.
- 
--footer-title = Firefox Developer Edition
--footer-message = Looking for more than just Developer Tools? Check out the Firefox browser that is built specifically for developers and modern workflows.
- footer-learn-more-link = Learn more
- 
- features-learn-more = Learn more
-diff --git a/toolkit/locales/en-US/toolkit/about/aboutAddons.ftl b/toolkit/locales/en-US/toolkit/about/aboutAddons.ftl
-index edd871b..77870fe 100644
---- a/toolkit/locales/en-US/toolkit/about/aboutAddons.ftl
-+++ b/toolkit/locales/en-US/toolkit/about/aboutAddons.ftl
-@@ -7,7 +7,7 @@ addons-window =
- addons-page-title = Add-ons Manager
- 
- search-header =
--    .placeholder = Search addons.mozilla.org
-+    .placeholder = Search www.parabola.nu/packages
-     .searchbuttonlabel = Search
-
- search-header-shortcut =
-@@ -482,7 +482,7 @@ theme-heading-search-label = Find more themes
-
- default-heading-search-label = Find more add-ons
- addons-heading-search-input =
--    .placeholder = Search addons.mozilla.org
-+    .placeholder = Search www.parabola.nu/packages
-
- addon-page-options-button =
-     .title = Tools for all add-ons
-diff --git a/browser/locales/en-US/chrome/browser-region/region.properties b/browser/locales/en-US/chrome/browser-region/region.properties
-index 4c4ea76..e0f2880 100644
---- a/browser/locales/en-US/chrome/browser-region/region.properties
-+++ b/browser/locales/en-US/chrome/browser-region/region.properties
-@@ -9,16 +9,3 @@
- # don't make any spelling errors here.
- gecko.handlerService.defaultHandlersVersion=4
- 
--# The default set of protocol handlers for mailto:
--gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail
--gecko.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s
--gecko.handlerService.schemes.mailto.1.name=Gmail
--gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
--
--# The default set of protocol handlers for irc:
--gecko.handlerService.schemes.irc.0.name=Mibbit
--gecko.handlerService.schemes.irc.0.uriTemplate=https://www.mibbit.com/?url=%s
--
--# The default set of protocol handlers for ircs:
--gecko.handlerService.schemes.ircs.0.name=Mibbit
--gecko.handlerService.schemes.ircs.0.uriTemplate=https://www.mibbit.com/?url=%s
-diff --git a/browser/components/protections/content/protections.ftl b/browser/components/protections/content/protections.ftl
-index 5ac8a7b08c..fec81698e3 100644
---- a/browser/components/protections/content/protections.ftl
-+++ b/browser/components/protections/content/protections.ftl
-@@ -18,7 +18,7 @@ get-vpn-link = Get { -mozilla-vpn-brand-name }
- 
- vpn-title-subscribed = VPN: Subscribed
- # Note This text is not being translated, and the <br> will need to be removed if or when it does get translated
--vpn-header-content-subscribed = Using the { -mozilla-vpn-brand-name } encrypts all your traffic and hides your location — on up to 5 devices. Get the most from your subscription — add it from <br> the <a data-l10n-name="vpn-google-playstore-link">Google Play Store</a> or <a data-l10n-name="vpn-app-store-link">Apple App Store</a>.
-+vpn-header-content-subscribed = Using the { -mozilla-vpn-brand-name } encrypts all your traffic and hides your location — on up to 5 devices.
- 
- vpn-banner-header = Protection that extends beyond the browser
- # Note This text is not being translated, and the <br> will need to be removed if or when it does get translated
-diff --git a/browser/components/protections/content/protections.html b/browser/components/protections/content/protections.html
-index e33c814f62..5698f2b3e9 100644
---- a/browser/components/protections/content/protections.html
-+++ b/browser/components/protections/content/protections.html
-@@ -303,8 +303,6 @@
-               </div>
-               <p class="content" data-l10n-id="vpn-header-content"></p>
-               <p class="content subscribed" data-l10n-id="vpn-header-content-subscribed">
--                <a target="_blank" id="vpn-google-playstore-link" data-l10n-name="vpn-google-playstore-link"></a>
--                <a target="_blank" id="vpn-app-store-link" data-l10n-name="vpn-app-store-link"></a>
-               </p>
-             </div>
-             <a target="_blank" id="get-vpn-link" data-l10n-id="get-vpn-link"></a>
-diff --git a/browser/components/protections/content/vpn-card.js b/browser/components/protections/content/vpn-card.js
-index 2417f1a641..698c48ccc3 100644
---- a/browser/components/protections/content/vpn-card.js
-+++ b/browser/components/protections/content/vpn-card.js
-@@ -23,22 +23,6 @@ export default class VPNCard {
-     vpnLink.addEventListener("click", () => {
-       this.doc.sendTelemetryEvent("click", "vpn_card_link");
-     });
--    let androidVPNAppLink = document.getElementById(
--      "vpn-google-playstore-link"
--    );
--    androidVPNAppLink.href = RPMGetStringPref(
--      "browser.contentblocking.report.vpn-android.url"
--    );
--    androidVPNAppLink.addEventListener("click", () => {
--      document.sendTelemetryEvent("click", "vpn_app_link_android");
--    });
--    let iosVPNAppLink = document.getElementById("vpn-app-store-link");
--    iosVPNAppLink.href = RPMGetStringPref(
--      "browser.contentblocking.report.vpn-ios.url"
--    );
--    iosVPNAppLink.addEventListener("click", () => {
--      document.sendTelemetryEvent("click", "vpn_app_link_ios");
--    });
- 
-     const vpnBanner = this.doc.querySelector(".vpn-banner");
-     const exitIcon = vpnBanner.querySelector(".exit-icon");
diff --git a/libre/iceweasel/9003-FSDG-urihandlers.patch b/libre/iceweasel/9003-FSDG-urihandlers.patch
new file mode 100644
index 0000000..504d18b
--- /dev/null
+++ b/libre/iceweasel/9003-FSDG-urihandlers.patch
@@ -0,0 +1,240 @@
+diff --git a/uriloader/exthandler/HandlerList.jsm b/uriloader/exthandler/HandlerList.jsm
+index 04b9205..ff3aec5 100644
+--- a/uriloader/exthandler/HandlerList.jsm
++++ b/uriloader/exthandler/HandlerList.jsm
+@@ -11,229 +11,25 @@ this.kHandlerListVersion = 1;
+ this.kHandlerList = {
+   default: {
+     schemes: {
+-      mailto: {
++      irc: {
+         handlers: [
+           {
+-            name: "Gmail",
+-            uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
++            name: "KiwiIRC",
++            uriTemplate: "https://web.libera.chat/?url=%s",
+           },
+         ],
+       },
+-    },
+-  },
+-  cs: {
+-    schemes: {
+-      mailto: {
++      ircs: {
+         handlers: [
+           {
+-            name: "Seznam",
+-            uriTemplate: "https://email.seznam.cz/newMessageScreen?mailto=%s",
+-          },
+-          {
+-            name: "Gmail",
+-            uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
++            name: "KiwiIRC",
++            uriTemplate: "https://web.libera.chat/?url=%s",
+           },
+         ],
+       },
+-    },
+-  },
+-  csb: {
+-    schemes: {
+       mailto: {
+         handlers: [
+           {
+-            name: "Poczta Interia.pl",
+-            uriTemplate: "http://poczta.interia.pl/mh/?mailto=%s",
+-          },
+-          {
+-            name: "OnetPoczta",
+-            uriTemplate: "http://poczta.onet.pl/napisz.html?uri=%s",
+-          },
+-        ],
+-      },
+-    },
+-  },
+-  "es-CL": {
+-    schemes: {
+-      mailto: {
+-        handlers: [
+-          {
+-            name: "Gmail",
+-            uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
+-          },
+-          {
+-            name: "Outlook",
+-            uriTemplate:
+-              "https://outlook.live.com/default.aspx?rru=compose&to=%s",
+-          },
+-        ],
+-      },
+-    },
+-  },
+-  "ja-JP-mac": {
+-    schemes: {
+-      mailto: {
+-        handlers: [
+-          {
+-            name: "Yahoo!メール",
+-            uriTemplate: "https://mail.yahoo.co.jp/compose/?To=%s",
+-          },
+-          {
+-            name: "Gmail",
+-            uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
+-          },
+-        ],
+-      },
+-    },
+-  },
+-  ja: {
+-    schemes: {
+-      mailto: {
+-        handlers: [
+-          {
+-            name: "Yahoo!メール",
+-            uriTemplate: "https://mail.yahoo.co.jp/compose/?To=%s",
+-          },
+-          {
+-            name: "Gmail",
+-            uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
+-          },
+-        ],
+-      },
+-    },
+-  },
+-  kk: {
+-    schemes: {
+-      mailto: {
+-        handlers: [
+-          {
+-            name: "Яндекс.Почта",
+-            uriTemplate: "https://mail.yandex.ru/compose?mailto=%s",
+-          },
+-          {
+-            name: "Mail.Ru",
+-            uriTemplate: "https://e.mail.ru/cgi-bin/sentmsg?mailto=%s",
+-          },
+-          {
+-            name: "Gmail",
+-            uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
+-          },
+-        ],
+-      },
+-    },
+-  },
+-  ltg: {
+-    schemes: {
+-      mailto: {
+-        handlers: [
+-          {
+-            name: "Gmail",
+-            uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
+-          },
+-          {
+-            name: "inbox.lv mail",
+-            uriTemplate: "https://mail.inbox.lv/compose?to=%s",
+-          },
+-        ],
+-      },
+-    },
+-  },
+-  lv: {
+-    schemes: {
+-      mailto: {
+-        handlers: [
+-          {
+-            name: "Gmail",
+-            uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
+-          },
+-          {
+-            name: "inbox.lv mail",
+-            uriTemplate: "https://mail.inbox.lv/compose?to=%s",
+-          },
+-        ],
+-      },
+-    },
+-  },
+-  pl: {
+-    schemes: {
+-      mailto: {
+-        handlers: [
+-          {
+-            name: "Poczta Interia.pl",
+-            uriTemplate: "https://poczta.interia.pl/mh/?mailto=%s",
+-          },
+-          {
+-            name: "Gmail",
+-            uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
+-          },
+-        ],
+-      },
+-    },
+-  },
+-  ru: {
+-    schemes: {
+-      mailto: {
+-        handlers: [
+-          {
+-            name: "Яндекс.Почту",
+-            uriTemplate: "https://mail.yandex.ru/compose?mailto=%s",
+-          },
+-          {
+-            name: "Mail.Ru",
+-            uriTemplate: "https://e.mail.ru/cgi-bin/sentmsg?mailto=%s",
+-          },
+-          {
+-            name: "Gmail",
+-            uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
+-          },
+-        ],
+-      },
+-    },
+-  },
+-  sah: {
+-    schemes: {
+-      mailto: {
+-        handlers: [
+-          {
+-            name: "Яндекс.Почта",
+-            uriTemplate: "https://mail.yandex.ru/compose?mailto=%s",
+-          },
+-          {
+-            name: "Mail.Ru",
+-            uriTemplate: "https://e.mail.ru/cgi-bin/sentmsg?mailto=%s",
+-          },
+-        ],
+-      },
+-    },
+-  },
+-  uk: {
+-    schemes: {
+-      mailto: {
+-        handlers: [
+-          {
+-            name: "Gmail",
+-            uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
+-          },
+-          {
+-            name: "Outlook",
+-            uriTemplate:
+-              "https://outlook.live.com/default.aspx?rru=compose&to=%s",
+-          },
+-        ],
+-      },
+-    },
+-  },
+-  uz: {
+-    schemes: {
+-      mailto: {
+-        handlers: [
+-          {
+-            name: "Gmail",
+-            uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
+-          },
+-          {
+-            name: "Mail.Ru",
+-            uriTemplate: "https://e.mail.ru/cgi-bin/sentmsg?mailto=%s",
+           },
+         ],
+       },
diff --git a/libre/iceweasel/9004-FSDG-misc.patch b/libre/iceweasel/9004-FSDG-misc.patch
new file mode 100644
index 0000000..a42043e
--- /dev/null
+++ b/libre/iceweasel/9004-FSDG-misc.patch
@@ -0,0 +1,309 @@
+diff --git a/browser/app/permissions b/browser/app/permissions
+index 991284081d..888cc811ce 100644
+--- a/browser/app/permissions
++++ b/browser/app/permissions
+@@ -15,11 +15,5 @@ origin	uitour	1	https://support.mozilla.org
+ origin	uitour	1	about:home
+ origin	uitour	1	about:newtab
+
+-# XPInstall
+-origin	install	1	https://addons.mozilla.org
+-
+ # Remote troubleshooting
+ origin	remote-troubleshooting	1	https://support.mozilla.org
+-
+-# addon install
+-origin	install	1	https://fpn.firefox.com
+diff --git a/browser/components/preferences/sync.inc.xhtml b/browser/components/preferences/sync.inc.xhtml
+index 7d37d26..4ebbc06 100644
+--- a/browser/components/preferences/sync.inc.xhtml
++++ b/browser/components/preferences/sync.inc.xhtml
+@@ -35,22 +35,6 @@
+         </hbox>
+       </vbox>
+     </hbox>
+-    <label class="fxaMobilePromo" data-l10n-id="sync-mobile-promo">
+-      <html:img
+-        src="chrome://browser/skin/logo-android.svg"
+-        data-l10n-name="android-icon"
+-        class="androidIcon"/>
+-      <html:a
+-        data-l10n-name="android-link"
+-        class="fxaMobilePromo-android text-link" target="_blank"/>
+-      <html:img
+-        src="chrome://browser/skin/logo-ios.svg"
+-        data-l10n-name="ios-icon"
+-        class="iOSIcon"/>
+-      <html:a
+-        data-l10n-name="ios-link"
+-        class="fxaMobilePromo-ios text-link" target="_blank"/>
+-    </label>
+   </groupbox>
+ 
+   <vbox id="hasFxaAccount">
+diff --git a/browser/locales/en-US/browser/policies/policies-descriptions.ftl b/browser/locales/en-US/browser/policies/policies-descriptions.ftl
+index dabfadc..3ce732e 100644
+--- a/browser/locales/en-US/browser/policies/policies-descriptions.ftl
++++ b/browser/locales/en-US/browser/policies/policies-descriptions.ftl
+@@ -96,7 +96,7 @@ policy-ExtensionSettings = Manage all aspects of extension installation.
+ 
+ policy-ExtensionUpdate = Enable or disable automatic extension updates.
+ 
+-policy-FirefoxHome = Configure Firefox Home.
++policy-FirefoxHome = Configure Iceweasel Home.
+ 
+ policy-FlashPlugin = Allow or deny usage of the Flash plugin.
+ 
+diff --git a/browser/locales/en-US/browser/preferences/preferences.ftl b/browser/locales/en-US/browser/preferences/preferences.ftl
+index 1b29e8d..6f7566c 100644
+--- a/browser/locales/en-US/browser/preferences/preferences.ftl
++++ b/browser/locales/en-US/browser/preferences/preferences.ftl
+@@ -550,7 +550,7 @@ home-restore-defaults =
+ # "Firefox" should be treated as a brand and kept in English,
+ # while "Home" and "(Default)" can be localized.
+ home-mode-choice-default =
+-    .label = Firefox Home (Default)
++    .label = Iceweasel Home (Default)
+ 
+ home-mode-choice-custom =
+     .label = Custom URLs…
+@@ -577,10 +577,10 @@ choose-bookmark =
+     .label = Use Bookmark…
+     .accesskey = B
+ 
+-## Home Section - Firefox Home Content Customization
++## Home Section - Iceweasel Home Content Customization
+ 
+-home-prefs-content-header = Firefox Home Content
+-home-prefs-content-description = Choose what content you want on your Firefox Home screen.
++home-prefs-content-header = Iceweasel Home Content
++home-prefs-content-description = Choose what content you want on your Iceweasel Home screen.
+ 
+ home-prefs-search-header =
+     .label = Web Search
+@@ -714,16 +714,6 @@ sync-signedout-account-signin2 =
+     .label = Sign in to { -sync-brand-short-name }…
+     .accesskey = i
+ 
+-# This message contains two links and two icon images.
+-#   `<img data-l10n-name="android-icon"/>` - Android logo icon
+-#   `<a data-l10n-name="android-link">` - Link to Android Download
+-#   `<img data-l10n-name="ios-icon">` - iOS logo icon
+-#   `<a data-l10n-name="ios-link">` - Link to iOS Download
+-#
+-# They can be moved within the sentence as needed to adapt
+-# to your language, but should not be changed or translated.
+-sync-mobile-promo = Download Firefox for <img data-l10n-name="android-icon"/> <a data-l10n-name="android-link">Android</a> or <img data-l10n-name="ios-icon"/> <a data-l10n-name="ios-link">iOS</a> to sync with your mobile device.
+-
+ ## Firefox Account - Signed in
+ 
+ sync-profile-picture =
+diff --git a/browser/base/content/default-bookmarks.html b/browser/base/content/default-bookmarks.html
+index b2d18d3..41cd27a 100644
+--- a/browser/base/content/default-bookmarks.html
++++ b/browser/base/content/default-bookmarks.html
+@@ -1,14 +1,14 @@
+ #filter substitution
+
+-#define mozilla_icon data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E %3Cpath d='M0 0h16v16H0z'/%3E %3Cpath d='M13.994 10.356H15V12h-3.171V7.741c0-1.308-.435-1.81-1.29-1.81-1.04 0-1.46.737-1.46 1.8v2.63h1.006V12H6.918V7.741c0-1.308-.435-1.81-1.291-1.81-1.039 0-1.459.737-1.459 1.8v2.63h1.441V12H1v-1.644h1.006V6.079H1V4.435h3.168v1.139a2.507 2.507 0 0 1 2.3-1.29A2.452 2.452 0 0 1 8.931 5.91 2.535 2.535 0 0 1 11.4 4.284 2.448 2.448 0 0 1 14 6.9v3.458z' fill='%23fff'/%3E %3C/svg%3E
++#define parabola_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC
+
+-#define firefox_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAHY0lEQVR4Aa3VA5RrSdfG8f+uOidJp/umczm2ffFhbNvG9722bdv22LZt+3I81+04B1XvfpPmWHut3yk06smus1Z4L8uXDv6MHzpowA8eWFS8FaY9eU+cCvxaFfF8W/FWGDy8a6n7DM7/H96DR3ldu0MVb8a0J+9CI1qXJP11a+79GOdP1f11FW/EtCfvQpx8mziFxMHEEEV1KYkrKl6Pea1Nbnrs/7hz7q2KUQsqRcUE/eV1acb/pyFQ7b9N3fguzNTxVsXrMa/avFgPb6SnukY8W6EgXvszrszjivH08F0VLZFK0rbUgRt9H2aS+lORznUxnTMV45kJG6fNPZSGnEodTJwUFGbphqdSll/H/SxWjEc92kYxSoO0uzEcwo90g/9rlKpHpCmX491MxQgzuvjtE0UieyqxhYZA3UGp8CjUtSMR2YrkFdf+/szi9X88+zM3/uncSx/81/f+7/HzPsu8q09i8MUNcCUHUTImceAAL+RC+UW1nMzHuUvxSVGBCloTgMT+GuOLipaGyg/OpLuE/jVI58wHb/zsdxD5tBVbDMQwOPe/8UDqHYuuPJjCZnP5nw/+mfyUPhADRtkAaIfosum23klBxH8b+KzCfuczG8IPXi4C5yHQwvDoPYhCBSkz1n9y1+WLd8xFzVUxxmIRjBIBVHXFZF58aEtW3exxsp0V8Aac8gpBnGQBRNymkP4VXKPdgdj8H2JB/DgMVwreATFhdoCdj/wY8x7+GM8/djyJ81hlnCPTUWfHb/0QlyRUelalEPcCHswIQARJPd64ohh/KHBagPcQB7sggHgIVHcM0wUyWWUAoNaEuobI9bP1dj9lw1nnMvehj/LS0wdinYO4wM1f/h6z3v9n1t3pTnAWBj04ZQA7LFROwMsu7QCpgcjuCh4Asg5Wa0ImgNDqqHTOtDyIgPPKkZ/cZOstzmT+Nw4jcA5JBO9SHjzzWKZt8CRd03ohD/RZALCigIwHawBmKgKSVoAiAi2VDCzsgo0bYB04lSojEAaQDyETsmTZf3PPdZ+irvMgTTF4SAVX7+SRC/dj5/f/C6D9d5UQLBAIFBJILIhtB1g2a8uZq+1+LwiAV8CSTujPwqoRbJjCJMdAeRVue+j/WLh4T2I3jcCEhN4ShmDFYR2IAXC8OHdDaMYAYBxU82AFAgPShHoejAEgUEViy2h5UbS9LLBajf5oMr866wc0wlWQvEEyNQKbIcSSwZBNIfAO41NQ9ZXd0IgBAQdUDAQWpjQhcfi6gCgguDtTm3vIUBdhdwUA/Pggqmy49/n/pr/q8ZMq4DziEwI0QOtpiT1kXUqQRqC8ohaDy0BqoGzxOUE6q9DwMBiOvtzm5OLi3migAFEwpjnOCzmKhZXUkyr1uEwtLqky1aStNk4jqhFFDVZb6ykYMjBodQxw5RAKZUgSqAq+YmmWzFxF0P8L61Z8pHhf5/S+bfHQJm1OLcuzw4YPcWH3/qysTcebFHyESTOkhLjUokt8M8VFCVYDbLXhvdCfARfiG3lkykDr2qhbXJTRUZBAngMwootGI3tbrbcIsR3ugp3Yhbun89l9/ko+qCDVGpQruHKJqDakBmnq2KyXaDZKrDX1KWau+ij0ZqAvgwR1JFuFmihwPTkdDQN9co3C6IMnwujs0sppELcOV+NHVc2wzv2eb+74J6ZP6kGazeEgZZJqiaRWJo6qbDb5MU7c4ixYmYUhC7YJaQxVgYrgSxa3sgNftdww31+usFuvuykfWDzU/4HytL0llTVz+SbiAScTryKxFFc6dlnnQVZP+wEo2grT7ACb5V7g2BnXsVfxHsLEgfGQTYb/1kJqWpKV3VDLM1iXi/a8PDrtqmecl451DwLg8oG1DtnMmcsKq/bQ1V3BmBTsfzgIfHucwINxICivADt8eADkBLJGtcc0ydHsmU7QEXBFfzwTeFwRnLFtDoBD7nv5+vv61v2XXzHlfR7oKtQxLkFcCqkDK8qMHdIex4gSMxaoKZBtS8lQ18NtJsPSmv/Nyfc3nma4RjsA8Jnq1HU+WC9cY01z865pJQrdDcQkrW6IpGOfun3oxLnw6m/SEBIyVFbOIMhmiXJy35oL+vYDBhkuGxY3YaTuy9TLA+Jv2inu2j2ph9NrTUMmCyIGjwEnyiCtUaUWnGlLR1hIlM6rKwpUX5qBiTuI02Du94aqx8zJhEsVI4IPduUZV+7vDC0CDv9GdeolUjObL18ckutqMKkQkc2kiFHOITLCwyiUp1bNUhuYRFrrxPoMzdDM/XbUf/gZvvYsozX+Cl5d5vh690afrk3+0hR4XyoxqYmQICaTSwjClI6cA3EIvhWi0QiIm6rRgaQh1ikfsMK43/xv8YWfASuUe6sBAIzqPmNwjb1nJdnP5PDbOpPgJMXjWhDAC4JgvEWUaQkoib/o/NzQb37S1fP0+Dt/6wHGKqe6v1yZvuG+zc69p3m7d4dnW8TjAaEdwmFKEcztkfSG67KVG346aeV8YEglincRYLQClVcdKsery6lI1VVNJbyF+jdp8gPG4E08mAAAAABJRU5ErkJggg==
++#define fsf_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAADG0lEQVQoFQEQA+/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQECAAAAAAAAAAAAAAAAAAAA2qOp7tTXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP///wAAAAAAAOCyt7pUXQcSEgcQDwAAAP///wAAAAAAAAD//x9NSDqNhQEBAQQAAAAAAAAAAAAAAAAQJiQGDQ0aPToZPjoAAQEAAAAAAAAAAAABAQEpZV4AAAAAAAAAAAAA////////////////pSIv05KZ////////////////////////////////AAAAAQAAAP///6krNwAAAAAAAPHc3ggSEQcSEQAAAAAAAAAAABY3NEGelQAAAAAAAAEBAQEAAAD///+YARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDg1g690CBgYAAAABAQEEAAAAAAAAS7etAAAAAAAAwGVtHklFIlJOAAAAAAAAAAAAAAAA+/X2BwYGAAAAAAAABAAAAAAAAB1IQwAAAAAAAAYNDBAmJB1IQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAgL//v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAQEB//7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAECAv/+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////cqK3qzM////////////////////////////////8AAAABAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGuLjDf9F8oBAAAAAElFTkSuQmCC
+
+-#define bugzilla_icon data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnYCL7J0pY9wwETY9kYEM9AAAAAEBAYAhVVVUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1bjTOS1Vb/wAA2/8JEqT/Q0g8kQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJnMqoiJtJ/0haST/NEkp/yQnW/8AAPD8AAHY/RsgP/JZUI+GKitih4ObUEAAAAAAAAAAAAAAAAAAAAAAKnouwip5Lv9ooW//a6Jz/y9GIv8JBXb/AADO/gEBvf8AAK7/FRJp/z9BfP8iLGj1AAAAAAAAAAAAAAAAL4YzwiB0I/+UwJ3/bK+C/02eZ/9CTjz/DBa1/wABxf8BAOj/AACp/w8Oc/sJCv//EhCN9AAAAAAAAAAANJA6iC2MMv93tYL/TZ5U/3mzjP9NoWr/NEss/wYIU/8CBOn/ARCX/wwNqP0TD6X/Cgyex5qacDAAAAAAAAAAADKUN/ZirWj/d76R/0SgXf9Ln1P/eLSM/1mda/8rOkb/CQiD/wMQvf8UEnT/MTAt4P//MwUhZyN8AAAAAAAAAAAznDf5UqlZ/228jP9NqnD/Qp9c/0yiVP+Dv5b/VaVw/0VxXf9PZXD/S3pQ/y54Nf8jcCf/I2wn/wAAAAA0ozjIM6E4/zOeOP+Uz6z/XLR+/06scv9BoV3/TqZX/4XBmP9XqHP/hr6Z/yp+Lf8leSr1JXUqbQAAAAA3rTz7Nqo7/zWmOqM3oz7rUK1W/43Mpf9etYD/T61z/0KjXf9Rqln/msup/46/lf8pgy7/JFg6sAAAAAAAAAAAOK8+8jqvOiMAAAAAAAAAADSlOv85pT//kM6o/2K5hP9Ysnv/YLJ2/ziXPv8piS3/V6Ri/yZQQ9wAAAAAAAAAAAAAAAAAAAAAAAAAADetP0E2qzz/OKg98UWsS/+e1K3/pNe4/4XDjv8ojy3/T7df/5fIqv8sjTH/K4kw/yqFLv8AAAAAAAAAAAAAAAA4sT3xN7A8+QAAAAA4qz3yNag6/zSlOf80oTn/csJ+/6/jwv9fjHj/MmRMdQAAAAAAAAAAAAAAAAAAAAAAAAAAOrdA/zm0QHQAAAAAAAAAADasO/k2qTvuRX5lpjqGT/gznDr/O3FXigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADq9QiMAAAAAAAAAAAAAAAA4sj7/Nq09s0uOaSI1qTplM6U68wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOrc//zu0P0EAAAAAOK4+UjWsPPgAAAAAAAAAAAAAAAAAAAAA/48AAP8HAAD4AQAA8AAAAOAAAADAAQAAwAMAAMAAAACAAwAAAAMAAHADAADwAAAA5AcAAO4HAAD+bwAA/u8AAA==
++#define gnu_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAGFBMVEVFRUV+fn6mpqa/v7/Ozs7Y2Njg4OD8/Pwuhn+TAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9MBDhQ6Gd8s57cAAAEVSURBVBgZBcGxVtpgGADQL9gHSBzqSognzMixmcWWzB6pmRHhnyvku6/fewMAIPD3TwHmQxHs6vr+A16bphNum/vV0x429201hcPjAGBTDZGnR/Kw1U181+u4HXvOdSxjUcztz8jjg1xGVBG9XPYxt4PviKiaWLg168iXtbrq+mPT1utjNcR1U73deRnL43M2sRgj3+oYs8uL3rLphPd2QWmHbMu/VS/cnk6UdtSW657g9yBlcZ0UAkUWzPvyRaAYmfd+HT4IZtvC59ibEJxXiqJjQpBpNEufBYE0McoOAunGhRMEFIPc7h4goJigQEBxk8u7AgEpL3IEAUZfcgAByGFXQACm5+4MAuB19QMEgI8CAgDgP4rivVgoKP6ZAAAAAElFTkSuQmCC
+
+-#define mdn_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAABgElEQVR4AWPouPiRpmjUAjgatSBj+aG0OVuyVhymsgWl2y475zXySikwwIC4lpFDVk3avG0BrXP9mmeV7bhCvgXuxW3M7JwMeAGfpByZFpjHFzAQB2KmrSfZAtuMKgaiAZ+MUuLc7SRY4FbYwkA60HAJiJm8uubQAwIWeJV1MlAAOAREHDJrcFqQMG+ngIK6oKyykLwqAyMjeXZwiUjgtKD+yGMIwyGzmoGBTAs4hcXrgObgi4OiVkpCiUtYov7YU5wW1B194t0ww69ldvjktYouwWRYIGdkQ1Q+iJ28hp2Xn7B5zKzIPAlNw6S52wlbkL3mJJecOq+CBqeIJC6TjUJTMlcdz9lwLmriSuPgJBVbj/D+5SSXRequQVhNN4nIoEJhV77jKgs7B6bprJw85XtuU8GCpNlbSS3gSA4ii4QiTAvElDWpWeH41kxg5eZDSypUrtFKd1zTcA1EpHRDS5rUyQEts+VN7JjYOGR0TWhY6RdsOhc/Y9NoswUJjVoAAE+h555Rgcg2AAAAAElFTkSuQmCC
++#define libreplanet_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACfElEQVQ4jZXTS0hUcRTH8f+9M3fGd0gRRq1a2bZdBAotWtS6TQtB6IHgKzRy0UKqjRaRCAq+R21MDMsUR83JR5fJxhmaK2lzsWAWw+ToEHJxgnFm7reFIgza66z/58P/dzhHcESZpsluIsFPwyCVSmGa5lHPEEIIkdGYTqPPvqUlP4fK8nJ2DINYNEq71YJ3fv4QlAGkUynaj+VRdfUK7580M52rEN/ZYWNjg2GrjEMSPFXsmOn0YcA0TZ4V5tNZUkJTTTWfJiZIJhJ8U1VczwcZs0o4JUHzufM0ZGcf/OQASCaTxGIxDMNA00P8iEbpuXyJ8Tw77+wWJhWZQYuVbiHoFIKwpmUC4XCYzc1NDMMgHo9z8+IFvl6/xsf7D9ArbjOpyAxLEt1C0CUErfvJDwBd14lEImxvb/N9fR1fgY3egmyWsq0sO/poUyw4pb3mLiFolyRM09wDEokEfr+fUChEJBJh4HgBS7kKn92zLIy9ZriqklFZwiEEHfsRRp1O0un0HpDa3cU9M8PKygp3Tp5AzbKgZlmYt1uYtkn02q0MyYKmnBxWNI27Nhtut5tkMrkHmKZJbWkpqqryQpFxKTJTisyEVeaVRWJIlqgpLuZRWRkejwe/34/P58ucwZvWVhYXF5l2uejIzeHGqbM4ZYmB/dy1hUV8mJpibm4On8/H1tbW4T1YXV3F6/WysLDA5Pg4nfsDe5yfz8OiIjweD5qmEQwGf7/KwWCQtbU1NE2jRZbpEoI2SWKqr49lVUXX9T/fAkAgEKC/e5SW6mo6hKD+zGn6e0bw+/x/PyaA9S/rvOwfobGukfpbddyraMDR7iCwHPg34H9KCCF+Abts3KCj/p6aAAAAAElFTkSuQmCC
+
+-#define addon_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAABOFBMVEUAAAAAzdwAydcAyNgA//8AzOYAydcAyNgAyNgA2NgAytoAzNkAytgAydgA29sA0egAyNgAyNgA//8AyNgAydgA//8Ay9cAydcAytkAz90Ay9gA1eoAydgAytsAyNgAytgAydkAydgAydgAyNgAydgAyNcAy9oAydgA//8AytsAy9kAytkAyNgAydgAydkAy9kAzP8AydgAydgAydgAz98AzN0AyNcAyNsAydcAydgAydgAydcAytgAytcAydcAydcAytcAydcAyNcAydcAy9gAztgAydcAydgAzOAAydcAyNgAyNgAytwAyNcAyNgAy9wAyNcAyNcAyNgAydgAyNcAydcAydgA0uEAydkAyNgAyeQA4+MAyNgAydkAzN0AyNsA1f8AyNgAydgAydcA1eMAydgAydcAyNdj6PGJAAAAZ3RSTlMAJFpBAQqm8qwNPiiPygcLv8QEw5cDQMA1JU4MwiuDbl/+6+m4+0XLAj9KePz9cjYFvervEA/IDsfFr+xcgeaOYIDo+ica1OMZ9bXlHe73LM3M35itxs8Rf5ATCbFeHjgGttC5ErzO3WvwaAAAAWxJREFUOMt9kudCwkAQhFcITQWCoaggiBqxoaixYUVsYMMGCmLXff838LIXCJAL84fvmCHsTg4AYMDhlIDkcnu8Po4w6BjiIA0joj+gY1BmGKLEiMIwHNFR9xGjuh8jpMQoYZjRGBGOA8QTHDEUB4hynABwcEqCT8GW2DNSnCYBnJzSoSk0NT2jcphlM/rRXpk5NkRgfmFxSWBml6MrOWNlWBUEEmDKtyYIrGttP66gSP4Nww8mUKzNLd5/zHaJbb1Tl9xnzR2WcGM/5QE8BLvJvf0Dc4HDo8IxUVECL5Vywv7s9Mzwz/WLcFHSsWy8w0sa9+qa/JtbOlUY3mnGLbjnCz9Q4JEfnhCrNb5nXi3w754p8MIPKVWpt6psGJ+vFJBbBUO3GlozzYdsSmCV1NlntiTnegNvPQ29Wx7h7fKrEUvg47PD/6oLpgh8m7//AZEav4b/J/bbb75SAzvR3crY+6y8fLGsQV9ZSvwHF4LQIhDjT+8AAAAASUVORK5CYII=
++#define hnode_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABgElEQVQ4jaXRz2uSARzHcb0vlRGEzTVWISU1BVkFYTIyjNK1pKcxHA+yhWMWIamHYikFgpoLIi9jwegi3QbL9SzdLmMbM9J+DkJBgm5RDvEPeHeQHOyQz0OH9+V7ePGBr0pqpPmfVPsP8a0AR4MnMEwf48x9K0s/E8oAY9iEMOvD+8yP2qVjrhhRBnSN61n5sIpULqC+pGHh8wNlgEY8jPQXcGh4VXukDND5evYAl46odIuXtYdKAANSudAChO52/XeMZMohecCbcoGdH99Y+7LO72adT9+/4nh8nYOjBl7/SsoB8gBkpHk8T0S2K++pN3fRin3cfnFDHvCuWkI9rEMvHGEo5gbAHnXhnLF1BpZLeRaLOVT2A8Q3A5wMngXgWtKLxX9KPqC+rCWQvYkpeK4NWKcGOgO50ts2MJJ0cPreeQDciTHMchZYIhcwh2wcuqjn+ccwGm9v6wsTxxn0dVgQXZ7Ek3Agpq6QrcaQGmmebtxFSDkRU1fJVmL/BpT2ByV/3eDMhinRAAAAAElFTkSuQmCC
+ <!-- This Source Code Form is subject to the terms of the Mozilla Public
+    - License, v. 2.0. If a copy of the MPL was not distributed with this
+    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+@@ -29,31 +29,31 @@
+ <dl><p>
+     <dt><h3 personal_toolbar_folder="true" data-l10n-id="default-bookmarks-toolbarfolder">default-bookmarks-toolbarfolder</h3></dt>
+     <dd data-l10n-id="default-bookmarks-toolbarfolder-description">default-bookmarks-toolbarfolder-description</dd>
+-#ifndef NIGHTLY_BUILD
+         <dl><p>
+-            <dt><a href="https://www.mozilla.org/firefox/central/" icon="@firefox_icon@" data-l10n-id="default-bookmarks-getting-started">default-bookmarks-getting-started</a></dt>
++            <dt><a href="https://www.parabola.nu/"          icon="@parabola_icon@" data-l10n-id="default-bookmarks-getting-started">Parabola GNU/Linux-libre</a></dt>
+         </dl><p>
+-    <dt><h3 data-l10n-id="default-bookmarks-firefox-heading">default-bookmarks-firefox-heading</h3></dt>
++    <dt><h3 data-l10n-id="default-bookmarks-firefox-heading">Parabola GNU/Linux-libre</h3></dt>
+         <dl><p>
+-            <dt><a href="https://support.mozilla.org/products/firefox" icon="@firefox_icon@" data-l10n-id="default-bookmarks-firefox-get-help">default-bookmarks-firefox-get-help</a></dt>
+-            <dt><a href="https://support.mozilla.org/kb/customize-firefox-controls-buttons-and-toolbars?utm_source=firefox-browser&utm_medium=default-bookmarks&utm_campaign=customize" icon="@firefox_icon@" data-l10n-id="default-bookmarks-firefox-customize">default-bookmarks-firefox-customize</a></dt>
+-            <dt><a href="https://www.mozilla.org/contribute/" icon="@mozilla_icon@" data-l10n-id="default-bookmarks-firefox-community">default-bookmarks-firefox-community</a></dt>
+-            <dt><a href="https://www.mozilla.org/about/" icon="@mozilla_icon@" data-l10n-id="default-bookmarks-firefox-about">default-bookmarks-firefox-about</a></dt>
++            <dt><a href="https://www.parabola.nu/"          icon="@parabola_icon@" data-l10n-id="default-bookmarks-firefox-get-help">Parabola GNU/Linux-libre</a></dt>
++            <dt><a href="https://www.parabola.nu/packages/" icon="@parabola_icon@" data-l10n-id="default-bookmarks-firefox-customize">Parabola GNU/Linux-libre Packages</a></dt>
++            <dt><a href="https://wiki.parabola.nu/"         icon="@parabola_icon@" data-l10n-id="default-bookmarks-firefox-community">Parabola GNU/Linux-libre Wiki</a></dt>
++            <dt><a href="https://labs.parabola.nu/"         icon="@parabola_icon@" data-l10n-id="default-bookmarks-firefox-about">Parabola GNU/Linux-libre Labs</a></dt>
+         </dl><p>
+-#else
++    <!-- TODO: delete one of these duplicated sections above or below  -->
++    <dt><h3 data-l10n-id="default-bookmarks-parabola-heading">Parabola GNU/Linux-libre</h3></dt>
+         <dl><p>
+-            <dt><a href="https://www.mozilla.org/contribute/" icon="@mozilla_icon@" data-l10n-id="default-bookmarks-firefox-community">default-bookmarks-firefox-community</a></dt>
++            <dt><a href="https://www.parabola.nu/"          icon="@parabola_icon@" data-l10n-id="default-bookmarks-parabola-get-help">Parabola GNU/Linux-libre</a></dt>
++            <dt><a href="https://www.parabola.nu/packages/" icon="@parabola_icon@" data-l10n-id="default-bookmarks-parabola-customize">Parabola GNU/Linux-libre Packages</a></dt>
++            <dt><a href="https://wiki.parabola.nu/"         icon="@parabola_icon@" data-l10n-id="default-bookmarks-parabola-community">Parabola GNU/Linux-libre Wiki</a></dt>
++            <dt><a href="https://labs.parabola.nu/"         icon="@parabola_icon@" data-l10n-id="default-bookmarks-parabola-about">Parabola GNU/Linux-libre Labs</a></dt>
+         </dl><p>
+-    <dt><h3 data-l10n-id="default-bookmarks-nightly-heading">default-bookmarks-nightly-heading</h3></dt>
++    <dt><h3 data-l10n-id="default-bookmarks-fsf-heading">Free Software Foundation</h3></dt>
+         <dl><p>
+-            <dt><a href="https://blog.nightly.mozilla.org/" icon="@mozilla_icon@" data-l10n-id="default-bookmarks-nightly-blog">default-bookmarks-nightly-blog</a></dt>
+-            <dt><a href="https://bugzilla.mozilla.org/" icon="@bugzilla_icon@" shortcuturl="bz" data-l10n-id="default-bookmarks-bugzilla">default-bookmarks-bugzilla</a></dt>
+-            <dt><a href="https://developer.mozilla.org/" icon="@mdn_icon@" shortcuturl="mdn" data-l10n-id="default-bookmarks-mdn">default-bookmarks-mdn</a></dt>
+-            <dt><a href="https://addons.mozilla.org/firefox/addon/nightly-tester-tools/" icon="@addon_icon@" data-l10n-id="default-bookmarks-nightly-tester-tools">default-bookmarks-nightly-tester-tools</a></dt>
+-            <dt><a href="about:crashes" icon="@mozilla_icon@" data-l10n-id="default-bookmarks-crashes">default-bookmarks-crashes</a></dt>
+-            <dt><a href="https://planet.mozilla.org/" icon="@mozilla_icon@" data-l10n-id="default-bookmarks-planet">default-bookmarks-planet</a></dt>
++            <dt><a href="https://www.fsf.org/"     icon="@fsf_icon@"         data-l10n-id="default-bookmarks-fsf">Free Software Foundation</a></dt>
++            <dt><a href="https://www.gnu.org/"     icon="@gnu_icon@"         data-l10n-id="default-bookmarks-gnu">The GNU Operating System and the Free Software Movement</a></dt>
++            <dt><a href="https://libreplanet.org/" icon="@libreplanet_icon@" data-l10n-id="default-bookmarks-libreplanet">LibrePlanet</a></dt>
++            <dt><a href="https://www.h-node.org/"  icon="@hnode_icon@"       data-l10n-id="default-bookmarks-hnode" shortcuturl="hnode">h-node</a></dt>
+         </dl><p>
+-#endif
+ </dl>
+ </body>
+ </html>
+diff --git a/devtools/startup/aboutdevtools/aboutdevtools.xhtml b/devtools/startup/aboutdevtools/aboutdevtools.xhtml
+index 5b0709e..38ea275 100644
+--- a/devtools/startup/aboutdevtools/aboutdevtools.xhtml
++++ b/devtools/startup/aboutdevtools/aboutdevtools.xhtml
+@@ -89,19 +89,6 @@
+       <ul class="features-list">
+       </ul>
+     </div>
+-
+-    <footer>
+-      <img class="dev-edition-logo"
+-           src="chrome://devtools-startup/content/aboutdevtools/images/dev-edition-logo.svg"
+-           alt="" />
+-      <div class="footer-message">
+-        <h1 class="footer-message-title" data-l10n-id="footer-title"></h1>
+-        <p data-l10n-id="footer-message"></p>
+-        <a class="external footer-link"
+-           href="https://www.mozilla.org/firefox/developer/"
+-           target="_blank" data-l10n-id="footer-learn-more-link"></a>
+-      </div>
+-    </footer>
+   </div>
+ 
+ </body>
+diff --git a/devtools/startup/locales/en-US/aboutDevTools.ftl b/devtools/startup/locales/en-US/aboutDevTools.ftl
+index db2146d..e02ab58 100644
+--- a/devtools/startup/locales/en-US/aboutDevTools.ftl
++++ b/devtools/startup/locales/en-US/aboutDevTools.ftl
+@@ -3,18 +3,18 @@
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ 
+ head-title = About Developer Tools
+-enable-title = Enable Firefox Developer Tools
+-enable-inspect-element-title = Enable Firefox Developer Tools to use Inspect Element
++enable-title = Enable Iceweasel Developer Tools
++enable-inspect-element-title = Enable Iceweasel Developer Tools to use Inspect Element
+ enable-inspect-element-message = Examine and edit HTML and CSS with the Developer Tools’ Inspector.
+-enable-about-debugging-message = Develop and debug WebExtensions, web workers, service workers and more with Firefox Developer Tools.
++enable-about-debugging-message = Develop and debug WebExtensions, web workers, service workers and more with Iceweasel Developer Tools.
+ enable-key-shortcut-message = You activated a Developer Tools shortcut. If that was a mistake, you can close this Tab.
+ enable-menu-message = Perfect your website’s HTML, CSS, and JavaScript with tools like Inspector and Debugger.
+-enable-common-message = Firefox Developer Tools are disabled by default to give you more control over your browser.
++enable-common-message = Iceweasel Developer Tools are disabled by default to give you more control over your browser.
+ enable-learn-more-link = Learn more about Developer Tools
+ enable-enable-button = Enable Developer Tools
+ enable-close-button = Close this Tab
+ 
+-welcome-title = Welcome to Firefox Developer Tools!
++welcome-title = Welcome to Iceweasel Developer Tools!
+ newsletter-title = Mozilla Developer Newsletter
+ newsletter-message = Get developer news, tricks and resources sent straight to your inbox.
+ newsletter-email-placeholder =
+@@ -24,8 +24,6 @@ newsletter-subscribe-button = Subscribe
+ newsletter-thanks-title = Thanks!
+ newsletter-thanks-message = If you haven’t previously confirmed a subscription to a Mozilla-related newsletter you may have to do so. Please check your inbox or your spam filter for an email from us.
+ 
+-footer-title = Firefox Developer Edition
+-footer-message = Looking for more than just Developer Tools? Check out the Firefox browser that is built specifically for developers and modern workflows.
+ footer-learn-more-link = Learn more
+ 
+ features-learn-more = Learn more
+diff --git a/toolkit/locales/en-US/toolkit/about/aboutAddons.ftl b/toolkit/locales/en-US/toolkit/about/aboutAddons.ftl
+index edd871b..77870fe 100644
+--- a/toolkit/locales/en-US/toolkit/about/aboutAddons.ftl
++++ b/toolkit/locales/en-US/toolkit/about/aboutAddons.ftl
+@@ -7,7 +7,7 @@ addons-window =
+ addons-page-title = Add-ons Manager
+ 
+ search-header =
+-    .placeholder = Search addons.mozilla.org
++    .placeholder = Search www.parabola.nu/packages
+     .searchbuttonlabel = Search
+
+ search-header-shortcut =
+@@ -482,7 +482,7 @@ theme-heading-search-label = Find more themes
+
+ default-heading-search-label = Find more add-ons
+ addons-heading-search-input =
+-    .placeholder = Search addons.mozilla.org
++    .placeholder = Search www.parabola.nu/packages
+
+ addon-page-options-button =
+     .title = Tools for all add-ons
+diff --git a/browser/components/protections/content/protections.ftl b/browser/components/protections/content/protections.ftl
+index 5ac8a7b08c..fec81698e3 100644
+--- a/browser/components/protections/content/protections.ftl
++++ b/browser/components/protections/content/protections.ftl
+@@ -18,7 +18,7 @@ get-vpn-link = Get { -mozilla-vpn-brand-name }
+ 
+ vpn-title-subscribed = VPN: Subscribed
+ # Note This text is not being translated, and the <br> will need to be removed if or when it does get translated
+-vpn-header-content-subscribed = Using the { -mozilla-vpn-brand-name } encrypts all your traffic and hides your location — on up to 5 devices. Get the most from your subscription — add it from <br> the <a data-l10n-name="vpn-google-playstore-link">Google Play Store</a> or <a data-l10n-name="vpn-app-store-link">Apple App Store</a>.
++vpn-header-content-subscribed = Using the { -mozilla-vpn-brand-name } encrypts all your traffic and hides your location — on up to 5 devices.
+ 
+ vpn-banner-header = Protection that extends beyond the browser
+ # Note This text is not being translated, and the <br> will need to be removed if or when it does get translated
+diff --git a/browser/components/protections/content/protections.html b/browser/components/protections/content/protections.html
+index e33c814f62..5698f2b3e9 100644
+--- a/browser/components/protections/content/protections.html
++++ b/browser/components/protections/content/protections.html
+@@ -303,8 +303,6 @@
+               </div>
+               <p class="content" data-l10n-id="vpn-header-content"></p>
+               <p class="content subscribed" data-l10n-id="vpn-header-content-subscribed">
+-                <a target="_blank" id="vpn-google-playstore-link" data-l10n-name="vpn-google-playstore-link"></a>
+-                <a target="_blank" id="vpn-app-store-link" data-l10n-name="vpn-app-store-link"></a>
+               </p>
+             </div>
+             <a target="_blank" id="get-vpn-link" data-l10n-id="get-vpn-link"></a>
+diff --git a/browser/components/protections/content/vpn-card.js b/browser/components/protections/content/vpn-card.js
+index 2417f1a641..698c48ccc3 100644
+--- a/browser/components/protections/content/vpn-card.js
++++ b/browser/components/protections/content/vpn-card.js
+@@ -23,22 +23,6 @@ export default class VPNCard {
+     vpnLink.addEventListener("click", () => {
+       this.doc.sendTelemetryEvent("click", "vpn_card_link");
+     });
+-    let androidVPNAppLink = document.getElementById(
+-      "vpn-google-playstore-link"
+-    );
+-    androidVPNAppLink.href = RPMGetStringPref(
+-      "browser.contentblocking.report.vpn-android.url"
+-    );
+-    androidVPNAppLink.addEventListener("click", () => {
+-      document.sendTelemetryEvent("click", "vpn_app_link_android");
+-    });
+-    let iosVPNAppLink = document.getElementById("vpn-app-store-link");
+-    iosVPNAppLink.href = RPMGetStringPref(
+-      "browser.contentblocking.report.vpn-ios.url"
+-    );
+-    iosVPNAppLink.addEventListener("click", () => {
+-      document.sendTelemetryEvent("click", "vpn_app_link_ios");
+-    });
+ 
+     const vpnBanner = this.doc.querySelector(".vpn-banner");
+     const exitIcon = vpnBanner.querySelector(".exit-icon");
diff --git a/libre/iceweasel/PKGBUILD b/libre/iceweasel/PKGBUILD
index 57a7111..3048a21 100644
--- a/libre/iceweasel/PKGBUILD
+++ b/libre/iceweasel/PKGBUILD
@@ -45,23 +45,36 @@
 #    (good manners because of all of the other patching we're doing)
 
 
+# NOTE: This PKGBUILD is kept in-sync with arch{,arm,32}, as closely as possible,
+#       for the sake of documentation and cleaner diffs.
+#       That also helps to identify which changes were made by Parabola vs upstream.
+#       Therefore, this PKGBUILD may declare blacklisted dependencies, non-free sources,
+#       or include code for anti-features; but those will be filtered-out subsequently.
+#       Any code which implements an anti-feature should be commented-out;
+#       and include an 'anti-feature' comment, for clarity.
+#       Any blacklisted dependencies and non-free sources should be filtered.
+#       Without those over-rides, the resulting program may not be FSDG-fit.
+#       Do not circumvent those over-rides, if compiling for the Parabola repos.
+
+
 pkgname=iceweasel
 epoch=1
-pkgver=97.0.2
+pkgver=98.0
 pkgrel=1
-pkgrel+=.parabola5
-_brandingver=97.0-1 # unreleased WIP
+pkgrel+=.parabola1
+_brandingver=98.0-1
 pkgdesc="Standalone web browser derived from Mozilla Firefox"
 arch=(x86_64)
 arch+=(armv7h i686)
 license=(MPL GPL LGPL)
 url="https://wiki.parabola.nu/Iceweasel"
-depends=(gtk3 libxt mime-types dbus-glib ffmpeg nss ttf-font libpulse)
+depends=(gtk3 libxt mime-types dbus-glib ffmpeg4.4 nss ttf-font libpulse)
 makedepends=(unzip zip diffutils yasm mesa imake inetutils xorg-server-xvfb
              autoconf2.13 rust clang llvm jack nodejs cbindgen nasm
              python-setuptools python-psutil python-zstandard lld dump_syms
              wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi)
 makedepends+=(quilt libxslt imagemagick git jq python-jsonschema)
+depends=( ${depends[*]/ffmpeg4.4/ffmpeg} )
 makedepends+=(libvpx=1.11.0-1)
 [[ "${CARCH}" == i686 ]] && makedepends=( ${makedepends[*]/jack/jack2} )
 [[ "${CARCH}" == i686 ]] && makedepends=( ${makedepends[*]/llvm/llvm12} )
@@ -75,28 +88,29 @@ optdepends=('networkmanager: Location detection via available WiFi networks'
             'xdg-desktop-portal: Screensharing with Wayland')
 replaces=('firefox')
 options=(!emptydirs !makeflags !strip !lto !debug) # FIXME: make debug package
-source=(https://archive.mozilla.org/pub/firefox/releases/${pkgver}/source/firefox-${pkgver}.source.tar.xz{,.asc}
-        0001-Use-remoting-name-for-GDK-application-names.patch
-        $pkgname.desktop)
+source=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz{,.asc}
+        $pkgname.desktop identity-icons-brand.svg)
+source=(${source[*]/identity-icons-brand.svg/})
 source+=(https://repo.parabola.nu/other/iceweasel/${pkgname}_${_brandingver}.branding.tar.xz{,.sig}
-         9001-FSDG-always-sync-remote-settings-with-local-dump.patch
+         9001-FSDG-sync-remote-settings-with-local-dump.patch
          9002-FSDG-preference-defaults.patch
-         9003-FSDG-misc.patch
+         9003-FSDG-urihandlers.patch
+         9004-FSDG-misc.patch
          process-json-files.py
          vendor.js.in)
 source_armv7h=(build-arm-libopus.patch)
 source_i686=('avoid-libxul-OOM-python-check.patch'
              'rust-static-disable-network-test-on-static-libraries.patch'
              'firefox-93.0_x86_math_private_20211110.patch')
-sha256sums=('c9f127741beabde78b021dc95b1740259d01677d461400682cb30e072126f075'
+sha256sums=('fd0a4c11d007d9045706667eb0f99f9b7422945188424cb937bfef530cb6f4dd'
             'SKIP'
-            '8de6c0ecc70d2763936be6df4b91a3d2e806765bf510f987d6f2ffa2377c3f01'
             '9cdc2602661717712092d28bb494e5b48e518cb930898aca85eaf21f91f7ef58')
-sha256sums+=('f6013003a6bac275fc27d1c10d1f38a033fe888a4dc64a6ad50522de41aaa70b'
+sha256sums+=('f3e89499909b172476e931d9ab18b856d0001e3042b3816d1728809536179768'
              'SKIP'
              'a4e3c3869085cb282cb5a0fcb64e816c0415f25d4792a62c4f1d599d3111b23c'
              'cb3079a0dc30321183bf8e112532c6f2aad045f68103f8d422c9691137aa770e'
-             '39e3a5e1ad137e21f842a44d7e3bd24050292d2b41fe59b4e7c7dfed52a195dd'
+             'e192458a2a9878483984e1400bb3c66df369adfbf6f144b90445f80973c32ed1'
+             'e7b8d08bb9fa98f09290632f37d1453c52db56fa0d20acf9bc5d110d2d64a920'
              '9386f1c50506cd20ab6d212335d5e4417faeb2aea371dd46f2d107d171e80b83'
              'c93ce98e1cb64033079343ff1f3037fab6a3bc6d3eb5bc14c5edb70e2d45965d')
 sha256sums_armv7h=('2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9')
@@ -108,6 +122,19 @@ validpgpkeys+=('BFA8008A8265677063B11BF47171986E4B745536') # Andreas Grapentin
 validpgpkeys+=('3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40') # bill-auger
 
 
+# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)  # anti-feature
+# Note: These are for Arch Linux use ONLY. For your own distribution, please # anti-feature
+# get your own set of keys. Feel free to contact foutrelis@archlinux.org for # anti-feature
+# more information.                                                          # anti-feature
+# _google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM                    # anti-feature
+
+# Mozilla API keys (see https://location.services.mozilla.com/api)           # anti-feature
+# Note: These are for Arch Linux use ONLY. For your own distribution, please # anti-feature
+# get your own set of keys. Feel free to contact heftig@archlinux.org for    # anti-feature
+# more information.                                                          # anti-feature
+# _mozilla_api_key=e05d56db0a694edc8b5aaebda3f2db6a                          # anti-feature
+
+
 # PGO requires networking
 _should_skip_pgo_armv7h=1 # disable for armv7h - always
 _should_skip_pgo_i686=1   # disable for i686   - always
@@ -115,8 +142,10 @@ _should_skip_pgo_x86_64=0 # disable for x86_64 - sometimes for libremakepkg
 eval "_should_skip_pgo=\$_should_skip_pgo_${CARCH}"
 
 
+## helpers ##
+
 _check_build_config() {
-  pushd "$srcdir/firefox-${pkgver%_*}" > /dev/null
+  pushd "${srcdir}"/firefox-${pkgver} > /dev/null
 
   echo "Checking build configuration..."
 
@@ -144,12 +173,36 @@ _check_build_config() {
   popd > /dev/null
 }
 
+_check_patching() {
+  pushd "${srcdir}"/firefox-${pkgver} > /dev/null
+
+  # URI protocol handlers
+  local uri_handlers=uriloader/exthandler/HandlerList.jsm
+  local webmails='google|yahoo'
+  grep   'name:'          $uri_handlers | grep    '"KiwiIRC",' && \
+  ! grep 'name:'          $uri_handlers | grep -v '"KiwiIRC",' && \
+  ! grep -E "($webmails)" $uri_handlers                        || \
+  ! echo "9003-FSDG-misc.patch needs reworking"                || \
+  return 1
+
+  # Remote Settings
+  local settings_server='firefox.settings.services.mozilla.com'
+  ! grep -qr $settings_server                                                   || \
+  ! echo '9001-FSDG-sync-remote-settings-with-local-dump.patch needs reworking' || \
+  return 1
+
+  popd > /dev/null
+}
+
+
+## business ##
+
 prepare() {
   mkdir mozbuild
   cd firefox-$pkgver
 
-  # https://bugzilla.mozilla.org/show_bug.cgi?id=1530052
-  patch -Np1 -i ../0001-Use-remoting-name-for-GDK-application-names.patch
+  # echo -n "$_google_api_key" >google-api-key   # anti-feature
+  # echo -n "$_mozilla_api_key" >mozilla-api-key # anti-feature
 
   cat >../mozconfig <<END
 ac_add_options --enable-application=browser
@@ -167,17 +220,22 @@ ac_add_options --with-wasi-sysroot=/usr/share/wasi-sysroot
 
 # Branding
 ac_add_options --disable-official-branding
+ac_add_options --enable-update-channel=release
+ac_add_options --with-distribution-id=nu.parabola
 ac_add_options --with-branding=browser/branding/${pkgname}
 ac_add_options --with-app-name=${pkgname}
 ac_add_options --with-app-basename=${pkgname}
-ac_add_options --enable-update-channel=release
-ac_add_options --with-distribution-id=nu.parabola
 ac_add_options --with-unsigned-addon-scopes=app,system
 ac_add_options --allow-addon-sideload
-export MOZ_APP_REMOTINGNAME=${pkgname}
+export MOZ_APP_REMOTINGNAME=${pkgname//-/}
 export MOZ_TELEMETRY_REPORTING=
 export MOZ_REQUIRE_SIGNING=
 
+# Keys
+# ac_add_options --with-google-location-service-api-keyfile=${PWD@Q}/google-api-key # anti-feature
+# ac_add_options --with-google-safebrowsing-api-keyfile=${PWD@Q}/google-api-key     # anti-feature
+# ac_add_options --with-mozilla-api-keyfile=${PWD@Q}/mozilla-api-key                # anti-feature
+
 # System libraries
 ac_add_options --with-system-nspr
 ac_add_options --with-system-nss
@@ -266,10 +324,9 @@ END
   echo "applying parabola branding"
   local brandingsrcdir="${srcdir}"/${pkgname}-${_brandingver/-*}
   local brandingdestdir=browser/branding/${pkgname}
+  local blank_svg='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"></svg>'
   rm -rf -- ${brandingdestdir}
   cp -aT -- ${brandingsrcdir}/branding ${brandingdestdir}
-  cp "${brandingdestdir}"/iceweasel_logo.svg "${brandingdestdir}"/content/aboutlogins.svg
-  cp "${brandingdestdir}"/iceweasel_logo.svg "${brandingdestdir}"/content/about-logo.svg
 
   # produce icons
   for i in 16 22 24 32 48 64 128 192 256 384; do
@@ -277,6 +334,14 @@ END
                  -o "${brandingdestdir}"/default${i}.png
   done
 
+  pushd "${brandingdestdir}"
+  cp                                         iceweasel_logo.svg content/aboutlogins.svg
+  cp                                         iceweasel_logo.svg content/about-logo.svg
+  convert -background none -geometry 192x192 iceweasel_logo.svg content/about-logo.png
+  convert -background none -geometry 384x384 iceweasel_logo.svg content/about-logo@2x.png
+  echo ${blank_svg}                                           > content/blank.svg
+  popd
+
   # custom new tab page
   # FIXME: the newtab page (aka "Start Page") has changed significantly
   #        the new upstream start page ('activity-streams') is an add-on now
@@ -321,6 +386,9 @@ END
   export QUILT_PC="${srcdir}"/.pc
   quilt push -av
 
+  # misc branding
+  sed -i "s|({ \$bits }-bit)|($CARCH)|" browser/locales/en-US/browser/aboutDialog.ftl
+
 
   ## searchengines ##
 
@@ -364,12 +432,8 @@ END
   rm testing/mozbase/mozproxy/tests/files/mitm5-linux-firefox-amazon.zip
 
   # Disable/neutralize Remote Settings (as best we can)
-  echo "applying 9001-FSDG-always-sync-remote-settings-with-local-dump.patch"
-  patch -Np1 --no-backup-if-mismatch -i ../9001-FSDG-always-sync-remote-settings-with-local-dump.patch
-
-  # Verify Remote Settings patching
-  local settings_server='firefox.settings.services.mozilla.com'
-  ! grep -qr $settings_server || { echo 'Remote Settings patching needs rework'; return 1; }
+  echo "applying 9001-FSDG-sync-remote-settings-with-local-dump.patch"
+  patch -Np1 --no-backup-if-mismatch -i ../9001-FSDG-sync-remote-settings-with-local-dump.patch
 
   # Disable various components at the source level
   sed -i 's/;1/;0/' toolkit/components/telemetry/components.conf
@@ -380,12 +444,22 @@ END
 
   python ../process-json-files.py "${srcdir}"/firefox-${pkgver} "${brandingsrcdir}"
 
+  # disable various phone-home/goelocation anti-featires
   echo "applying 9002-FSDG-preference-defaults.patch"
   patch -Np1 --no-backup-if-mismatch -i "${srcdir}"/9002-FSDG-preference-defaults.patch
 
+  # over-ride/install default URI protocol handlers
+  echo "applying 9003-FSDG-urihandlers.patch"
+  patch -Np1 --no-backup-if-mismatch -i "${srcdir}"/9003-FSDG-urihandlers.patch
+
   # Remove remaining non-free bits
-  echo "applying 9003-FSDG-misc.patch"
-  patch -Np1 --no-backup-if-mismatch -i "${srcdir}"/9003-FSDG-misc.patch
+  echo "applying 9004-FSDG-misc.patch"
+  patch -Np1 --no-backup-if-mismatch -i "${srcdir}"/9004-FSDG-misc.patch
+
+
+  ## patching sanity checks ##
+
+  _check_patching
 }
 
 build() {
@@ -395,15 +469,12 @@ build() {
 
   export MOZ_NOSPAM=1
   export MOZBUILD_STATE_PATH="$srcdir/mozbuild"
+  export MOZ_ENABLE_FULL_SYMBOLS=1
   export MACH_USE_SYSTEM_PYTHON=1
 
   # LTO needs more open files
   ulimit -n 4096
 
-  # clang-{9,10,11} -> error: unknown argument: '-fvar-tracking-assignments'
-  CFLAGS="${CFLAGS/-fvar-tracking-assignments/}"
-  CXXFLAGS="${CXXFLAGS/-fvar-tracking-assignments/}"
-
 
   ## [ARCH-SPECIFIC BUILD ENV] ##
 
@@ -479,15 +550,11 @@ END
       xvfb-run -s "-screen 0 1920x1080x24 -nolisten local" \
       ./mach python build/pgo/profileserver.py
 
-    if [[ ! -s merged.profdata ]]; then
-      echo "No profile data produced."
-      return 1
-    fi
+  stat -c "Profile data found (%s bytes)" merged.profdata
+  test -s merged.profdata
 
-    if [[ ! -s jarlog ]]; then
-      echo "No jar log produced."
-      return 1
-    fi
+  stat -c "Jar log found (%s bytes)" jarlog
+  test -s jarlog
 
     echo "Removing instrumented browser..."
     ./mach clobber
@@ -504,7 +571,7 @@ END
   ## sanity checks ##
 
   # each of the [ARCH-SPECIFIC BUILD CONFIG] branches above should have created .mozconfig
-  [[ ! -f .mozconfig ]] && echo ".mozconfig file not found in source root" && return 1
+  [[ ! -f .mozconfig ]] && echo "cannot continue without a .mozconfig file" && return 1
   _check_build_config
 
 
@@ -512,6 +579,9 @@ END
 
   echo "Building optimized browser..."
   ./mach build
+
+  echo "Building symbol archive..."
+  ./mach buildsymbols
 }
 
 package() {
@@ -554,13 +624,20 @@ app.distributor.channel=$pkgname
 app.partner.parabola=parabola
 END
 
-  local i
-  for i in 16 22 24 32 48 64 128 192 256 384; do
-    install -Dvm644 browser/branding/$pkgname/default$i.png \
+  # NOTE: browser/branding/$theme is $brandingdestdir in configure()
+  local i theme=$pkgname
+  for i in 16 22 24 32 48 64 128 256; do
+    install -Dvm644 browser/branding/$theme/default$i.png \
       "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png"
   done
-  install -Dvm644 "browser/branding/$pkgname/${pkgname}_icon.svg" \
+  install -Dvm644 browser/branding/$theme/content/about-logo.png \
+    "$pkgdir/usr/share/icons/hicolor/192x192/apps/$pkgname.png"
+  install -Dvm644 browser/branding/$theme/content/about-logo@2x.png \
+    "$pkgdir/usr/share/icons/hicolor/384x384/apps/$pkgname.png"
+  install -Dvm644 browser/branding/$theme/content/about-logo.svg \
     "$pkgdir/usr/share/icons/hicolor/scalable/apps/$pkgname.svg"
+  install -Dvm644 browser/branding/$theme/content/blank.svg \
+    "$pkgdir/usr/share/icons/hicolor/symbolic/apps/$pkgname-symbolic.svg"
 
   install -Dvm644 ../$pkgname.desktop \
     "$pkgdir/usr/share/applications/$pkgname.desktop"

From d027d0a4eb8ebe44d42a4839ee80eae181b76e16 Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Mar 26 2022 09:57:45 +0000
Subject: [PATCH 11/28] [iceweasel]: housekeeping


---

diff --git a/libre/iceweasel/PKGBUILD b/libre/iceweasel/PKGBUILD
index 3048a21..0350de4 100644
--- a/libre/iceweasel/PKGBUILD
+++ b/libre/iceweasel/PKGBUILD
@@ -43,6 +43,7 @@
 #  - Remove Google API keys and usage
 #  - Disable Mozilla telemetry and crash reporting
 #    (good manners because of all of the other patching we're doing)
+#  - do not compile/upload remote debug symbols
 
 
 # NOTE: This PKGBUILD is kept in-sync with arch{,arm,32}, as closely as possible,
@@ -61,7 +62,7 @@ pkgname=iceweasel
 epoch=1
 pkgver=98.0
 pkgrel=1
-pkgrel+=.parabola1
+pkgrel+=.parabola6
 _brandingver=98.0-1
 pkgdesc="Standalone web browser derived from Mozilla Firefox"
 arch=(x86_64)
@@ -87,7 +88,7 @@ optdepends=('networkmanager: Location detection via available WiFi networks'
             'hunspell-en_US: Spell checking, American English'
             'xdg-desktop-portal: Screensharing with Wayland')
 replaces=('firefox')
-options=(!emptydirs !makeflags !strip !lto !debug) # FIXME: make debug package
+options=(!emptydirs !makeflags !strip !lto !debug) # FIXME: can we still make debug package?
 source=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz{,.asc}
         $pkgname.desktop identity-icons-brand.svg)
 source=(${source[*]/identity-icons-brand.svg/})
@@ -135,10 +136,10 @@ validpgpkeys+=('3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40') # bill-auger
 # _mozilla_api_key=e05d56db0a694edc8b5aaebda3f2db6a                          # anti-feature
 
 
-# PGO requires networking
-_should_skip_pgo_armv7h=1 # disable for armv7h - always
-_should_skip_pgo_i686=1   # disable for i686   - always
-_should_skip_pgo_x86_64=0 # disable for x86_64 - sometimes for libremakepkg
+# disable PGO (necessary for 32-bit)
+_should_skip_pgo_armv7h=1 # disable for armv7h
+_should_skip_pgo_i686=1   # disable for i686
+_should_skip_pgo_x86_64=0 # disable for x86_64
 eval "_should_skip_pgo=\$_should_skip_pgo_${CARCH}"
 
 
@@ -179,15 +180,15 @@ _check_patching() {
   # URI protocol handlers
   local uri_handlers=uriloader/exthandler/HandlerList.jsm
   local webmails='google|yahoo'
-  grep   'name:'          $uri_handlers | grep    '"KiwiIRC",' && \
-  ! grep 'name:'          $uri_handlers | grep -v '"KiwiIRC",' && \
-  ! grep -E "($webmails)" $uri_handlers                        || \
-  ! echo "9003-FSDG-misc.patch needs reworking"                || \
+  grep   'name:'          $uri_handlers | grep    '"KiwiIRC",' &> /dev/null && \
+  ! grep 'name:'          $uri_handlers | grep -v '"KiwiIRC",' &> /dev/null && \
+  ! grep -E "($webmails)" $uri_handlers                        &> /dev/null || \
+  ! echo "9003-FSDG-misc.patch needs reworking"                             || \
   return 1
 
   # Remote Settings
   local settings_server='firefox.settings.services.mozilla.com'
-  ! grep -qr $settings_server                                                   || \
+  ! grep -qr $settings_server &> /dev/null                                      || \
   ! echo '9001-FSDG-sync-remote-settings-with-local-dump.patch needs reworking' || \
   return 1
 
@@ -323,24 +324,25 @@ END
 
   echo "applying parabola branding"
   local brandingsrcdir="${srcdir}"/${pkgname}-${_brandingver/-*}
-  local brandingdestdir=browser/branding/${pkgname}
+  local brandingdestdir="${srcdir}"/firefox-${pkgver}/browser/branding/${pkgname}
+  local tippytopdir="${srcdir}"/firefox-${pkgver}/browser/components/newtab/data/content/tippytop
   local blank_svg='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"></svg>'
   rm -rf -- ${brandingdestdir}
   cp -aT -- ${brandingsrcdir}/branding ${brandingdestdir}
 
-  # produce icons
-  for i in 16 22 24 32 48 64 128 192 256 384; do
-    rsvg-convert -w ${i} -h ${i} "${brandingsrcdir}"/branding/${pkgname}_icon.svg \
-                 -o "${brandingdestdir}"/default${i}.png
-  done
+  pushd "${brandingdestdir}" > /dev/null
 
-  pushd "${brandingdestdir}"
-  cp                                         iceweasel_logo.svg content/aboutlogins.svg
-  cp                                         iceweasel_logo.svg content/about-logo.svg
-  convert -background none -geometry 192x192 iceweasel_logo.svg content/about-logo.png
-  convert -background none -geometry 384x384 iceweasel_logo.svg content/about-logo@2x.png
+  # generate icons, logos, banners
+  for size in 16 22 24 32 48 64 128 256
+  do  rsvg-convert -w ${size} -h ${size}  iceweasel_icon.svg -o default${size}.png
+  done
+  cp                                      iceweasel_logo.svg    content/aboutlogins.svg
+  cp                                      iceweasel_logo.svg    content/about-logo.svg
+  rsvg-convert -w 192 --keep-aspect-ratio iceweasel_logo.svg -o content/about-logo.png
+  rsvg-convert -w 384 --keep-aspect-ratio iceweasel_logo.svg -o content/about-logo@2x.png
   echo ${blank_svg}                                           > content/blank.svg
-  popd
+
+  popd > /dev/null
 
   # custom new tab page
   # FIXME: the newtab page (aka "Start Page") has changed significantly
@@ -353,13 +355,12 @@ END
   #        once it is working well, all of these comments should be removed
   #          and any unused branding components may be deleted from the branding package
   # Put "Start Page" branding images in the source code
-  #install -m644 -t browser/base/content/abouthome -- \
-  #  "${brandingsrcdir}/branding"/{drm-free,gnu_headshadow,parabola-banner}.png
-  #install -m644 -t browser/extensions/onboarding/content/img -- \
+  # install -m644 -t browser/base/content/abouthome -- \
+  #   "${brandingsrcdir}/branding"/{drm-free,gnu_headshadow,parabola-banner}.png
+  # install -m644 -t browser/extensions/onboarding/content/img -- \
   #   "${brandingsrcdir}/branding/watermark.svg"
 
   # process default Top Sites and their icons
-  local tippytopdir=browser/components/newtab/data/content/tippytop
   find ${tippytopdir} -type f      \
        -not -name 'wikipedia-org*' \
        -not -name 'top_sites.json' \
@@ -392,7 +393,7 @@ END
 
   ## searchengines ##
 
-  pushd browser/components/search/extensions
+  pushd browser/components/search/extensions > /dev/null
 
   # Patch search-engines configs
   sed -i 's|https://duckduckgo.com/|https://html.duckduckgo.com/html/|' ddg/manifest.json
@@ -410,7 +411,7 @@ END
        -not -name wikipedia \
        -exec rm -frv {} \;
 
-  popd
+  popd > /dev/null
 
 
   ## libre patching ##
@@ -455,6 +456,7 @@ END
   # Remove remaining non-free bits
   echo "applying 9004-FSDG-misc.patch"
   patch -Np1 --no-backup-if-mismatch -i "${srcdir}"/9004-FSDG-misc.patch
+  rm toolkit/crashreporter/tools/upload_symbols.py
 
 
   ## patching sanity checks ##
@@ -469,7 +471,7 @@ build() {
 
   export MOZ_NOSPAM=1
   export MOZBUILD_STATE_PATH="$srcdir/mozbuild"
-  export MOZ_ENABLE_FULL_SYMBOLS=1
+  # export MOZ_ENABLE_FULL_SYMBOLS=1            # anti-feature
   export MACH_USE_SYSTEM_PYTHON=1
 
   # LTO needs more open files
@@ -580,8 +582,8 @@ END
   echo "Building optimized browser..."
   ./mach build
 
-  echo "Building symbol archive..."
-  ./mach buildsymbols
+  # echo "Building symbol archive..." # anti-feature
+  # ./mach buildsymbols               # anti-feature
 }
 
 package() {

From 191734b81504d4a9f030db5fd233fa9546b13061 Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Mar 26 2022 09:58:28 +0000
Subject: [PATCH 12/28] [iceweasel]: revert v98 branding


this build has problem with playback of some media files

https://lists.parabola.nu/pipermail/dev/2022-March/008200.html

reverting the branding changes only as a precaution,
to reduce the diff, until that problem goes away

most likely, there is nothing wrong with the branding changes though,
and they are not the cause of the media troubles
they worked fine against 97.0.2

---

diff --git a/libre/iceweasel/PKGBUILD b/libre/iceweasel/PKGBUILD
index 0350de4..4014216 100644
--- a/libre/iceweasel/PKGBUILD
+++ b/libre/iceweasel/PKGBUILD
@@ -37,7 +37,6 @@
 #  - allow skipping profiling build for x86_64 (_x86_64_skip_pgo)
 #  - prefer as many system libs as possible, over their vendored couterparts
 #  - Rebrand to Iceweasel, per the mozilla trademark policy, due to the FSDG changes
-#  - set user profile directory to ~/.mozilla/iceweasel
 #
 # privacy:
 #  - Remove Google API keys and usage
@@ -62,8 +61,8 @@ pkgname=iceweasel
 epoch=1
 pkgver=98.0
 pkgrel=1
-pkgrel+=.parabola6
-_brandingver=98.0-1
+pkgrel+=.parabola7
+_brandingver=95.0-1
 pkgdesc="Standalone web browser derived from Mozilla Firefox"
 arch=(x86_64)
 arch+=(armv7h i686)
@@ -106,7 +105,7 @@ source_i686=('avoid-libxul-OOM-python-check.patch'
 sha256sums=('fd0a4c11d007d9045706667eb0f99f9b7422945188424cb937bfef530cb6f4dd'
             'SKIP'
             '9cdc2602661717712092d28bb494e5b48e518cb930898aca85eaf21f91f7ef58')
-sha256sums+=('f3e89499909b172476e931d9ab18b856d0001e3042b3816d1728809536179768'
+sha256sums+=('d1b9d98cea5356df97fc5c221830de1ced8f826cb39fac9427c407e3eae54c02'
              'SKIP'
              'a4e3c3869085cb282cb5a0fcb64e816c0415f25d4792a62c4f1d599d3111b23c'
              'cb3079a0dc30321183bf8e112532c6f2aad045f68103f8d422c9691137aa770e'
@@ -676,21 +675,4 @@ END
   if [[ -e $nssckbi ]]; then
     ln -srfv "$pkgdir/usr/lib/libnssckbi.so" "$nssckbi"
   fi
-
-
-  # BEGIN RENAME_PROFILE
-  # replace binary with a temporary wrapper, to rename the user profile directory
-  # NOTE: prior to v98, if another 'firefox' is installed in addition to iceweasel,
-  #       both applications would share a profile, which is not very sane behavior.
-  # TODO: this 'rename-profile' source file, and the following two LOC,
-  #       could be removed after a reasonable deprecation period (eg: in 2023)
-  mv                                  "${pkgdir}"/usr/lib/iceweasel/ice{,-}weasel
-  install -Dm755 ../rename-profile.sh "${pkgdir}"/usr/lib/iceweasel/iceweasel
-  # END RENAME_PROFILE
 }
-
-
-# BEGIN RENAME_PROFILE - temporary - see note in package()
-depends+=(gxmessage) ; source+=(rename-profile.sh) ;
-sha256sums+=('e8f8a53ff340e36912c39247d40b6c2915bbbe437d2fc21b3e7cc09b1b534389')
-# END RENAME_PROFILE
diff --git a/libre/iceweasel/rename-profile.sh b/libre/iceweasel/rename-profile.sh
deleted file mode 100755
index 1ccdbdb..0000000
--- a/libre/iceweasel/rename-profile.sh
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/bin/bash
-
-# NOTE: prior to v98, if another 'firefox' is installed in addition to iceweasel,
-#       both applications would share a profile, which is not very sane behavior.
-# TODO: this file could be deleted after a reasonable deprecation period (eg: in 2023)
-
-
-Defer()
-{
-  gxmessage -title    "Iceweasel Updater" \
-            -buttons  "OK:0"              \
-            -default  "OK"                \
-            -font     "sans 16"           \
-            -geometry 620x460             \
-            -center -wrap -ontop -sticky  \
-"A new version of Iceweasel has been installed;
-but the upgrade can not continue just yet.
-
-A previous version of Iceweasel is already running.
-
-Please close all running Iceweasel windows,
-then start Iceweasel again.
-
-If this message persists, try restarting the computer."
-}
-
-Prompt()
-{
-  gxmessage -title    "Iceweasel Updater" \
-            -buttons  "Move:0,Copy:1"     \
-            -default  "Move"              \
-            -font     "monospace 12"      \
-            -geometry 780x580             \
-            -center -wrap -ontop -sticky  \
-"A new version of Iceweasel has been installed; but the upgrade can not continue just yet.
-
-This upgrade intends to move the storage location of the Iceweasel user profile, from ~/.mozilla/firefox to ~/.mozilla/iceweasel, in order to isolate it from other firefox variants.
-
-You have two options:
-
-  * 'Move': This is the recommended option,
-            if you do not have any other Firefox variants installed.
-            However, if you have other Firefox variants installed,
-            Otherwise, the others' preferences may be reset to defaults.
-            Parabola does not distribute any other Firefox variant,
-            which would be affected by this decision.
-            If all software on your computer came from the Parabola repos
-            (as recommended), then 'Move' is the best option.
-
-  * 'Copy': If you have other Firefox variants installed,
-            those will keep all user preferences as they are,
-            and Iceweasel will inherit the preferences.
-
-Note that neither option would affect Icecat, nor any other firefox variant
-which does not store user profiles under ~/.mozilla/firefox.
-"
-}
-
-
-# NOTE: the iceweasel binary is inaccessible via the normal means
-#       (`iceweasel`, `/usr/bin/iceweasel`, or the iceweasel.desktop launcher).
-#       the binary has been renamed to ice-weasel, and replaced by this script
-
-if   [[ -d ~/.mozilla/firefox   ]] && \
-   ! [[ -e ~/.mozilla/iceweasel ]]
-then # this is the most likely normal case, where the user has previously run
-     # either iceweasel or firefox on this system;
-     # and this is the first time that this script has run.
-     pids=( $(pgrep --euid ${EUID} firefox  ) \
-            $(pgrep --euid ${EUID} iceweasel) )
-     if   [[ -n "${pids[*]/$$/}" ]]
-     then # in this case, firefox or iceweasel is already running,
-          # so ask the user to terminate them
-          Defer
-     else # ready to move the profile directory.
-          # give the user the option to preserve the firefox profile,
-          # then launch the binary.
-          if   Prompt
-          then mv    ~/.mozilla/{firefox,iceweasel}
-          else cp -a ~/.mozilla/{firefox,iceweasel}
-          fi
-          /usr/lib/iceweasel/ice-weasel "$@"
-     fi
-else # this branch is executed in any of four cases:
-     # 1) the user has compiled a modified version of iceweasel,
-     #    modified precisely to do what this script is attempting,
-     #    AND has also run some other firefox variant in the past.
-     # 2) the user has run iceweasel or some other firefox variant in the past,
-     #    AND ~/.mozilla/iceweasel exists accidentally.
-     # 3) the user has previously selected 'Copy' during a previous run of this script,
-     #    installed with a previous 'iceweasel' release.
-     # 4) the remaining normal case, where the user has never run
-     #    neither iceweasel nor firefox on this system.
-     # cases 1 and 2 could be distinguished; but both are very unlikely.
-     # so, simply launch the binary, and hope for the best.
-     # this is potentially problematic; but only in the (unlikely) case #2.
-     # case #2 is easily resolved manually: $ rm -rf ~/.mozilla/iceweasel
-     /usr/lib/iceweasel/ice-weasel "$@"
-fi

From 344dcfb90f9cea7eefe00951327a5bea950209d8 Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Mar 26 2022 09:59:37 +0000
Subject: [PATCH 13/28] [parabola-keyring]: manual rebuild


---

diff --git a/libre/parabola-keyring/PKGBUILD b/libre/parabola-keyring/PKGBUILD
index 06da65a..ce7747d 100644
--- a/libre/parabola-keyring/PKGBUILD
+++ b/libre/parabola-keyring/PKGBUILD
@@ -1,18 +1,18 @@
 # Maintainer: Parabola automatic package builder <autobuilder@parabola.nu>
 
 
-# NOTE: this PKGBUILD does not need to be edited manually
-#       the package is normally built automatically by autobuilder
-#       to generate a new keyring, push a new commit to hackers.git
+# NOTE: This PKGBUILD does not need to be edited manually.
+#       The package is normally built automatically by autobuilder.
+#       To generate a new keyring, push a new commit to hackers.git.
 #         eg: $ git commit --allow-empty --message=rebuild
 #             $ git push parabola master
-#       autobuilder will modify this PKGBUILD, build and publish the package,
-#         and commit the modified PKGBUILD to abslibre
+#       The autobuilder will modify this PKGBUILD, build and publish the package,
+#         and commit the modified PKGBUILD to abslibre.
 
 
 pkgname=parabola-keyring
-pkgver=20220202.2
-_gitver=2bdd20475c64097302f1f96a42f547ea61ddafe4
+pkgver=20220322
+_gitver=af4575f5afbdca6b556d182dab149e181edbd4b4
 pkgrel=1
 pkgdesc='Parabola GNU/Linux-libre PGP keyring'
 arch=('any')
@@ -29,6 +29,16 @@ prepare() {
   mv {,.}hackers-$_gitver
   mkdir .cachedir
   export PARABOLA_HACKERS_YAMLDIR="$PWD/.hackers-$_gitver/users"
+
+  local net_err_msg="ERROR: this PKGBUILD requires the build host to be connected to the internet"
+  curl www.parabola.nu &> /dev/null || ! echo "${net_err_msg}" || return 1
+
+  # NOTE: the current 'parabola-hackers' package does not yet recognize
+  #       the 'keyserver' env-var - the keyserver is still hard-coded;
+  #       and it is now invalid - 'parabola-hackers' must be rebuilt for this;
+  #       but that build currently has a problem - the autobuilder handles
+  #       this now, via an un-published kludge in the autobuild.sh script
+  # TODO: remove this note, after 'parabola-hackers' has been rebuilt
   /usr/lib/parabola-hackers/pacman-make-keyring \
     V="$pkgver"                                 \
     keyserver='hkp://pgp.cyberbits.eu:11371'    \

From a772e6c453404d9eb3dc678a2fbafd6b6e6f7369 Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Mar 26 2022 09:59:37 +0000
Subject: [PATCH 14/28] [qt5-styleplugins]: rebuild (i686) against latest qt-base


---

diff --git a/libre/qt5-styleplugins/PKGBUILD b/libre/qt5-styleplugins/PKGBUILD
index 22868bb..7f37554 100644
--- a/libre/qt5-styleplugins/PKGBUILD
+++ b/libre/qt5-styleplugins/PKGBUILD
@@ -11,7 +11,7 @@ pkgname=qt5-styleplugins
 pkgver=5.0.0.20170311
 _commit=335dbece103e2cbf6c7cf819ab6672c2956b17b3 # unreleased master branch tip
 pkgdesc='Additional style plugins for Qt5'
-pkgrel=33
+pkgrel=34
 arch=(armv7h i686 x86_64)
 url="https://github.com/qt/qtstyleplugins"
 license=('LGPL')

From 988f30bc4f39c0fa1db79556989b303702876987 Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Mar 30 2022 13:30:55 +0000
Subject: [PATCH 15/28] [gmnisrv]: remove package (see #3124)


---

diff --git a/pcr-testing/gmnisrv/PKGBUILD b/pcr-testing/gmnisrv/PKGBUILD
deleted file mode 100644
index e43ebd5..0000000
--- a/pcr-testing/gmnisrv/PKGBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Maintainer (aur): Lex Black <autumn-wind@web.de>
-
-pkgname=gmnisrv
-pkgver=1.0
-pkgrel=1
-pkgdesc="simple Gemini protocol server"
-url="https://git.sr.ht/~sircmpwn/gmnisrv"
-arch=(x86_64)
-arch+=(armv7h i686)
-license=("GPL3")
-depends=("openssl" "mailcap")
-makedepends=("scdoc")
-source=(${pkgname}-${pkgver}.tar.gz::https://git.sr.ht/~sircmpwn/${pkgname}/archive/${pkgver}.tar.gz
-	${pkgname}.service)
-b2sums=('977e93d8826f5aab5fe00f1fa6fb39ca317caf8439116b5dd8f2ab7b811d6a4f650e94e25d7b24a7f22c33956effbe904fcb5bd3bdcd59ddec6caaff60ac6cd4'
-        '7a33cf875f7012d8dedd3f9fc41ef9bc5022c85cfc7dd79b254f8fc25eef164335802d67acc426124ab61922de8882945941951dae4eb7be4a57fe4efb08f3dd')
-
-
-build() {
-    cd "${pkgname}-${pkgver}"
-
-    mkdir build
-    cd build
-    ../configure --prefix=/usr
-    make PREFIX="/usr"
-}
-
-package() {
-    cd "${pkgname}-${pkgver}/build"
-
-    make PREFIX="/usr" DESTDIR="$pkgdir" install
-
-    # Move conf file into etc
-    mkdir "${pkgdir}/etc"
-    mv "${pkgdir}/usr/share/gmnisrv/gmnisrv.ini" "${pkgdir}/etc"
-    rmdir "${pkgdir}/usr/share/gmnisrv"
-
-    # Copy systemd service
-    mkdir -p "${pkgdir}/usr/lib/systemd/system"
-    cp "${srcdir}/gmnisrv.service" "${pkgdir}/usr/lib/systemd/system"
-}
diff --git a/pcr-testing/gmnisrv/gmnisrv.service b/pcr-testing/gmnisrv/gmnisrv.service
deleted file mode 100644
index b4c24bc..0000000
--- a/pcr-testing/gmnisrv/gmnisrv.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=Gemini Server
-After=network.target
-
-[Service]
-Type=simple
-ExecStart=/usr/bin/gmnisrv
-
-[Install]
-WantedBy=multi-user.target

From 99238787f69db69538f87cf3e9318e9fc4477562 Mon Sep 17 00:00:00 2001
From: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Date: Mar 30 2022 16:41:50 +0000
Subject: [PATCH 16/28] pcr: remove endless-sky


Not only it is already in community, but it also needs to be removed
(along with the community version) due to licensing issue: some artworks
are under a CC-BY-NC license.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>

---

diff --git a/pcr/endless-sky/PKGBUILD b/pcr/endless-sky/PKGBUILD
deleted file mode 100644
index 191e7bd..0000000
--- a/pcr/endless-sky/PKGBUILD
+++ /dev/null
@@ -1,57 +0,0 @@
-# Maintainer (AUR): George Rawlinson <george@rawlinson.net.nz>
-# Contributor (AUR): Max Zhao <alcasa dot mz at gmail dot com>
-# Contributor (AUR): Leonard König <leonard.r.koenig at googlemail dot com>
-
-# parabola changes and rationale:
-#  no changes.
-
-pkgname=endless-sky
-pkgver=0.9.12
-pkgrel=1
-arch=('i686' 'x86_64')
-url="http://endless-sky.github.io/"
-depends=(openal libpng glew hicolor-icon-theme libjpeg-turbo sdl2 libmad)
-makedepends=(scons)
-optdepends=('endless-sky-high-dpi: high resolution graphics assets'
-            'endless-sky-editor: map editor')
-license=('GPL3' 'CCPL' 'custom:public domain')
-pkgdesc="A space exploration and combat game similar to Escape Velocity"
-source=("$pkgname-$pkgver.tar.gz::https://github.com/endless-sky/endless-sky/archive/v${pkgver}.tar.gz")
-sha512sums=('694d3c6f50f80e8b4ff79580fa9510fde26a846dd227736af96a3eda7810d68b2ae051a72c0e02fe88eae9d839e48933614aa172a9bed6653e03ad30feaddc05')
-
-build() {
-  cd $pkgname-$pkgver
-  # remove -jnproc for reproducible builds
-  scons -j "$(nproc)"
-}
-
-
-package() {
-  cd $pkgname-$pkgver
-
-  # Install executable
-  install -Dm755 -t "${pkgdir}/usr/bin" endless-sky
-
-  # resources
-  install -Dm644 credits.txt "${pkgdir}/usr/share/games/${pkgname}/credits.txt"
-  install -Dm644 keys.txt "${pkgdir}/usr/share/games/${pkgname}/keys.txt"
-  cp -rf data images sounds "${pkgdir}/usr/share/games/${pkgname}/"
-
-  # .desktop
-  install -Dm644 -t "${pkgdir}/usr/share/applications" endless-sky.desktop
-
-  # icons
-  for res in 16 22 24 32 48 128 256 512; do
-    install -Dm644 \
-      "${srcdir}/${pkgname}-${pkgver}/icons/icon_${res}x${res}.png" \
-      "${pkgdir}/usr/share/icons/hicolor/${res}x${res}/apps/${pkgname}.png"
-  done
-
-  # manpage
-  install -Dm644 -t "${pkgdir}/usr/share/man/man6" endless-sky.6
-
-  # copyright
-  install -Dm644 copyright "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
-}
-
-# vim:set ts=2 sw=2 et:

From a01e9730359ca8ff4886986dffa9f4c3eeb64782 Mon Sep 17 00:00:00 2001
From: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Date: Mar 30 2022 23:25:44 +0000
Subject: [PATCH 17/28] treewide: clarify the maintainer situation on packages lacking one


The status quo is that any Parabola hacker is expected to (be able to)
modify any packages, and having a single maintainer of a package
discourages that practice as people would typically send a patch to
the maintainer instead of pushing it directly.

So for a start we can add common maintainership on package lacking any
"Maintainer: " header for packages in repositories that are supposed
to be maintained.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>

---

diff --git a/libre/barebox-tools/PKGBUILD b/libre/barebox-tools/PKGBUILD
index 9a9b4ee..9604964 100644
--- a/libre/barebox-tools/PKGBUILD
+++ b/libre/barebox-tools/PKGBUILD
@@ -1,5 +1,6 @@
 # Barebox: am335x
 # Contributor: Denis Carikli <GNUtoo@cyberdimension.org>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 _pkgname=barebox
 pkgname=barebox-tools
diff --git a/libre/kde-development-environment-meta/PKGBUILD b/libre/kde-development-environment-meta/PKGBUILD
index 00164af..0326949 100644
--- a/libre/kde-development-environment-meta/PKGBUILD
+++ b/libre/kde-development-environment-meta/PKGBUILD
@@ -1,6 +1,7 @@
 # Note: This PKGBUILD is automatically generated by the scripts at https://cgit.kde.org/kdesdk-devenv-dependencies.git/
 # Don't manually edit the PKGBUILD, edit the upstream template instead
 # See README file for instructions
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 # parabola changes and rationale:
 #  - removed nonfree qt5-webengine from depends()
diff --git a/libre/parabola-base/PKGBUILD b/libre/parabola-base/PKGBUILD
index de99b02..3479497 100644
--- a/libre/parabola-base/PKGBUILD
+++ b/libre/parabola-base/PKGBUILD
@@ -1,4 +1,5 @@
 # Contributor: bill-auger <bill-auger@programmer.net>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 # this is the canonical definition of the standard Parabola systemd CLI system
 #   as installed onto the systemd CLI LiveISOs, and installed by the installers
diff --git a/libre/pureos-archive-keyring/PKGBUILD b/libre/pureos-archive-keyring/PKGBUILD
index ead460c..fbb4e0f 100644
--- a/libre/pureos-archive-keyring/PKGBUILD
+++ b/libre/pureos-archive-keyring/PKGBUILD
@@ -1,5 +1,6 @@
 # $Id$
 # Contributor: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=pureos-archive-keyring
 pkgver=2016.09
diff --git a/libre/uboot-sunxi/PKGBUILD b/libre/uboot-sunxi/PKGBUILD
index 1f5554a..d42140e 100644
--- a/libre/uboot-sunxi/PKGBUILD
+++ b/libre/uboot-sunxi/PKGBUILD
@@ -1,5 +1,6 @@
 # Contributor: André Silva <emulatorman@hyperbola.info>
 # Contributor: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 buildarch=4
 
diff --git a/libre/uboot4extlinux-sunxi/PKGBUILD b/libre/uboot4extlinux-sunxi/PKGBUILD
index a33df8f..a2b8ca1 100644
--- a/libre/uboot4extlinux-sunxi/PKGBUILD
+++ b/libre/uboot4extlinux-sunxi/PKGBUILD
@@ -3,6 +3,7 @@
 # Contributor: André Silva <emulatorman@hyperbola.info>
 # Contributor: Timothy Redaelli <timothy.redaelli@gmail.com>
 # Contributor: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 # To add a new board (that uses an Allwinner System On a Chip) you need:
 # - The package name. Example: uboot4extlinux-a20-olinuxino_micro
diff --git a/nonprism/choqok/PKGBUILD b/nonprism/choqok/PKGBUILD
index 3d08078..8a86643 100644
--- a/nonprism/choqok/PKGBUILD
+++ b/nonprism/choqok/PKGBUILD
@@ -3,6 +3,7 @@
 # Contributor (Arch): Emanuele Rossi <newdna1510@yahoo.it>
 # Contributor (Arch): Bram Schoenmakers <me@bramschoenmakers.nl>
 # Contributor: Márcio Silva <coadde@hyperbola.info>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=choqok
 pkgver=1.6.0
diff --git a/nonprism/empathy/PKGBUILD b/nonprism/empathy/PKGBUILD
index c7b7c00..eb29121 100644
--- a/nonprism/empathy/PKGBUILD
+++ b/nonprism/empathy/PKGBUILD
@@ -2,6 +2,7 @@
 # Contributor (Arch): Ionut Biru <ibiru@archlinux.org>
 # Contributor: Andreas Grapentin <andreas@grapentin.org>
 # Contributor: André Silva <emulatorman@hyperbola.info>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 # parabola changes and rationale
 #  - removed geoclue2 support
diff --git a/nonprism/gnome-online-accounts/PKGBUILD b/nonprism/gnome-online-accounts/PKGBUILD
index da025e7..721b8a9 100644
--- a/nonprism/gnome-online-accounts/PKGBUILD
+++ b/nonprism/gnome-online-accounts/PKGBUILD
@@ -3,6 +3,7 @@
 # Contributor: Andreas Grapentin <andreas@grapentin.org>
 # Contributor: Márcio Silva <coadde@hyperbola.info>
 # Contributor: Isaac David <isacdaavid@at@isacdaavid@dot@info>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 # parabola changes and rationale:
 #  - removed support for possibly unsafe protocols
diff --git a/nonsystemd/parabola-base/PKGBUILD b/nonsystemd/parabola-base/PKGBUILD
index b1822a0..316a047 100644
--- a/nonsystemd/parabola-base/PKGBUILD
+++ b/nonsystemd/parabola-base/PKGBUILD
@@ -1,4 +1,5 @@
 # Contributor: bill-auger <bill-auger@programmer.net>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 # this is the canonical definition of the standard Parabola non-systemd CLI system
 #   as installed onto the non-systemd CLI LiveISOs, and installed by the installers
diff --git a/pcr/3proxy/PKGBUILD b/pcr/3proxy/PKGBUILD
index 3a71342..3d0dfb4 100644
--- a/pcr/3proxy/PKGBUILD
+++ b/pcr/3proxy/PKGBUILD
@@ -1,6 +1,7 @@
 # Contributor (AUR): d0wn
 # Contributor: André Silva <emulatorman@hyperbola.info>
 # Contributor: Márcio Silva <coadde@hyperbola.info>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 # parabola changes and rationale:
 #  - no changes.
diff --git a/pcr/abootimg/PKGBUILD b/pcr/abootimg/PKGBUILD
index 22f4621..c0a4cee 100644
--- a/pcr/abootimg/PKGBUILD
+++ b/pcr/abootimg/PKGBUILD
@@ -3,6 +3,7 @@
 # Contributor: Benoit Favre <benoit.favre@gmail.com>
 # Contributor: Thomas Hebb <tommyhebb@gmail.com>
 # Contributor: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=abootimg
 pkgver=0.6
diff --git a/pcr/blender-ogre-exporter/PKGBUILD b/pcr/blender-ogre-exporter/PKGBUILD
index ce2de87..10b2994 100644
--- a/pcr/blender-ogre-exporter/PKGBUILD
+++ b/pcr/blender-ogre-exporter/PKGBUILD
@@ -1,5 +1,6 @@
 # Contributor (AUR): giacomogiorgianni@gmail.com
 # Contributor: Márcio Silva <coadde@hyperbola.info>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 # parabola changes and rationale:
 #  - adapted from blender26-ogre-exporter
diff --git a/pcr/ffingerd/PKGBUILD b/pcr/ffingerd/PKGBUILD
index 9cca471..d68c563 100644
--- a/pcr/ffingerd/PKGBUILD
+++ b/pcr/ffingerd/PKGBUILD
@@ -1,3 +1,5 @@
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
+
 pkgname=ffingerd
 pkgver=1.28
 pkgrel=5
diff --git a/pcr/filemq/PKGBUILD b/pcr/filemq/PKGBUILD
index a458941..d7fd58a 100644
--- a/pcr/filemq/PKGBUILD
+++ b/pcr/filemq/PKGBUILD
@@ -1,3 +1,5 @@
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
+
 pkgname=filemq
 pkgver=v1.0a.r180.g8940f34
 pkgrel=1
diff --git a/pcr/fomu-verilog-blink/PKGBUILD b/pcr/fomu-verilog-blink/PKGBUILD
index 6cf5336..a2a4d0e 100644
--- a/pcr/fomu-verilog-blink/PKGBUILD
+++ b/pcr/fomu-verilog-blink/PKGBUILD
@@ -3,6 +3,7 @@
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=fomu-verilog-blink
 pkgver=0.1
diff --git a/pcr/frame/PKGBUILD b/pcr/frame/PKGBUILD
index ed64156..bbe75b2 100644
--- a/pcr/frame/PKGBUILD
+++ b/pcr/frame/PKGBUILD
@@ -1,4 +1,5 @@
 # Contributor (AUR): Nicolas Quiénot < niQo at aur >
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 # parabola changes and rationale:
 #  no changes.
diff --git a/pcr/fso-unbootimg/PKGBUILD b/pcr/fso-unbootimg/PKGBUILD
index b5acc67..73d5898 100644
--- a/pcr/fso-unbootimg/PKGBUILD
+++ b/pcr/fso-unbootimg/PKGBUILD
@@ -3,6 +3,7 @@
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=fso-unbootimg
 pkgver=0.1.2
diff --git a/pcr/gmqcc-git/PKGBUILD b/pcr/gmqcc-git/PKGBUILD
index 2e36a5a..19da8ad 100644
--- a/pcr/gmqcc-git/PKGBUILD
+++ b/pcr/gmqcc-git/PKGBUILD
@@ -1,4 +1,5 @@
 # Contributor (Arch): matthiaskrgr <matthiaskrgr _strange_curverd_character_ freedroid D0T org>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=gmqcc-git
 pkgver=20130214
diff --git a/pcr/gnupg1/PKGBUILD b/pcr/gnupg1/PKGBUILD
index a622e8e..8fe2274 100644
--- a/pcr/gnupg1/PKGBUILD
+++ b/pcr/gnupg1/PKGBUILD
@@ -1,6 +1,7 @@
 # $Id: PKGBUILD 148992 2012-02-05 12:21:23Z andyrtr $
 # Contributor (AUR): Andreas Radke <andyrtr at archlinux.org>
 # Committer (AUR): Judd Vinet <jvinet@zeroflux.org>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 # parabola changes and rationale:
 #  - ignoring test suite failures
diff --git a/pcr/gtk-theme-numix/PKGBUILD b/pcr/gtk-theme-numix/PKGBUILD
index 09978b3..36a0c6e 100644
--- a/pcr/gtk-theme-numix/PKGBUILD
+++ b/pcr/gtk-theme-numix/PKGBUILD
@@ -1,5 +1,6 @@
 # Mantainer: Diego
 # Contributor (Arch): Aleessio Sergi
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 # parabola changes and rationale:
 #  upstream pkgbuild is gone, but we keep maintaining this.
diff --git a/pcr/guix-installer/PKGBUILD b/pcr/guix-installer/PKGBUILD
index fc75d50..e449e5c 100644
--- a/pcr/guix-installer/PKGBUILD
+++ b/pcr/guix-installer/PKGBUILD
@@ -3,6 +3,8 @@
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
+
 pkgname=guix-installer
 pkgver=v1.3.0
 pkgrel=1
diff --git a/pcr/ii/PKGBUILD b/pcr/ii/PKGBUILD
index e471ca0..451bd03 100644
--- a/pcr/ii/PKGBUILD
+++ b/pcr/ii/PKGBUILD
@@ -2,6 +2,8 @@
 # Contributor (Arch): Dag  Odenhall <dag.odenhall@gmail.com>
 # Contributor (Arch): Chris Brannon <cmbrannon@cox.net>
 # Contributor (Arch): William Giokas <1007380@gmail.com>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
+
 pkgname=ii
 pkgver=1.7
 pkgrel=2
diff --git a/pcr/imx_usb_loader-git/PKGBUILD b/pcr/imx_usb_loader-git/PKGBUILD
index 7c40305..3613681 100644
--- a/pcr/imx_usb_loader-git/PKGBUILD
+++ b/pcr/imx_usb_loader-git/PKGBUILD
@@ -3,6 +3,7 @@
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 _pkgname=imx_usb_loader
 pkgname=${_pkgname}-git
diff --git a/pcr/lcmc/PKGBUILD b/pcr/lcmc/PKGBUILD
index 8ad17ad..ab78a8b 100644
--- a/pcr/lcmc/PKGBUILD
+++ b/pcr/lcmc/PKGBUILD
@@ -1,4 +1,5 @@
 # Contributor: Márcio Silva <coadde@hyperbola.info>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=lcmc
 pkgver=1.5.1
diff --git a/pcr/lg-downloader-git/PKGBUILD b/pcr/lg-downloader-git/PKGBUILD
index 7dd707c..7c5fb13 100644
--- a/pcr/lg-downloader-git/PKGBUILD
+++ b/pcr/lg-downloader-git/PKGBUILD
@@ -3,6 +3,7 @@
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=lg-downloader-git
 _pkgname=lg-downloader
diff --git a/pcr/libfann/PKGBUILD b/pcr/libfann/PKGBUILD
index bbad5a5..c538d33 100644
--- a/pcr/libfann/PKGBUILD
+++ b/pcr/libfann/PKGBUILD
@@ -1,7 +1,7 @@
 # Contributor (AUR): Oleksandr Natalenko aka post-factum <oleksandr@natalenko.name>
 # Contributor: fauno <fauno@parabola.nu>
 # Contrbutor: bill-auger <bill-auger@programmer.net>
-
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=libfann
 _srcname=fann
diff --git a/pcr/liblms7002m/PKGBUILD b/pcr/liblms7002m/PKGBUILD
index 751a9ae..acf7470 100644
--- a/pcr/liblms7002m/PKGBUILD
+++ b/pcr/liblms7002m/PKGBUILD
@@ -1,5 +1,7 @@
 # $id$
 # Contributor: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
+
 pkgname=liblms7002m
 pkgver=r8.g91b5107
 pkgrel=2
diff --git a/pcr/libxtrx/PKGBUILD b/pcr/libxtrx/PKGBUILD
index f71c0cb..34337ec 100644
--- a/pcr/libxtrx/PKGBUILD
+++ b/pcr/libxtrx/PKGBUILD
@@ -1,5 +1,7 @@
 # $id$
 # Contributor: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
+
 pkgname=libxtrx
 pkgver=r49.g2443a10
 pkgrel=3
diff --git a/pcr/libxtrxdsp/PKGBUILD b/pcr/libxtrxdsp/PKGBUILD
index 52ff59b..a0ef87a 100644
--- a/pcr/libxtrxdsp/PKGBUILD
+++ b/pcr/libxtrxdsp/PKGBUILD
@@ -1,5 +1,7 @@
 # $Id$
 # Contributor: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
+
 pkgname=libxtrxdsp
 pkgver=r7.g84c6f4c
 pkgrel=2
diff --git a/pcr/libxtrxll/PKGBUILD b/pcr/libxtrxll/PKGBUILD
index 8633aa3..02338be 100644
--- a/pcr/libxtrxll/PKGBUILD
+++ b/pcr/libxtrxll/PKGBUILD
@@ -1,5 +1,7 @@
 # $id$
 # Contributor: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
+
 pkgname=libxtrxll
 pkgver=r32.g9106b98
 pkgrel=2
diff --git a/pcr/lua-ldap/PKGBUILD b/pcr/lua-ldap/PKGBUILD
index ea65ba5..e263f53 100644
--- a/pcr/lua-ldap/PKGBUILD
+++ b/pcr/lua-ldap/PKGBUILD
@@ -1,3 +1,5 @@
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
+
 pkgname=lua-ldap
 _pkgname=lualdap
 pkgver=1.1.0
diff --git a/pcr/memlockd/PKGBUILD b/pcr/memlockd/PKGBUILD
index b3a1ff6..86ed060 100644
--- a/pcr/memlockd/PKGBUILD
+++ b/pcr/memlockd/PKGBUILD
@@ -1,4 +1,6 @@
 # Contributor: fauno <fauno@parabola.nu>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
+
 pkgname=memlockd
 pkgver=1.1.1
 pkgrel=1
diff --git a/pcr/nodejs-bower/PKGBUILD b/pcr/nodejs-bower/PKGBUILD
index d5ce155..3928df4 100644
--- a/pcr/nodejs-bower/PKGBUILD
+++ b/pcr/nodejs-bower/PKGBUILD
@@ -1,3 +1,4 @@
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 # parabola changes and rationale:
 #  - using a common nodejs packaging scheme
diff --git a/pcr/nodejs-semver-utils/PKGBUILD b/pcr/nodejs-semver-utils/PKGBUILD
index a37d3f8..52d2ed2 100644
--- a/pcr/nodejs-semver-utils/PKGBUILD
+++ b/pcr/nodejs-semver-utils/PKGBUILD
@@ -1,3 +1,4 @@
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 # parabola changes and rationale:
 #  - using a common nodejs packaging scheme
diff --git a/pcr/omap-u-boot-utils-git/PKGBUILD b/pcr/omap-u-boot-utils-git/PKGBUILD
index 964f430..77f264f 100644
--- a/pcr/omap-u-boot-utils-git/PKGBUILD
+++ b/pcr/omap-u-boot-utils-git/PKGBUILD
@@ -3,6 +3,7 @@
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=omap-u-boot-utils-git
 _pkgname=omap-u-boot-utils
diff --git a/pcr/omap-usb-boot/PKGBUILD b/pcr/omap-usb-boot/PKGBUILD
index 482356e..e065f01 100644
--- a/pcr/omap-usb-boot/PKGBUILD
+++ b/pcr/omap-usb-boot/PKGBUILD
@@ -3,6 +3,7 @@
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 # Parabola changes and rationale:
 #  no changes.
diff --git a/pcr/otf-stix/PKGBUILD b/pcr/otf-stix/PKGBUILD
index a8f9736..793f1c0 100644
--- a/pcr/otf-stix/PKGBUILD
+++ b/pcr/otf-stix/PKGBUILD
@@ -1,3 +1,4 @@
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 # parabola changes and rationale:
 #  - added .install file to update font cache
diff --git a/pcr/perl-bytes-random-secure/PKGBUILD b/pcr/perl-bytes-random-secure/PKGBUILD
index a4d92d5..0b3620a 100644
--- a/pcr/perl-bytes-random-secure/PKGBUILD
+++ b/pcr/perl-bytes-random-secure/PKGBUILD
@@ -1,4 +1,6 @@
 # Contributor (AUR): Daniel Müllner <daniel@danifold.net>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
+
 # repolint: reason=asdeps(pulledpork)
 
 pkgname=perl-bytes-random-secure
diff --git a/pcr/perl-carp-always/PKGBUILD b/pcr/perl-carp-always/PKGBUILD
index 073b559..77ee04f 100644
--- a/pcr/perl-carp-always/PKGBUILD
+++ b/pcr/perl-carp-always/PKGBUILD
@@ -1,5 +1,7 @@
 # Contributor (AUR): John D Jones III <j[nospace]n[nospace]b[nospace]e[nospace]k[nospace]1972 -_AT_- the domain name google offers a mail service at ending in dot com>
 # Generator   (AUR): CPANPLUS::Dist::Arch 1.27
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
+
 
 # parabola changes and rationale:
 #  no changes.
diff --git a/pcr/perl-crypt-random-seed/PKGBUILD b/pcr/perl-crypt-random-seed/PKGBUILD
index 4fd6aa2..2b0d2d6 100644
--- a/pcr/perl-crypt-random-seed/PKGBUILD
+++ b/pcr/perl-crypt-random-seed/PKGBUILD
@@ -1,4 +1,5 @@
 # Contributor (AUR): Daniel Müllner <daniel@danifold.net>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 # repolint: reason=asdeps(perl-bytes-random-secure)
 
 pkgname=perl-crypt-random-seed
diff --git a/pcr/perl-crypt-random-tesha2/PKGBUILD b/pcr/perl-crypt-random-tesha2/PKGBUILD
index 747eb90..9302975 100644
--- a/pcr/perl-crypt-random-tesha2/PKGBUILD
+++ b/pcr/perl-crypt-random-tesha2/PKGBUILD
@@ -1,4 +1,5 @@
 # Contributor (AUR): Daniel Müllner <daniel@danifold.net>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 # repolint: reason=asdeps(perl-crypt-random-seed)
 
 pkgname=perl-crypt-random-tesha2
diff --git a/pcr/perl-encode-eucjpascii/PKGBUILD b/pcr/perl-encode-eucjpascii/PKGBUILD
index a655315..dfee573 100644
--- a/pcr/perl-encode-eucjpascii/PKGBUILD
+++ b/pcr/perl-encode-eucjpascii/PKGBUILD
@@ -1,5 +1,6 @@
 # Contributor (Arch): Andreas Wagner <Andreas dot Wagner at em dot uni-frankfurt dot de>
 # Contributor: Márcio Silva <coadde@hyperbola.info>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=perl-encode-eucjpascii
 pkgver=0.03
diff --git a/pcr/perl-encode-hanextra/PKGBUILD b/pcr/perl-encode-hanextra/PKGBUILD
index 652330d..876b7fe 100644
--- a/pcr/perl-encode-hanextra/PKGBUILD
+++ b/pcr/perl-encode-hanextra/PKGBUILD
@@ -1,5 +1,6 @@
 # Contributor (Arch): Andreas Wagner <Andreas dot Wagner at em dot uni-frankfurt dot de>
 # Contributor: Márcio Silva <coadde@hyperbola.info>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=perl-encode-hanextra
 pkgver=0.23
diff --git a/pcr/perl-encode-jis2k/PKGBUILD b/pcr/perl-encode-jis2k/PKGBUILD
index c74e807..eccb780 100644
--- a/pcr/perl-encode-jis2k/PKGBUILD
+++ b/pcr/perl-encode-jis2k/PKGBUILD
@@ -1,6 +1,7 @@
 # Contributor (Arch): Andreas Wagner <Andreas dot Wagner at em dot uni-frankfurt dot de>
 # Contributor: Márcio Silva <coadde@hyperbola.info>
 # Contributor: André Silva <emulatorman@hyperbola.info>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=perl-encode-jis2k
 pkgver=0.03
diff --git a/pcr/perl-geo-ipfree/PKGBUILD b/pcr/perl-geo-ipfree/PKGBUILD
index ddc838f..8684d76 100644
--- a/pcr/perl-geo-ipfree/PKGBUILD
+++ b/pcr/perl-geo-ipfree/PKGBUILD
@@ -1,4 +1,5 @@
 # Contributor: Márcio Silva <coadde@hyperbola.info>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 _author=bricas
 _perlmod=Geo-IPfree
diff --git a/pcr/perl-math-bigint-gmp/PKGBUILD b/pcr/perl-math-bigint-gmp/PKGBUILD
index 8ddf649..b82a699 100644
--- a/pcr/perl-math-bigint-gmp/PKGBUILD
+++ b/pcr/perl-math-bigint-gmp/PKGBUILD
@@ -1,6 +1,7 @@
 # Contributor (AUR): Trizen <echo dHJpemVueEBnbWFpbC5jb20K | base64 -d>
 # Generator   (AUR): CPANPLUS::Dist::Arch 1.32
 # Contributor: Márcio Silva <coadde@hyperbola.info>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 # parabola changes and rationale:
 #  no changes.
diff --git a/pcr/perl-math-bigint/PKGBUILD b/pcr/perl-math-bigint/PKGBUILD
index b1cca42..a297ce3 100644
--- a/pcr/perl-math-bigint/PKGBUILD
+++ b/pcr/perl-math-bigint/PKGBUILD
@@ -1,4 +1,5 @@
 # Contributor (AUR): Trizen <echo dHJpemVueEBnbWFpbC5jb20K | base64 -d>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 # Generator   (AUR): CPANPLUS::Dist::Arch 1.32
 
 # parabola changes and rationale:
diff --git a/pcr/perl-readonly-xs/PKGBUILD b/pcr/perl-readonly-xs/PKGBUILD
index 49fca87..bf9c1fd 100644
--- a/pcr/perl-readonly-xs/PKGBUILD
+++ b/pcr/perl-readonly-xs/PKGBUILD
@@ -1,6 +1,7 @@
 # Contributor (Arch): John D Jones III <jnbek1972 -_AT_- g m a i l -_Dot_- com>
 # Generator (Arch): CPANPLUS::Dist::Arch 1.28
 # Contributor: Márcio Silva <coadde@hyperbola.info>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname='perl-readonly-xs'
 pkgver='1.05'
diff --git a/pcr/python-bundlewrap/PKGBUILD b/pcr/python-bundlewrap/PKGBUILD
index 8c4fa62..759dabf 100644
--- a/pcr/python-bundlewrap/PKGBUILD
+++ b/pcr/python-bundlewrap/PKGBUILD
@@ -3,6 +3,7 @@
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=python-bundlewrap
 _pkgname=bundlewrap
diff --git a/pcr/python-polib/PKGBUILD b/pcr/python-polib/PKGBUILD
index 500f6a4..67c204b 100644
--- a/pcr/python-polib/PKGBUILD
+++ b/pcr/python-polib/PKGBUILD
@@ -1,4 +1,5 @@
 # Contributor: Esteban V. Carnevale <alfplayer@mailoo.com>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgbase=python-polib
 pkgname=(python-polib python2-polib)
diff --git a/pcr/python-pyutil/PKGBUILD b/pcr/python-pyutil/PKGBUILD
index 964c8fc..75f4cb3 100644
--- a/pcr/python-pyutil/PKGBUILD
+++ b/pcr/python-pyutil/PKGBUILD
@@ -1,3 +1,4 @@
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 # repolint: reason=asdeps
 
 _pkgname=pyutil
diff --git a/pcr/python-zbase32/PKGBUILD b/pcr/python-zbase32/PKGBUILD
index c8189d9..9b6d022 100644
--- a/pcr/python-zbase32/PKGBUILD
+++ b/pcr/python-zbase32/PKGBUILD
@@ -1,3 +1,4 @@
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 # repolint: reason=asdeps
 
 _pkgname=zbase32
diff --git a/pcr/python2-interruptingcow/PKGBUILD b/pcr/python2-interruptingcow/PKGBUILD
index a8f16a8..1febdd9 100644
--- a/pcr/python2-interruptingcow/PKGBUILD
+++ b/pcr/python2-interruptingcow/PKGBUILD
@@ -2,6 +2,7 @@
 # Contributor (Arch): Thomas Dziedzic < gostrc at gmail >
 # Contributor (Arch): Paulo Matias <matias@archlinux-br·org>
 # Contributor (Arch): Rafael G. Martins <rafael@rafaelmartins.com>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=python2-interruptingcow
 pkgver=0.6
diff --git a/pcr/qdl/PKGBUILD b/pcr/qdl/PKGBUILD
index fde7975..1682653 100644
--- a/pcr/qdl/PKGBUILD
+++ b/pcr/qdl/PKGBUILD
@@ -3,6 +3,7 @@
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=qdl
 pkgver=1.0
diff --git a/pcr/rmilter/PKGBUILD b/pcr/rmilter/PKGBUILD
index 72149e3..0421b32 100644
--- a/pcr/rmilter/PKGBUILD
+++ b/pcr/rmilter/PKGBUILD
@@ -1,7 +1,7 @@
 # Contributor (AUR): Oleksandr Natalenko <oleksandr@natalenko.name>
 # Contributor: fauno <fauno@parabola.nu>
 # Contrbutor: bill-auger <bill-auger@programmer.net>
-
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=rmilter
 pkgver=1.10.0
diff --git a/pcr/simtrace/PKGBUILD b/pcr/simtrace/PKGBUILD
index 58c9dea..7482512 100644
--- a/pcr/simtrace/PKGBUILD
+++ b/pcr/simtrace/PKGBUILD
@@ -3,6 +3,8 @@
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
+
 pkgname=simtrace
 pkgver=1.5
 pkgrel=2
diff --git a/pcr/simtrace2/PKGBUILD b/pcr/simtrace2/PKGBUILD
index 1763773..811732b 100644
--- a/pcr/simtrace2/PKGBUILD
+++ b/pcr/simtrace2/PKGBUILD
@@ -3,6 +3,8 @@
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
+
 pkgname=simtrace2
 pkgver=0.8.1
 pkgrel=1
diff --git a/pcr/smartypants/PKGBUILD b/pcr/smartypants/PKGBUILD
index d845b1f..833ebb4 100644
--- a/pcr/smartypants/PKGBUILD
+++ b/pcr/smartypants/PKGBUILD
@@ -1,4 +1,5 @@
 # Contributor: Daniel Milewski <niitotantei@riseup.net>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=smartypants
 pkgver=1.5.1
diff --git a/pcr/timekpr/PKGBUILD b/pcr/timekpr/PKGBUILD
index 64d19e6..ded02c0 100644
--- a/pcr/timekpr/PKGBUILD
+++ b/pcr/timekpr/PKGBUILD
@@ -1,4 +1,5 @@
 # Contributor (AUR): SanskritFritz (gmail)
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=timekpr
 pkgver=0.3.2
diff --git a/pcr/ttf-open-comic-font/PKGBUILD b/pcr/ttf-open-comic-font/PKGBUILD
index 6c3162f..a03df69 100644
--- a/pcr/ttf-open-comic-font/PKGBUILD
+++ b/pcr/ttf-open-comic-font/PKGBUILD
@@ -1,6 +1,6 @@
 # Contributor: Márcio Silva <coadde@hyperbola.info>
 # Contributor: bill-auger <bill-auger@programmer.net>
-
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=ttf-open-comic-font
 pkgver=0.03.2
diff --git a/pcr/ucsniff-ace/PKGBUILD b/pcr/ucsniff-ace/PKGBUILD
index 9a8dec8..1615266 100644
--- a/pcr/ucsniff-ace/PKGBUILD
+++ b/pcr/ucsniff-ace/PKGBUILD
@@ -1,4 +1,5 @@
 # Contributor: Márcio Silva <coadde@hyperbola.info>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname='ucsniff-ace'
 pkgver='1.10'
diff --git a/pcr/uefitool/PKGBUILD b/pcr/uefitool/PKGBUILD
index 720b31e..d0a73f8 100644
--- a/pcr/uefitool/PKGBUILD
+++ b/pcr/uefitool/PKGBUILD
@@ -1,6 +1,7 @@
 # Based on uefitool-git
 # Contributor: xsmile <sascha_r at gmx dot de>
 # Contributor: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=uefitool
 _pkgname=UEFITool
diff --git a/pcr/vim-autotag/PKGBUILD b/pcr/vim-autotag/PKGBUILD
index 5782e1d..a096370 100644
--- a/pcr/vim-autotag/PKGBUILD
+++ b/pcr/vim-autotag/PKGBUILD
@@ -1,4 +1,5 @@
 # Contributor: Daniel Milewski <niitotantei@riseup.net>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=vim-autotag
 pkgver=r23.b2847e1
diff --git a/pcr/zimlib/PKGBUILD b/pcr/zimlib/PKGBUILD
index e1309f0..2ceeaf3 100644
--- a/pcr/zimlib/PKGBUILD
+++ b/pcr/zimlib/PKGBUILD
@@ -1,5 +1,6 @@
 # Contributor (Arch): Yaron de Leeuw < me@jarondl.net >
 # Contributor: André Silva <emulatorman@hyperbola.info>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=zimlib
 pkgver=1.4
diff --git a/pcr/zramswap/PKGBUILD b/pcr/zramswap/PKGBUILD
index db38ab0..ef96240 100644
--- a/pcr/zramswap/PKGBUILD
+++ b/pcr/zramswap/PKGBUILD
@@ -4,6 +4,7 @@
 # Contributor (Arch): falconindy
 # Contributor (Arch): adee
 # Contributor (Arch): mystilleef
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 pkgname=zramswap
 pkgver=1.1

From f7b0a7f4eca54797165e3c08bfb6575d082ced46 Mon Sep 17 00:00:00 2001
From: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Date: Mar 30 2022 23:31:31 +0000
Subject: [PATCH 18/28] treewide: Maintainer: GNUtoo: clarify the maintainer situation


The status quo is that any Parabola hacker is expected to (be able to)
modify any packages, and having a single maintainer of a package
discourages that practice as people would typically send a patch to
the maintainer instead of pushing it directly.

So for a start we can add common maintainership on package lacking any
"Maintainer: " header for packages in repositories that are supposed
to be maintained.

As for finding who worked on a given package (in case it could be
needed), the git log should have all the information.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>

---

diff --git a/libre/aarch64-linux-gnu-gcc-initial/PKGBUILD b/libre/aarch64-linux-gnu-gcc-initial/PKGBUILD
index f78753f..5991c00 100644
--- a/libre/aarch64-linux-gnu-gcc-initial/PKGBUILD
+++ b/libre/aarch64-linux-gnu-gcc-initial/PKGBUILD
@@ -1,5 +1,4 @@
-# Maintainer: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
-# Feel free to push modifications or take over maintainership
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 _target=aarch64-linux-gnu
 pkgname=$_target-gcc-initial
diff --git a/libre/aarch64-linux-gnu-gcc/PKGBUILD b/libre/aarch64-linux-gnu-gcc/PKGBUILD
index b6ec4cf..bbd6d04 100644
--- a/libre/aarch64-linux-gnu-gcc/PKGBUILD
+++ b/libre/aarch64-linux-gnu-gcc/PKGBUILD
@@ -1,5 +1,4 @@
-# Maintainer: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
-# Feel free to push modifications or take over maintainership
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 _target=aarch64-linux-gnu
 pkgname=$_target-gcc
diff --git a/libre/linux-libre-64/PKGBUILD b/libre/linux-libre-64/PKGBUILD
index 233d390..0cc7350 100644
--- a/libre/linux-libre-64/PKGBUILD
+++ b/libre/linux-libre-64/PKGBUILD
@@ -1,5 +1,4 @@
-# Maintainer: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
-# Feel free to push modifications or take over maintainership
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 # Based on the linux-libre package
 
diff --git a/libre/powerpc64le-linux-gnu-gcc-initial/PKGBUILD b/libre/powerpc64le-linux-gnu-gcc-initial/PKGBUILD
index 9a2ab10..cec36d3 100644
--- a/libre/powerpc64le-linux-gnu-gcc-initial/PKGBUILD
+++ b/libre/powerpc64le-linux-gnu-gcc-initial/PKGBUILD
@@ -1,5 +1,4 @@
-# Maintainer: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
-# Feel free to push modifications or take over maintainership
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 _target=powerpc64le-linux-gnu
 pkgname=$_target-gcc-initial
diff --git a/libre/uboot4extlinux-imx/PKGBUILD b/libre/uboot4extlinux-imx/PKGBUILD
index 64e25a6..4b71d5a 100644
--- a/libre/uboot4extlinux-imx/PKGBUILD
+++ b/libre/uboot4extlinux-imx/PKGBUILD
@@ -2,7 +2,7 @@
 # Contributor: Isaac David <isacdaavid@at@isacdaavid@dot@info>
 # Contributor: André Silva <emulatorman@hyperbola.info>
 # Contributor: Timothy Redaelli <timothy.redaelli@gmail.com>
-# Maintainer: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 # TODO:
 # - Add the following boards
diff --git a/libre/x86_64-pc-linux-gnu-binutils/PKGBUILD b/libre/x86_64-pc-linux-gnu-binutils/PKGBUILD
index 4efc7d9..d3fa9a5 100644
--- a/libre/x86_64-pc-linux-gnu-binutils/PKGBUILD
+++ b/libre/x86_64-pc-linux-gnu-binutils/PKGBUILD
@@ -1,5 +1,4 @@
-# Maintainer: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
-# Feel free to push modifications or take over maintainership
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 _target=x86_64-pc-linux-gnu
 pkgname=$_target-binutils
diff --git a/libre/x86_64-pc-linux-gnu-gcc/PKGBUILD b/libre/x86_64-pc-linux-gnu-gcc/PKGBUILD
index ff40697..d8e9a86 100644
--- a/libre/x86_64-pc-linux-gnu-gcc/PKGBUILD
+++ b/libre/x86_64-pc-linux-gnu-gcc/PKGBUILD
@@ -1,5 +1,4 @@
-# Maintainer: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
-# Feel free to push modifications or take over maintainership
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 _target=x86_64-pc-linux-gnu
 pkgname=$_target-gcc
diff --git a/pcr/drm_info/PKGBUILD b/pcr/drm_info/PKGBUILD
index fe5ec3e..9aa872e 100644
--- a/pcr/drm_info/PKGBUILD
+++ b/pcr/drm_info/PKGBUILD
@@ -1,5 +1,5 @@
 # Maintainer (AUR): emersion <contact emersion fr>
-# Maintainer: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 # parabola changes and rationale:
 #  - Added armv7h and i686 support
diff --git a/pcr/league-gothic-font/PKGBUILD b/pcr/league-gothic-font/PKGBUILD
index cc5764a..8fdcdcf 100644
--- a/pcr/league-gothic-font/PKGBUILD
+++ b/pcr/league-gothic-font/PKGBUILD
@@ -1,8 +1,9 @@
 # Maintainer (AUR): Caleb Maclennan <caleb@alerque.com>
 # Maintainer (AUR): LightDot <lightdot -a-t- g m a i l>
 # Contributor (AUR): samæ <samæ at marvid dot fr>
-# Maintainer: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+# Contributor: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
 # Contributor: bill-auger <bill-auger@programmer.net>
+# Maintainers: Parabola hackers <dev@lists.parabola.nu>
 
 _fnt_name=league-gothic
 pkgbase=$_fnt_name-font

From f213e42509b4b4cd26a3d4aec4b83ee7c2e9640c Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Apr 03 2022 17:41:56 +0000
Subject: [PATCH 19/28] [your-freedom]: manual rebuild


---

diff --git a/libre/your-freedom/PKGBUILD b/libre/your-freedom/PKGBUILD
index d00fdf3..31059d9 100644
--- a/libre/your-freedom/PKGBUILD
+++ b/libre/your-freedom/PKGBUILD
@@ -1,31 +1,28 @@
 # Maintainer: Parabola Project <dev@lists.parabola.nu>
 
+
 pkgname=your-freedom
-pkgdesc="This package conflicts with every nonfree package known to date to ensure your system is free."
-license=('GPL3')
-url="https://git.parabola.nu/blacklist.git"
-pkgver=20220125
-_gitver=e1f72a8fcf0a29b25b489d5ca8ce698a8a597a1f
+pkgver=20220403
+_gitver=56705cca69fa9559e17bf26fd9137139dc641273
 pkgrel=1
-
-arch=('any')
+pkgdesc="This package conflicts with every nonfree package known to date to ensure your system is free."
+license=(GPL3)
+url=https://wiki.parabola.nu/Blacklist
+arch=(any)
 install=${pkgname}.install
 
 makedepends=(librelib)
 source=(blacklist-${_gitver}.txt::https://git.parabola.nu/blacklist.git/plain/blacklist.txt?id=${_gitver})
-sha512sums=('c49954a49ffce0e4c7454a9469d7f066e3c58358c35703705e617628fc1ed81d064bd4c48b9508de7f77c75e424cf2366d6c500139fa9006c7032a80c13d567e')
 
+sha256sums=('5080970007c19680839f94d4f959085ee422c0451105d8c905ccfcc214547f4e')
 
-package() {
-	cd "$srcdir"
 
-	conflicts=($( \
-		< blacklist-${_gitver}.txt \
-		libreblacklist normalize | \
-		cut -d: -f1,2 | \
-		sed -n 's/:$//p' | \
-		sort -u \
-		))
+package()
+{
+  # collect blacklisted package names as pacman conflicts,
+  # also to be excluded by the repo importer, and rejected by libremakepkg
+  conflicts=( $( libreblacklist normalize < blacklist-${_gitver}.txt | \
+                 cut -d: -f1,2 | sed -n 's/:$//p' | sort -u          ) )
 
-	install -Dm644 blacklist-${_gitver}.txt "$pkgdir"/usr/share/doc/${pkgname}/blacklist.txt
+  install -Dm644 blacklist-${_gitver}.txt "${pkgdir}"/usr/share/doc/${pkgname}/blacklist.txt
 }

From ab90d04754c3edeae87de94c29cb993b6b312b43 Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Apr 03 2022 17:44:11 +0000
Subject: [PATCH 20/28] [i2p]: upgrade to v1.7.0


---

diff --git a/pcr/i2p/PKGBUILD b/pcr/i2p/PKGBUILD
index 6084bdf..d91e234 100644
--- a/pcr/i2p/PKGBUILD
+++ b/pcr/i2p/PKGBUILD
@@ -1,19 +1,20 @@
-# Contributor (AUR): skydrome <skydrome@protonmail.com>
-# Maintainer (AUR):  skydrome <skydrome@protonmail.com>
+# Contributor: skydrome <skydrome@protonmail.com>
+# Maintainer (aur):  skydrome <skydrome@protonmail.com>
 # Maintainer: Freemor <freemor@freemor.ca>
+# Maintainer (aur): 6543 <6543 at obermui dot de> ('i2p-openrc' openrc init script)
 
 # uncomment if you do not want to build all language translations
 #export LG2=en
 
 pkgname=i2p
-pkgver=1.6.1
+pkgver=1.7.0
 pkgrel=1
 pkgdesc="A distributed anonymous network"
 url="https://geti2p.net"
 license=('GPL2')
 arch=('any')
-depends=('java-runtime' 'java-service-wrapper')
-makedepends=('java-environment' 'ant')
+depends=('java-runtime>=13' 'java-service-wrapper')
+makedepends=('java-environment>=13' 'ant')
 #optdepends=('gtk2: for rrd graphs')
 conflicts=('i2p-bin' 'i2p-dev')
 backup=('opt/i2p/wrapper.config')
@@ -30,20 +31,29 @@ _url="https://files.i2p-projekt.de/${pkgver}"
 
 source=("${_url}/i2psource_${pkgver}.tar.bz2"{,.sig}
         'i2prouter.service' 'i2p.tmpfiles' 'wrapper.config' 'router.config'
-        'i2prouter.bash' 'i2prouter.sh'
+        'i2prouter.bash' 'i2prouter.sh' 'chromium-i2p.sh'
+        speed_up_prng.patch
+        update_firefox_useragent.patch
 )
-sha256sums=('719606c4cb510de4fe74f24bbfa53911a70531821fc1ee79a29e3d96eaa16733'
+source=( ${source[*]/chromium-i2p.sh/} )
+source+=(i2p.initd)
+sha256sums=('aa53591e89eacc3491ab472dc4df998780fb6747eea3b97ecb7a9f81ff2c9a5e'
             'SKIP'
             '644b771ec7f5db3efab3206bf1f896566cdb00d410a54608fda85bdb4c2ad876'
             'fc30dd32f48fe1c93bf36c8297ca48203a1479e4e221ebe62c57cf3c3c0347d3'
-            'ba4bcb8d9aef307045d1d24385a456d096ea45f69d95a474467728ea140188ec'
+            'e3a85d8992a09e8f57498b1eba0aef758ceffdb944d296528e8c5cec970becd9'
             '90f202e5b66d5a5b425522b409e71fb892d34c534e32ce2d6fe5284015cacf94'
             '7a19b9f90c8792460fd58e8b8aa435a065e34d29a942479850472510e9d3078a'
-            '8d39f080c7a2e49226db3a785f3e18583159ef2f95e1ab467fd9984c4e38c9f5')
-
+            '8d39f080c7a2e49226db3a785f3e18583159ef2f95e1ab467fd9984c4e38c9f5'
+            '55b05dec917d5a55f2a7c3b76c5111d2cdbb3694968049fca5cdb089cb18e390'
+            '70f2ada05fa56e06c7cfc107a87b327aa37683bd0c47f0cb5454c60105a71be8'
+)
+sha256sums+=('b9e490398732d3d3b0f5f0233adcb55030cf217e4fc2d2bbfe7cf5577aeb87bf')
 
 prepare() {
     cd "$pkgname-$pkgver"
+    patch -Np1 -i ../speed_up_prng.patch
+    patch -Np1 -i ../update_firefox_useragent.patch
 }
 
 build() {
@@ -53,6 +63,7 @@ build() {
     ant -Dfile.encoding=UTF-8 \
         -Djavac.compilerargs=-Xlint:-options \
         -Dbuild.reproducible=true \
+        -Djavac.version=13 \
         preppkg-linux-only
 }
 
@@ -94,4 +105,6 @@ package() {
 
     rm -r opt/i2p/{osid,postinstall.sh,runplain.sh,INSTALL-headless.txt,LICENSE.txt,licenses,man,lib/wrapper*}
 
+    # install an init script for openrc
+    install -Dm755 "${srcdir}"/i2p.initd "${pkgdir}"/etc/init.d/i2p
 }
diff --git a/pcr/i2p/i2p.initd b/pcr/i2p/i2p.initd
new file mode 100644
index 0000000..47299e1
--- /dev/null
+++ b/pcr/i2p/i2p.initd
@@ -0,0 +1,44 @@
+#!/usr/bin/openrc-run
+# Distributed under the terms of the GNU General Public License v3
+
+user="${user:-i2p}"
+group="${group:-i2p}"
+pidfile="/run/i2p/$RC_SVCNAME.pid"
+command="/usr/bin/java-service-wrapper"
+command_args="/opt/i2p/wrapper.config wrapper.name=i2prouter wrapper.syslog.ident=i2prouter wrapper.daemonize=TRUE TZ=UTC"
+command_background=1
+workdir=/opt/i2p
+
+depend() {
+	use net
+	need localmount
+}
+
+start() {
+	ebegin "Start ${SVCNAME}"
+
+	cd $workdir
+	export HOME=$workdir
+	su -s /bin/sh -c "$command $command_args" $user
+
+	eend $?
+	return 0;
+}
+
+stop() {
+	ebegin "Stopping ${SVCNAME}"
+
+	/bin/kill -TERM $(cat $pidfile)
+
+	eend $?
+	return 0;
+}
+
+reload() {
+	ebegin "Reload ${SVCNAME}"
+
+	/bin/kill -USR1 $(cat $pidfile)
+
+	eend $?
+	return 0;
+}
diff --git a/pcr/i2p/wrapper.config b/pcr/i2p/wrapper.config
index 1474aa0..2bc2b8e 100644
--- a/pcr/i2p/wrapper.config
+++ b/pcr/i2p/wrapper.config
@@ -169,8 +169,15 @@ wrapper.filter.action.1=RESTART
 wrapper.filter.message.1=The JVM has run out of memory.
 
 #********************************************************************
-# Advanced Options
+# Advanced Options - https://docs.oracle.com/en/java/javase/17/docs/specs/man/java.html
 #********************************************************************
-# Enable the Shenandoah Gargabe Collector
-#wrapper.java.additional.100=-XX:+UnlockExperimentalVMOptions
+# Enable the Shenandoah Garbage Collector
 #wrapper.java.additional.101=-XX:+UseShenandoahGC
+#wrapper.java.additional.102=-XX:+DisableExplicitGC
+
+# Committing heap pages into memory helps to reduce latency hiccups
+#wrapper.java.additional.103=-XX:+AlwaysPreTouch
+
+# Using large pages greatly improves performance on large heaps
+# Recommended to set /sys/kernel/mm/transparent_hugepage/enabled and /sys/kernel/mm/transparent_hugepage/defrag to "madvise"
+#wrapper.java.additional.104=XX:+UseTransparentHugePages

From 7a1bb990a57534759265f37fc1c688057201ed9c Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Apr 03 2022 17:44:13 +0000
Subject: [PATCH 21/28] [xen]: upgrade to v4.16.0


---

diff --git a/pcr/xen/21_linux_xen_multiboot_arch b/pcr/xen/21_linux_xen_multiboot_arch
deleted file mode 100755
index 877bf22..0000000
--- a/pcr/xen/21_linux_xen_multiboot_arch
+++ /dev/null
@@ -1,302 +0,0 @@
-#! /bin/sh
-set -e
-
-# grub-mkconfig helper script.
-# Copyright (C) 2006,2007,2008,2009,2010  Free Software Foundation, Inc.
-#
-# GRUB is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# GRUB is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
-
-prefix="/usr"
-exec_prefix="/usr"
-datarootdir="/usr/share"
-
-. "$pkgdatadir/grub-mkconfig_lib"
-
-export TEXTDOMAIN=grub
-export TEXTDOMAINDIR="${datarootdir}/locale"
-
-CLASS="--class gnu-linux --class gnu --class os --class xen"
-
-if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
-  OS=GNU/Linux-libre
-else
-  OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre"
-  CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}"
-fi
-
-# loop-AES arranges things so that /dev/loop/X can be our root device, but
-# the initrds that Linux-libre uses don't like that.
-case ${GRUB_DEVICE} in
-  /dev/loop/*|/dev/loop[0-9])
-    GRUB_DEVICE=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"`
-  ;;
-esac
-
-# btrfs may reside on multiple devices. We cannot pass them as value of root= parameter
-# and mounting btrfs requires user space scanning, so force UUID in this case.
-if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
-    || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
-    || ( test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm ); then
-  LINUX_ROOT_DEVICE=${GRUB_DEVICE}
-else
-  LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
-fi
-
-# Allow overriding GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT.
-if [ "${GRUB_CMDLINE_LINUX_XEN_REPLACE}" ]; then
-  GRUB_CMDLINE_LINUX="${GRUB_CMDLINE_LINUX_XEN_REPLACE}"
-fi
-if [ "${GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT}" ]; then
-  GRUB_CMDLINE_LINUX_DEFAULT="${GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT}"
-fi
-
-case x"$GRUB_FS" in
-    xbtrfs)
-	rootsubvol="`make_system_path_relative_to_its_root /`"
-	rootsubvol="${rootsubvol#/}"
-	if [ "x${rootsubvol}" != x ]; then
-	    GRUB_CMDLINE_LINUX="rootflags=subvol=${rootsubvol} ${GRUB_CMDLINE_LINUX}"
-	fi;;
-    xzfs)
-	rpool=`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2>/dev/null || true`
-	bootfs="`make_system_path_relative_to_its_root / | sed -e "s,@$,,"`"
-	LINUX_ROOT_DEVICE="ZFS=${rpool}${bootfs}"
-	;;
-esac
-
-title_correction_code=
-
-linux_entry ()
-{
-  os="$1"
-  version="$2"
-  xen_version="$3"
-  type="$4"
-  args="$5"
-  xen_args="$6"
-  if [ -z "$boot_device_id" ]; then
-      boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
-  fi
-  if [ x$type != xsimple ] ; then
-      if [ x$type = xrecovery ] ; then
-	  title="$(gettext_printf "%s, with Xen %s and Linux %s (recovery mode)" "${os}" "${xen_version}" "${version}")"
-      else
-	  title="$(gettext_printf "%s, with Xen %s and Linux %s" "${os}" "${xen_version}" "${version}")"
-      fi
-      replacement_title="$(echo "Advanced options for ${OS}" | sed 's,>,>>,g')>$(echo "$title" | sed 's,>,>>,g')"
-      if [ x"Xen ${xen_version}>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then
-         quoted="$(echo "$GRUB_ACTUAL_DEFAULT" | grub_quote)"
-         title_correction_code="${title_correction_code}if [ \"x\$default\" = '$quoted' ]; then default='$(echo "$replacement_title" | grub_quote)'; fi;"
-         grub_warn "$(gettext_printf "Please don't use old title \`%s' for GRUB_DEFAULT, use \`%s' (for versions before 2.00) or \`%s' (for 2.00 or later)" "$GRUB_ACTUAL_DEFAULT" "$replacement_title" "gnulinux-advanced-$boot_device_id>gnulinux-$version-$type-$boot_device_id")"
-      fi
-      echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'xen-gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
-  else
-      title="$(gettext_printf "%s, with Xen hypervisor" "${os}")"
-      echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'xen-gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
-  fi
-  if [ x$type != xrecovery ] ; then
-      save_default_entry | grub_add_tab | sed "s/^/$submenu_indentation/"
-  fi
-
-  if [ -z "${prepare_boot_cache}" ]; then
-    prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | grub_add_tab)"
-  fi
-  printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
-  xmessage="$(gettext_printf "Loading Xen %s ..." ${xen_version})"
-  lmessage="$(gettext_printf "Loading Linux-libre %s ..." ${version})"
-  sed "s/^/$submenu_indentation/" << EOF
-	echo	'$(echo "$xmessage" | grub_quote)'
-        if [ "\$grub_platform" = "pc" -o "\$grub_platform" = "" ]; then
-            xen_rm_opts=
-        else
-            xen_rm_opts="no-real-mode edd=off"
-        fi
-	${xen_loader}	${rel_xen_dirname}/${xen_basename} placeholder ${xen_args} \${xen_rm_opts}
-	echo	'$(echo "$lmessage" | grub_quote)'
-	${module_loader}	${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args}
-EOF
-  if test -n "${initrd}" ; then
-    # TRANSLATORS: ramdisk isn't identifier. Should be translated.
-    message="$(gettext_printf "Loading initial ramdisk ...")"
-    sed "s/^/$submenu_indentation/" << EOF
-	echo	'$(echo "$message" | grub_quote)'
-	${module_loader}	--nounzip   ${rel_dirname}/${initrd}
-EOF
-  fi
-  sed "s/^/$submenu_indentation/" << EOF
-}
-EOF
-}
-
-linux_list=
-for i in /boot/vmlinu[xz]-* /vmlinu[xz]-* /boot/kernel-*; do
-    if grub_file_is_not_garbage "$i"; then
-    	basename=$(basename $i)
-	version=$(echo $basename | sed -e "s,^[^0-9]*-,,g")
-	dirname=$(dirname $i)
-	config=
-	for j in "${dirname}/config-${version}" "${dirname}/config-${alt_version}" "/etc/kernels/kernel-config-${version}" ; do
-	    if test -e "${j}" ; then
-		config="${j}"
-		break
-	    fi
-	done
-        if (grep -qx "CONFIG_XEN_DOM0=y" "${config}" 2> /dev/null || grep -qx "CONFIG_XEN_PRIVILEGED_GUEST=y" "${config}" 2> /dev/null || [ -z ${config} ]); then linux_list="$linux_list $i" ; fi
-    fi
-done
-if [ "x${linux_list}" = "x" ] ; then
-    exit 0
-fi
-
-file_is_not_sym () {
-    case "$1" in
-	*/xen-syms-*)
-	    return 1;;
-	*)
-	    return 0;;
-    esac
-}
-
-file_is_not_xen_config () {
-    case "$1" in
-	*/xen*\.*config)
-	    return 1;;
-	*/xen*\.*cfg)
-	    return 1;;
-	*/xen*\.*efi)
-	    return 1;;
-	*)
-	    return 0;;
-    esac
-}
-
-
-xen_list=
-for i in /boot/xen*; do
-    if grub_file_is_not_garbage "$i" && file_is_not_sym "$i" && file_is_not_xen_config "$i"; then xen_list="$xen_list $i" ; fi
-done
-prepare_boot_cache=
-boot_device_id=
-
-title_correction_code=
-
-machine=`uname -m`
-
-case "$machine" in
-    i?86) GENKERNEL_ARCH="x86" ;;
-    mips|mips64) GENKERNEL_ARCH="mips" ;;
-    mipsel|mips64el) GENKERNEL_ARCH="mipsel" ;;
-    arm*) GENKERNEL_ARCH="arm" ;;
-    *) GENKERNEL_ARCH="$machine" ;;
-esac
-
-# Extra indentation to add to menu entries in a submenu. We're not in a submenu
-# yet, so it's empty. In a submenu it will be equal to '\t' (one tab).
-submenu_indentation=""
-
-is_top_level=true
-
-while [ "x${xen_list}" != "x" ] ; do
-    list="${linux_list}"
-    current_xen=`version_find_latest $xen_list`
-    xen_basename=`basename ${current_xen}`
-    xen_dirname=`dirname ${current_xen}`
-    rel_xen_dirname=`make_system_path_relative_to_its_root $xen_dirname`
-    xen_version=`echo $xen_basename | sed -e "s,.gz$,,g;s,^xen-,,g"`
-    if [ -z "$boot_device_id" ]; then
-	boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
-    fi
-    if [ "x$is_top_level" != xtrue ]; then
-	echo "	submenu '$(gettext_printf "Xen hypervisor, version %s" "${xen_version}" | grub_quote)' \$menuentry_id_option 'xen-hypervisor-$xen_version-$boot_device_id' {"
-    fi
-    if ($grub_file --is-arm64-efi $current_xen); then
-	xen_loader="xen_hypervisor"
-	module_loader="xen_module"
-    else
-	if ($grub_file --is-x86-multiboot2 $current_xen); then
-	    xen_loader="multiboot2"
-	    module_loader="module2"
-	else
-	    xen_loader="multiboot"
-	    module_loader="module"
-        fi
-    fi
-    while [ "x$list" != "x" ] ; do
-	linux=`version_find_latest $list`
-	gettext_printf "Found linux-libre image: %s\n" "$linux" >&2
-	basename=`basename $linux`
-	dirname=`dirname $linux`
-	rel_dirname=`make_system_path_relative_to_its_root $dirname`
-	version=`echo $basename | sed -e "s,vmlinuz-,,g"`
-	alt_version=`echo $version | sed -e "s,\.old$,,g"`
-	linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
-
-	initrd=
-	for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \
-	   "initrd-${version}" "initramfs-${version}.img" \
-	   "initrd.img-${alt_version}" "initrd-${alt_version}.img" \
-	   "initrd-${alt_version}" "initramfs-${alt_version}.img" \
-	   "initramfs-genkernel-${version}" \
-	   "initramfs-genkernel-${alt_version}" \
-	   "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
-	   "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}" ; do
-	    if test -e "${dirname}/${i}" ; then
-		initrd="$i"
-		break
-	    fi
-	done
-	if test -n "${initrd}" ; then
-	    gettext_printf "Found initrd image: %s\n" "${dirname}/${initrd}" >&2
-	else
-    # "UUID=" magic is parsed by initrds.  Since there's no initrd, it can't work here.
-	    linux_root_device_thisversion=${GRUB_DEVICE}
-	fi
-
-	if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
-	    linux_entry "${OS}" "${version}" "${xen_version}" simple \
-		"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}"
-
-	    submenu_indentation="$grub_tab$grub_tab"
-    
-	    if [ -z "$boot_device_id" ]; then
-		boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
-	    fi
-            # TRANSLATORS: %s is replaced with an OS name
-	    echo "submenu '$(gettext_printf "Advanced options for %s (with Xen hypervisor)" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
-	echo "	submenu '$(gettext_printf "Xen hypervisor, version %s" "${xen_version}" | grub_quote)' \$menuentry_id_option 'xen-hypervisor-$xen_version-$boot_device_id' {"
-	   is_top_level=false
-	fi
-
-	linux_entry "${OS}" "${version}" "${xen_version}" advanced \
-	    "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" "${GRUB_CMDLINE_XEN} ${GRUB_CMDLINE_XEN_DEFAULT}"
-	if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
-	    linux_entry "${OS}" "${version}" "${xen_version}" recovery \
-		"single ${GRUB_CMDLINE_LINUX}" "${GRUB_CMDLINE_XEN}"
-	fi
-
-	list=`echo $list | tr ' ' '\n' | fgrep -vx "$linux" | tr '\n' ' '`
-    done
-    if [ x"$is_top_level" != xtrue ]; then
-	echo '	}'
-    fi
-    xen_list=`echo $xen_list | tr ' ' '\n' | fgrep -vx "$current_xen" | tr '\n' ' '`
-done
-
-# If at least one kernel was found, then we need to
-# add a closing '}' for the submenu command.
-if [ x"$is_top_level" != xtrue ]; then
-  echo '}'
-fi
-
-echo "$title_correction_code"
diff --git a/pcr/xen/ChangeLog b/pcr/xen/ChangeLog
index ced2001..e028522 100644
--- a/pcr/xen/ChangeLog
+++ b/pcr/xen/ChangeLog
@@ -1,40 +1,325 @@
-2018-01-04 John Thomson
-    * 4.10.0-2
-    XSA-253 x86: memory leak with MSR emulation
-
-2017-12-13 John Thomson
-    * 4.10.0-1
-    Xen 4.10 release
-
-2017-12-04 John Thomson
-    * 4.10.0rc8
-    Xen 4.10 release candidate 8
-
-2017-12-01 John Thomson
-    * 4.10.0rc7
-    Xen 4.10 release candidate 7
-
-2017-11-23 John Thomson
-    * 4.10.0rc6
-    Xen 4.10 release candidate 6
-
-2017-11-18 John Thomson
-    * 4.10.0rc5
-    Xen 4.10 release candidate 5
-    grub multiboot2 config generator updated
-
-2017-11-13 John Thomson
-    * 4.10.0rc4
-    Xen 4.10 release candidate 4
-
-2017-11-02 John Thomson
-    * 4.10.0rc3
-    Xen 4.10 release candidate 3
-
-2017-10-23 John Thomson
-    * 4.10.0rc2
-    Xen 4.10 release candidate 2
-
-2017-10-18 John Thomson
-    * 4.10.0rc1
-    Xen 4.10 release candidate 1
+2022-02-15
+	* 4.16.0-3
+	* forgot to wrap qemu subpackage in an if
+
+2022-02-06
+	* 4.16.0-2
+	* security patches
+	* qemu and stubdom now generate split packages
+
+2021-12-28 Sam Mulvey
+	* 4.16.0-1
+	* simple bump
+
+2021-09-28 Sam Mulvey
+	* 4.15.1-1
+	* no patches at all, compiles cleanly
+
+2021-09-09 Sam Mulvey
+	* 4.15.0-4
+	* adds a PVH security patch
+
+2021-08-28 Sam Mulvey
+	* 4.15.0-3
+	* EFI fixes
+	* continued GCC11 changes
+	* XSA: 379 380 382 383
+
+2021-04-15 Sam Mulvey
+	* 4.15.0-1
+	* stubdom build now defaults false
+
+2021-01-12 Sam Mulvey
+	* 4.14.1-1
+
+2020-11-10 Sam Mulvey
+	* 4.14.0-4
+	re-added XSA patch file handling
+
+2020-08-10 Sam Mulvey
+	* 4.14.0-1
+	option to build own QEMU is added, and default
+
+2020-08-20 Sam Mulvey
+	* 4.13.1-4
+
+2019-08-15 Maik Broemme
+	* 4.12.1-1
+	Xen 4.12.1
+
+2019-04-29 Maik Broemme
+	* 4.12.0-1
+	Xen 4.12.0
+
+2018-07-24 Maik Broemme
+	* 4.11.0-2
+	Updated version in 'xen.install' file
+
+2018-07-12 Maik Broemme
+	* 4.11.0-1
+	Xen 4.11.0
+
+2018-05-15 Maik Broemme
+	* 4.10.1-3
+	Apply XSA patches: 260 261 262
+
+2018-05-15 Maik Broemme
+	* 4.10.1-2
+	Fix compilation issue with gcc-8
+
+2018-05-08 Maik Broemme
+	* 4.10.1-1
+	Xen 4.10.1
+
+2018-05-03 Maik Broemme
+	* 4.10.0-6
+	Replace 'mingw-w64-binutils' with 'binutils'
+
+2018-05-03 Maik Broemme
+	* 4.10.0-5
+	Fix missing path of '--with-system-ovmf' parameter
+	Fix compilation issue with glibc-2.27
+	Apply XSA patches: 258
+
+2018-04-11 Maik Broemme
+	* 4.10.0-4
+	PKGBUILD cleanup
+	Update ipxe to latest version
+	Align dependencies between qemu-xen and qemu-xen-traditional
+	Remove no longer needed '-Werror' fixes
+
+2018-04-09 Maik Broemme
+	* 4.10.0-3
+	Fix '(XEN) parameter "/boot/xen-4.10.0.gz" unknown!' issue
+
+2018-04-09 Maik Broemme
+	* 4.10.0-2
+	Make dependencies independent from build system
+	Apply XSA patches: 253 254 255 256
+
+2018-02-20 Maik Broemme
+	* 4.10.0-1
+	Xen 4.10.0
+
+2017-09-30 Janne Heß
+	* 4.9.0-2
+	Add spice-glib dependency
+	Fix build with PIC
+	Apply XSA patches: 226 227 228 229 230 231 232 233 234 235
+
+2017-07-20 Janne Heß
+	* 4.9.0
+	Xen 4.9.0
+	Completely patch out Werror
+	Remove all obsolete patches
+
+2017-05-06 Janne Heß
+	* 4.8.0-7
+	Apply XSA patches: 213 214
+
+2017-04-07 Janne Heß
+	* 4.8.0-6
+	Remove last pieces of OVMF and SeaBIOS
+	Specify location of SeaBIOS
+	Apply XSA patch: 212
+
+2017-03-28 Janne Heß
+	* 4.8.0-5
+	Split out SeaBIOS and OVMF
+	Disable Werror
+	Apply XSA patch: 211
+
+2017-03-09 Janne Heß
+	* 4.8.0-4
+	Merge with xen-docs
+	Fix lzo dependency
+	Add mingw-w64-binutils as dependency
+
+2017-02-27 Janne Heß
+	* 4.8.0-3
+	Apply XSA patches: 207 208 209 210
+
+2017-01-12 Janne Heß
+	* 4.8.0-2
+	Xen 4.8.0
+	Update all downloaded packages
+	Remove all obsolete patches
+	Apply XSA patch: 203, 204
+
+2016-09-18 John Thomson
+	* 4.7.0-3
+	Apply XSA patch: 185, 186, 187
+
+2016-09-03 John Thomson
+	* 4.7.0-2
+	Apply XSA patch: 182, 183, 184
+
+2016-06-24 John Thomson
+	* 4.7.0-1
+	Xen 4.7.0
+
+2016-06-11 John Thomson
+	* 4.6.1-7
+	Apply XSA patch: 175, 178, 181
+
+2016-05-23 John Thomson
+	* 4.6.1-6
+	Apply XSA patch: 180
+
+2016-05-19 John Thomson
+	* 4.6.1-5
+	Apply XSA patch: 176
+
+2016-05-12 John Thomson
+	* 4.6.1-4
+	Apply XSA patch: 179
+	Patches for GCC6
+
+2016-04-19 John Thomson
+	* 4.6.1-3
+	Apply XSA patch: 173
+
+2016-03-31 John Thomson
+	* 4.6.1-2
+	Apply XSA patch: 172
+
+2016-02-19 John Thomson
+	* 4.6.1-1
+	Xen source package updated to 4.6.1
+	Apply XSA patch: 170
+
+2016-02-19 John Thomson
+	* 4.5.2-1
+	Xen source package updated to 4.5.2
+	Build xen.efi with mingw-w64-binutils
+	Build ovmf
+	Apply XSA patches: 154, 156, 158 to 160, 162 to 168, and 170
+
+2015-07-04 David Sutton <kantras - gmail.com>
+	* 4.5.1-1
+	New major release from upstream
+	Added -fno-caller-saves CFLAG to PKGBUILD to work around GCC5 issues
+	Added in some compile fixes for GCC 5
+	Disabled OVMF for now until patched for GCC 5
+
+2015-05-13 David Sutton <kantras - gmail.com>
+	* 4.5.0-3
+	Added Security patches
+
+2015-04-08 David Sutton <kantras - gmail.com>
+	* 4.5.0-2
+	Updated PKGBUILD to use absolute instead of relative paths for install
+	Updated efi-xen.cfg with syntax fix
+	Added gnuttls-3.4.0 patch 
+	Added security patches
+
+2015-03-01 David Sutton <kantras - gmail.com>
+	* 4.5.0-1 
+	New major release from upstream
+	Cleaned up old XSA patches
+	Removed old systemd support patches and realigned with the new upstream methods
+
+2014-10-26 David Sutton <kantras - gmail.com>
+	* 4.4.1-3
+	Enabled OVMF support and added patches to fix compile
+	Enabled spice support and added patch to enable qemu support in qemu-xen
+	Added figlet as an make dependancy for the ascii art version number
+	Including an example xen.cfg package for people who will be using EFI
+	Additional cleanup (explictly disabling some unnecessary libraries)
+
+2014-10-12 David Sutton <kantras - gmail.com>
+	* 4.4.1-2:
+	Added XSA 104, 105, 106, 107 and 108 security patches
+	Added .config to resolve compile issues where /etc/sysconfig exists
+
+2014-09-04 David Sutton <kantras - gmail.com>
+	* 4.4.1-1:
+	New Upstream release
+	Cleared out unnecessary patches (security, gcc compile and pit)
+
+2014-06-22 David Sutton <kantras - gmail.com>
+	* 4.4.0-6:
+	Added additional patch to support XSA 100 on AMD platform
+
+2014-06-17 David Sutton <kantras - gmail.com>
+	* 4.4.0-5:
+	Added XSA 96 and 100 security patches
+	Added patch to explictly disable searching for bluez libs
+	Cleaned up PKGBUILD
+
+2014-05-17 David Sutton <kantras - gmail.com>
+	* 4.4.0-4:
+	Added patch to fix shutdown issues with pvh domains
+
+2014-05-01 David Sutton <kantras - gmail.com>
+	* 4.4.0-3:
+        Added XSA 92 Security patch
+        Added fix for compiling under GCC 4.9.0 (From Fedora Rawhide SRPM)
+        Added updates to 09_xen to closer match system 10_linux
+
+2014-03-11 David Sutton <kantras - gmail.com>
+	* 4.4.0-2:
+	Moved xen-syms file so 09_xen won't pick it up as a potential kernel.
+	Added XSA 89 Security patch
+	Minor PKGBUILD cleanup/changes
+
+2014-03-10 David Sutton <kantras - gmail.com>
+	* 4.4.0-1:
+	New upstream release
+	Cleaned up old unnecessary patches
+
+2014-02-19 David Sutton <kantras - gmail.com>
+	* 4.3.2-1:
+	New upstream release
+	Removed unnecessary security patches (since now integrated into source)
+	Attempts to pull down additional required source file to ensure not corrupted
+	Added missing dependancy libseccomp
+
+2013-11-25 David Sutton <kantras - gmail.com>
+	* 4.3.1-2:
+	Changed bluez dependancy from bluez4 to bluez
+	Added recent security patches
+
+2013-10-31 David Sutton <kantras - gmail.com>
+	* 4.3.1-1:
+	New upstream release
+	Removed unnecessary security patches (already merged)
+	Fixed BIOS Workaround patch to apply to the new source files
+	Fixed ATI Passthrough patch to apply to the new source files
+	Updated paths in all patches
+
+2013-09-29 David Sutton <kantras - gmail.com>
+	* 4.3.0-7:
+	Fixed optdepends in PKGBUILD
+	Added in a pre_remove function in xen.install to disable services
+	Minor text formating changes in xen.install
+	Added XSA 62,63,64 and 66 patches (Xen Security Advisories)
+
+2013-09-29 David Sutton <kantras - gmail.com>
+	* 4.3.0-6:
+	Fixed 09_xen so it can detect lts kernels
+
+2013-09-28 David Sutton <kantras - gmail.com>
+	* 4.3.0-5:
+	Fixed mount option in 09_xen from ro to rw
+	Added in dummy /etc/xen/grub.conf to control settings in 09_xen
+	Fix library sanitize so that it returns to the base directory
+	Move the syms file to /usr/share/xen so that it is out of the way of boot but still accessible
+	Added optional dependancy for openvswitch
+
+2013-08-13 David Sutton <kantras - gmail.com>
+	* 4.3.0-4 :
+	Added patch for qemu-xen to add a TOM register for PCI Hole mapping
+	Protected /etc/conf.d/xendomains from being overwritten
+	Included ATI Passthrough patch (not enabled by default, compile tested only)
+
+2013-07-23 David Sutton <kantras - gmail.com>
+
+        * 4.3.0-3 :
+        added ChangeLog.
+        Cleaned up PKGBUILD to match Arch Package Standards
+        Fixed some path references - /var/run to /run
+        Removed some unnecessary empty directories
+        Updated xenconsoled and xenstored so they use /run for pid file
+        Updated auto-created /run directories to include xenstored
+
diff --git a/pcr/xen/PKGBUILD b/pcr/xen/PKGBUILD
index 2e0dd94..80b0f50 100644
--- a/pcr/xen/PKGBUILD
+++ b/pcr/xen/PKGBUILD
@@ -1,497 +1,346 @@
-# current version adapted from https://gitlab.com/archlinux-packages-johnth/xen/tree/xen-4.10
-
-# Maintainer (AUR): John Thomson <aur.xen at j0aur.mm.st>
-# Contributor (Arch): David Sutton <kantras - gmail.com>
-# Contributor (Arch): Shanmu Thiagaraja <sthiagaraja+AUR@prshanmu.com>
-# Contributor (Arch): Limao Luo
-# Contributor (Arch): Luceo
-# Contributor (Arch): Revellion
-# Contributor: André Silva <emulatorman@hyperbola.info>
-# Contributor: Márcio Silva <coadde@hyperbola.info>
-# Contributor: Isaac David <isacdaavid@at@isacdaavid@dot@info>
-
-#linux-4.7 EFI boot panic issue (patch linux)
-#http://lkml.iu.edu/hypermail/linux/kernel/1608.2/03448.html
-
-_build_stubdom="${build_stubdom:-false}"
-_system_seabios="${system_seabios:-false}"
-_build_debug="${build_debug:-false}"
-_build_livepatch="${build_livepatch:-false}"
-
-## use _build_stubdom=true to build xen with stubdom
-## use _system_seabios=true to use system seabios
-## this bios file is slightly different to the xen seabios
-## /usr/share/qemu/bios-256k.bin uses CONFIG_ROM_SIZE=256, and newer seabios
-## can force use this file through vm.cfg bios_path_override='/usr/share/qemu/bios-256k.bin'
-## use _build_debug=true to compile Xen with debug options
-## use _build_livepatch=true to compile Xen with livepatch support
-
-#_build_stubdom=true
-#_system_seabios=true
-#_build_debug=true
-#_build_livepatch=true
+# Maintainer (aur): Sam Mulvey (Refutationalist) <archlinux@sammulvey.com>
+# Contributor: Filipe Laíns (FFY00) <lains@archlinux.org>
+# Contributor: Chris Chapman (cman) <chris.chapman@aggiemail.usu.edu>
+
+# Build Options
+_build_stubdom=${build_stubdom:-false}
+_build_qemu=${build_qemu:-true}
+_boot_dir=${boot_dir:-/boot}
+_efi_dir=${efi_dir:-/boot}
+_efi_mountpoint=${efi_mountpoint:-/boot}
+
+# Check http://xenbits.xen.org/xen-extfiles/ for updates
+_gmp=4.3.2
+_grub=0.97
+_lwip=1.3.0
+_newlib=1.16.0
+_pciutils=2.2.9
+_polarssl=1.1.4
+_tpm_emulator=0.7.4
+_zlib=1.2.3
 
 pkgbase=xen
-pkgname=(xen{,-docs,-syms})
-_pkgname=xen
-pkgver=4.10.0
-_pkgver=${pkgver/rc/-rc}
-pkgrel=1
-pkgdesc='Virtual Machine Hypervisor & Tools (Parabola rebranded)'
-arch=(x86_64 armv7h)
-depends=(
-    bridge-utils
-    curl
-    gnutls
-    iproute2
-    libaio
-    libcacard
-    libcap-ng
-    libiscsi
-    libnl
-    libpng
-    lzo
-    pciutils
-    python2
-    sdl
-    spice
-    systemd
-    usbredir
-    yajl
-    # seabios ovmf qemu
-)
-[[ "$CARCH" == 'x86_64' ]] && depends+=(
-    lib32-glibc
-)
-[[ "$CARCH" == *'arm'* ]] && depends+=(
-    dtc-overlay
-)
-[[ "$_system_seabios" == true ]] && depends+=(
-    seabios
-)
-url='http://www.xenproject.org/'
+pkgname=("xen" "xen-docs")
+pkgver=4.16.0
+pkgrel=3
+pkgdesc='Open-source type-1 or baremetal hypervisor'
+arch=('x86_64')
+url='https://xenproject.org/'
 license=('GPL2')
+options=(!buildflags)
+
 makedepends=(
-    cmake
-    figlet
-    git
-    markdown
-    nasm
-    ocaml-findlib
-    spice-protocol
-    wget
+	'zlib' 'python' 'ncurses' 'openssl' 'libx11' 'libuuid.so' 'yajl' 'libaio' 'glib2' 'pkgconf'
+	'bridge-utils' 'iproute2' 'inetutils' 'acpica' 'lib32-glibc' 'gnutls'
+	'vde2' 'lzo' 'pciutils' 'sdl2' 'systemd-libs'
+	'systemd' 'wget' 'pandoc' 'valgrind' 'git' 'bin86' 'dev86' 'bison' 'gettext' 'flex' 'pixman' 'ocaml' 'ocaml-findlib' 'fig2dev'
+) # last line from namcap, these depends are the xen depends
+_stubdom_makedepends=('cmake')
+_qemu_makedepends=('ninja')
+
+_source=(
+	"https://downloads.xenproject.org/release/xen/$pkgver/$pkgname-$pkgver.tar.gz"{,.sig}
+	"efi-xen.cfg"
+	"xen.conf"
+	"tmpfiles.conf"
+	"xen-ucode-extract.sh"
+	"xen-intel-ucode.hook"
+	"xen-amd-ucode.hook"
 )
-[[ "$CARCH" == 'x86_64' ]] && makedepends+=(
-    bin86
-    dev86
-    gcc-multilib
-    iasl
+
+validpgpkeys=('23E3222C145F4475FA8060A783FE14C957E82BD9') # Xen.org Xen tree code signing (signatures on the xen hypervisor and tools) <pgp@xen.org>
+
+
+# Follow the Xen securite mailing lists, and if a patch is applicable to our package
+# add the URL here.
+_patches=(
+	"https://xenbits.xen.org/xsa/xsa393.patch"
+	"https://xenbits.xen.org/xsa/xsa394.patch"
+	"https://xenbits.xen.org/xsa/xsa395.patch"
+
 )
-[[ "$CARCH" == 'i686' ]] && makedepends+=(
-    bin86
-    dev86
-    iasl
+
+
+# Sources required for building stubdom
+_stubdom_source=(
+	"http://xenbits.xen.org/xen-extfiles/gmp-$_gmp.tar.bz2"
+	"http://xenbits.xen.org/xen-extfiles/grub-$_grub.tar.gz"
+	"http://xenbits.xen.org/xen-extfiles/lwip-$_lwip.tar.gz"
+	"http://xenbits.xen.org/xen-extfiles/newlib-$_newlib.tar.gz"
+	"http://xenbits.xen.org/xen-extfiles/pciutils-$_pciutils.tar.bz2"
+	"http://xenbits.xen.org/xen-extfiles/polarssl-$_polarssl-gpl.tgz"
+	"http://xenbits.xen.org/xen-extfiles/tpm_emulator-$_tpm_emulator.tar.gz"
+	"http://xenbits.xen.org/xen-extfiles/zlib-$_zlib.tar.gz"
 )
 
-## For building Xen EFI boot file.
-## mingw-w64-binutils only needed if 
-## binutils not built with --enable-targets=x86_64-pep 
-_binutils_efi=false
-
-if [[ "$CARCH" == 'x86_64' ]]; then
-    if which ld 2>&1 > /dev/null; then
-        _binutils_emulations="$(ld -V)"
-        if [[ "$_binutils_emulations" == *'i386pep'* ]]; then
-            _binutils_efi=true
-            msg '#ld has efi support'
-        else
-            makedepends+=(
-                mingw-w64-binutils
-            )
-            msg '#ld does not have efi support, using mingw'
-        fi
-    else
-        true
-    fi
-fi
 
+# from cheap hack known as break_out_sums.sh
+_sha512sums=(
+        "2869ed90d1779c9754d7f2397f5fc67a655304d9c32953ac20655ef96cb154521d8fce9f23915ac0c91f984dc54f72c67e5e619e2da318b5997748f44cf21b87" # xen-4.16.0.tar.gz
+        "SKIP" # xen-4.16.0.tar.gz.sig
+        "1bbcbcd9fb8344a207409ec9f0064a45b726416f043f902ca587f5e4fa58497a759be4ffd584fa32318e960aa478864cc05ec026c444e8d27ca8e3248bd67420" # efi-xen.cfg
+        "ccaa2ff82e4203b11e5dec9aeccac2e165721d8067e0094603ecaa7a70b78c9eb9e2287a32687883d26b6ceae6f8d2ad7636ddf949eb658637b3ceaa6999711b" # xen.conf
+        "53ba61587cc2e84044e935531ed161e22c36d9e90b43cab7b8e63bcc531deeefacca301b5dff39ce89210f06f1d1e4f4f5cf49d658ed5d9038c707e3c95c66ef" # tmpfiles.conf
+        "a9230ec6ef9636ac3f3e4b72b1747ee8c4648a8bf4bd8dc3650365e34f1f67474429dbdd24996907d277b0ff5f235574643e781cb3ff37da954e899ddadbe0d6" # xen-ucode-extract.sh
+        "7a832de9b35f4b77ee80d33310b23886f4d48d1d42c3d6ef6f8e2b428bec7332a285336864b61cfa01d9a14c2023674015beb7527bd5849b069f2be88e6500cd" # xen-intel-ucode.hook
+        "99921b94a29fa7988c7fb5c17da8e598e777c972d6cae8c8643c991e5ff911a25525345ea8913945313d5c49fecf9da8cc3b83d47ab03928341e917b304370a9" # xen-amd-ucode.hook
+)
 
-options=(!buildflags !strip)
-changelog=ChangeLog
 
-##SeaBIOS & OVMF tags are in src/xen-*/tools/Config.mk
-##grep -rE '_(REVISION|VERSION|TAG)( \?| :){0,1}=' src/xen**/{Config.mk,stubdom/configure,tools/firmware/etherboot/Makefile}
-_git_tag_seabios='#tag=rel-1.10.2'
-_git_tag_ovmf='#tag=947f3737abf65fda63f3ffd97fddfa6986986868'
-_git_tag_ipxe='356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d'
+_patch_sums=(
+	"32efed25f988579be8266a6bc80ed7c09c408519c6b6c5264b7e032849e3accc7ddea19c5879c06d7e7b27308d06e114f6e3ca4f814d53b9be9d239fb09c71f1" # xsa393.patch
+	"a0afa766e492a4dc921cd5c4c43c9ecbe87f79c07986504c8626ab7f06736147bdfa4637ea4c4abf17b9f1df31056bbcbb6c51a52e244e57467564c8ea06a52e" # xsa394.patch
+	"0aafb55b88a7feefeb0162b2722efc8ad43edcdfc7926492e1d49945eafb8dda900f7da37b2d49fd4dbc2d0c9a068ad6e47674a6df108a58842275695ed73540" # xsa395.patch
+)
 
-if [[ "$_build_stubdom" == true ]]; then
-    if [[ "$CARCH" == *'arm'* ]]; then
-        echo '####Compile settings error:'
-        echo "#cannot build stubdom for $CARCH"
-        _build_stubdom=false
-    fi
-fi
 
-source=(
-    "https://downloads.xenproject.org/release/$_pkgname/$_pkgver/$_pkgname-$_pkgver.tar.gz"{,.sig}
-    "http://xenbits.xen.org/xen-extfiles/ipxe-git-$_git_tag_ipxe.tar.gz"
+_stub_sums=(
+        "2e0b0fd23e6f10742a5517981e5171c6e88b0a93c83da701b296f5c0861d72c19782daab589a7eac3f9032152a0fc7eff7f5362db8fccc4859564a9aa82329cf" # gmp-4.3.2.tar.bz2
+        "c2bc9ffc8583aeae71cee9ddcc4418969768d4e3764d47307da54f93981c0109fb07d84b061b3a3628bd00ba4d14a54742bc04848110eb3ae8ca25dbfbaabadb" # grub-0.97.tar.gz
+        "1465b58279af1647f909450e394fe002ca165f0ff4a0254bfa9fe0e64316f50facdde2729d79a4e632565b4500cf4d6c74192ac0dd3bc9fe09129bbd67ba089d" # lwip-1.3.0.tar.gz
+        "40eb96bbc6736a16b6399e0cdb73e853d0d90b685c967e77899183446664d64570277a633fdafdefc351b46ce210a99115769a1d9f47ac749d7e82837d4d1ac3" # newlib-1.16.0.tar.gz
+        "2b3d98d027e46d8c08037366dde6f0781ca03c610ef2b380984639e4ef39899ed8d8b8e4cd9c9dc54df101279b95879bd66bfd4d04ad07fef41e847ea7ae32b5" # pciutils-2.2.9.tar.bz2
+        "88da614e4d3f4409c4fd3bb3e44c7587ba051e3fed4e33d526069a67e8180212e1ea22da984656f50e290049f60ddca65383e5983c0f8884f648d71f698303ad" # polarssl-1.1.4-gpl.tgz
+        "4928b5b82f57645be9408362706ff2c4d9baa635b21b0d41b1c82930e8c60a759b1ea4fa74d7e6c7cae1b7692d006aa5cb72df0c3b88bf049779aa2b566f9d35" # tpm_emulator-0.7.4.tar.gz
+        "021b958fcd0d346c4ba761bcf0cc40f3522de6186cf5a0a6ea34a70504ce9622b1c2626fce40675bc8282cf5f5ade18473656abc38050f72f5d6480507a2106e" # zlib-1.2.3.tar.gz
+)
 
-    'seabios'::"git://xenbits.xen.org/seabios.git$_git_tag_seabios"
-    'ovmf'::"git://xenbits.xen.org/ovmf.git$_git_tag_ovmf"
-    ##HTTP access
-    #'seabios'::"git+http://xenbits.xen.org/git-http/seabios.git$_git_tag_seabios"
+# Simplify things for makepkg
+source=( "${_source[@]}" "${_patches[@]}" )
+sha512sums=( "${_sha512sums[@]}" "${_patch_sums[@]}" )
 
-    ## Compile patches
-    ati-passthrough.patch
-    patch-ovmf-use-python2.patch
+for file in "${_patches[@]}"; do
+	noextract+=( $(basename ${file}) )
+done
 
-    ## Files
-    xen.install
-    21_linux_xen_multiboot_arch
-    efi-xen.cfg
-    "tmpfiles.d-$_pkgname.conf"
 
-    ## XSA patches
-    https://xenbits.xen.org/xsa/xsa253.patch
-)
 
-if [[ "$_build_stubdom" == true ]]; then
-    msg '#building with stubdom'
-    source+=(
-        http://xenbits.xen.org/xen-extfiles/lwip-1.3.0.tar.gz
-        http://xenbits.xen.org/xen-extfiles/zlib-1.2.3.tar.gz
-        http://xenbits.xen.org/xen-extfiles/newlib-1.16.0.tar.gz
-        http://xenbits.xen.org/xen-extfiles/pciutils-2.2.9.tar.bz2
-        http://xenbits.xen.org/xen-extfiles/polarssl-1.1.4-gpl.tgz
-        http://xenbits.xen.org/xen-extfiles/grub-0.97.tar.gz
-        http://xenbits.xen.org/xen-extfiles/tpm_emulator-0.7.4.tar.gz
-        http://xenbits.xen.org/xen-extfiles/gmp-4.3.2.tar.bz2
-        http://caml.inria.fr/pub/distrib/ocaml-3.11/ocaml-3.11.0.tar.gz
-    )
-fi
+# stubdom handling
+if [ "${_build_stubdom}" == "true" ]; then
+	source=("${source[@]}" "${_stubdom_source[@]}")
+	sha512sums=("${sha512sums[@]}" "${_stub_sums[@]}")
 
+	# Add in automagic dependency in order to build vtpm and vtpmmgr stubdoms
+	makedepends=( "${makedepends[@]}" "${_stubdom_makedepends[@]}" )
 
-noextract=(
-    "ipxe-git-$_git_tag_ipxe.tar.gz"
-)
+	for file in "${_stubdom_source[@]}"; do
+		noextract+=( $(basename ${file}) )
+	done
 
-if [[ "$_build_stubdom" == true ]]; then
-    noextract+=(
-        lwip-1.3.0.tar.gz
-        zlib-1.2.3.tar.gz
-        newlib-1.16.0.tar.gz
-        pciutils-2.2.9.tar.bz2
-        polarssl-1.1.4-gpl.tgz
-        grub-0.97.tar.gz
-        tpm_emulator-0.7.4.tar.gz
-        gmp-4.3.2.tar.bz2
-        ocaml-3.11.0.tar.gz
-    )
+	_config_stubdom='--enable-stubdom'
+
+	# make sure to build the stubdom package
+	pkgname+=("xen-stubdom")
+
+else
+	_config_stubdom='--disable-stubdom'
 fi
 
-validpgpkeys=('23E3222C145F4475FA8060A783FE14C957E82BD9')
-#gpg --keyserver pgp.mit.edu --recv-key 23E3222C145F4475FA8060A783FE14C957E82BD9
-sha256sums=('0262a7023f8b12bcacfb0b25e69b2a63291f944f7683d54d8f33d4b2ca556844'
-            'SKIP'
-            '251e5516d7de470c434ae5c393aacca2b61fb24d93770592a4a20add60b785c4'
-            'SKIP'
-            'SKIP'
-            'd93c2d5bcdf0c3e4c6e8efb357cb4b9d618209025361f5ccd9d03651a8acd7a3'
-            '5fb65130f96d1728368a09042e55f622c14117572030ce2141bff4ae150e4a01'
-            '55145ff9c1570257478842e4001b0dafe007d90f5b06db17231bc5bf20f3b23d'
-            '8101316cfdf4b59e9c39b7372d4240a4552971c0fa53a4719bbb7a22f5622f4e'
-            'efb3c5713d556aa4890136ebf61502060cf90234fbd2e85701ad7a7ed2524fb1'
-            '40e0760810a49f925f2ae9f986940b40eba477dc6d3e83a78baaae096513b3cf'
-            'bba1abb5e4368421de29385e37f8477bf3534d3ba3ff7e2aae9c9d3da53f1393')
-
-
-if [[ "$_build_stubdom" == true ]]; then
-    sha256sums+=(
-        #stubdom bits
-        '772e4d550e07826665ed0528c071dd5404ef7dbe1825a38c8adbc2a00bca948f'
-        '1795c7d067a43174113fdf03447532f373e1c6c57c08d61d9e4e9be5e244b05e'
-        'db426394965c48c1d29023e1cc6d965ea6b9a9035d8a849be2750ca4659a3d07'
-        'f60ae61cfbd5da1d849d0beaa21f593c38dac9359f0b3ddc612f447408265b24'
-        '2d29fd04a0d0ba29dae6bd29fb418944c08d3916665dcca74afb297ef37584b6'
-        '4e1d15d12dbd3e9208111d6b806ad5a9857ca8850c47877d36575b904559260b'
-        '4e48ea0d83dd9441cc1af04ab18cd6c961b9fa54d5cbf2c2feee038988dea459'
-        '936162c0312886c21581002b79932829aa048cfaf9937c6265aeaa14f1cd1775'
-        'ecdd4f8473ab0dee5d3acb5c0a31a4c1dd6aa12179895cf1903dd0f455c43a4f'
-
-        #stubdom patches
-    )
+if [ "${_build_qemu}" == "true" ]; then
+	_config_qemu=""
+	# qemu needs ninja to build as of 4.16.0
+	makedepends=( "${makedepends[@]}" "${_qemu_makedepends[@]}" )
+	pkgname+=("xen-qemu-builtin")
+else
+	_config_qemu="--with-system-qemu=/usr/bin/qemu-system-x86_64"
 fi
 
-_xen_kconfig_debug=$(cat <<EOF
-CONFIG_DEBUG=y
-CONFIG_CRASH_DEBUG=y
-EOF
-)
-_xen_kconfig_livepatch=$(cat <<EOF
-CONFIG_LIVEPATCH=y
-EOF
+_common_make_flags=(
+  "BOOT_DIR=${_boot_dir}"
+  "EFI_DIR=${_efi_dir}"
+  "EFI_MOUNTPOINT=${_efi_mountpoint}"
+  "XEN_VENDORVERSION=-${pkgrel}-arch"
 )
 
-_makevars=(
-    LANG=C
-    PYTHON=python2
-)
+# TODO: Setup users, dirs, etc.
 
 prepare() {
-    cd "$_pkgname-$_pkgver/"
-
-    ### Copy git sourced tools/firmware
-    # move seabios into place
-    mv --force "$srcdir/seabios" tools/firmware/seabios-dir-remote
-    # move ovmf into place
-    mv --force "$srcdir/ovmf" tools/firmware/ovmf-dir-remote
-
-    ### Patching
-
-    # XSA Patches
-    msg 'XSA patches'
-    # Security Patches - Base
-    patch -Np1 -i "$srcdir/xsa253.patch"
-
-    # Security Patches - qemu-xen-traditional
-    cd 'tools/qemu-xen-traditional/'
-    cd '../../'
-
-    # Security Patches - qemu-xen (upstream)
-    cd 'tools/qemu-xen/'
-    cd '../../'
-
-
-    # Compile Patches
-    msg 'Compile patches'
-
-    # Build EFI binary with mingw
-    if [[ "$_binutils_efi" != true ]]; then
-        if $(stat /usr/x86_64-w64-mingw32/bin/ld >/dev/null 2>&1); then
-            sed -i.bak '/ EFI_LD/s/LD/LD_EFI/' xen/arch/x86/Makefile
-            sed -i.bak 's/LD/LD_EFI/' xen/arch/x86/efi/Makefile
-            sed -i.bak '/EFI_MOUNTPOINT .*/aLD_EFI ?= $(LD)' xen/Makefile
-        else
-            echo '#Not capable of building xen.efi. Need either:'
-            echo '#(preferred) binutils compiled with --enable-targets=x86_64-pep'
-            echo '#or install mingw-w64-binutils'
-        fi
-    fi
-
-    # OVMF Compile support (Pulls from GIT repo, so patching to patch after pull request)
-    patch -Np1 -i "$srcdir/patch-ovmf-use-python2.patch"
-    #mkdir -p tools/firmware/ovmf-patches
-    #cp "$srcdir"/patch-inbuild-ovmf*.patch tools/firmware/ovmf-patches/
-
-    # Uncomment line below if you want to enable ATI Passthrough support (some reported successes, untested with 4.4)
-    #patch -Np1 -i "$srcdir/ati-passthrough.patch"
-
-    ## Fix fixed rundir paths
-    ## grep -Rl '\/var\/run\/xen' * 2> /dev/null
-    _var_run_fixed_paths=(
-        tools/hotplug/Linux/locking.sh
-        tools/xenmon/xenbaked.c
-        tools/xenmon/xenmon.py
-        tools/pygrub/src/pygrub
-    )
-    sed -i 's:/var/run:/run:' ${_var_run_fixed_paths[@]}
-
-    ## Fix python version in shebang
-    msg 'Fix python shebang to python2'
-    _python_files=( $(grep -Rlse '^#!/usr/bin/.*python$' || : ) )
-    sed -Ei 's|(^#!.*/usr/bin/(env ){0,1})python$|\1python2|' ${_python_files[@]}
-
-    ## Fix systemd-modules-load.d/xen.conf
-    ## remove nonexistent modules
-    find tools -iname 'configure*' -exec sed -i -E -e '
-        /^LINUX_BACKEND_MODULES="$/,/^"$/ {
-            #Address range where this variable is set
-            /"/b;               #Do noting if the line contains "
-            /^xen-/!d;          #Delete if does not start with xen
-            s/scsibk/scsiback/; #Change scsibk to scsiback
-        };' {} \;
-
-    if [[ "$_build_stubdom" == true ]]; then
-        # Copy supporting tarballs into place
-        ln -s "$srcdir/lwip-1.3.0.tar.gz" stubdom/
-        ln -s "$srcdir/zlib-1.2.3.tar.gz" stubdom/
-        ln -s "$srcdir/newlib-1.16.0.tar.gz" stubdom/
-        ln -s "$srcdir/pciutils-2.2.9.tar.bz2" stubdom/
-        ln -s "$srcdir/polarssl-1.1.4-gpl.tgz" stubdom/
-        ln -s "$srcdir/grub-0.97.tar.gz" stubdom/
-        ln -s "$srcdir/tpm_emulator-0.7.4.tar.gz" stubdom/
-        ln -s "$srcdir/gmp-4.3.2.tar.bz2" stubdom/
-        ln -s "$srcdir/ocaml-3.11.0.tar.gz" stubdom/
-
-        ## Stubdom patches
-        cd 'extras/mini-os'
-        cd '../../'
-
-        #vtpm
-    fi
-
-    #etherboot
-    ln -s "$srcdir/ipxe-git-$_git_tag_ipxe.tar.gz" tools/firmware/etherboot/ipxe.tar.gz
-    #cp "$srcdir"/patch-inbuild-ipxe*.patch tools/firmware/etherboot/patches/
+
+	cd "${pkgbase}-${pkgver}"
+
+	if [ "${_build_stubdom}" == "true" ]; then
+
+		for file in "${_stubdom_source[@]}"; do
+			cp ../$(basename ${file}) stubdom/
+		done
+
+	fi
+
+
+	for patchurl in "${_patches[@]}"; do
+		patch=$(basename $patchurl)
+		echo "==> Applying security patch '${patch}'..."
+		patch -p1 < "../${patch}"
+	done
+
+	# Fix Install Paths.
+	sed 's,/var/run,/run,g' -i tools/hotplug/Linux/locking.sh
+	sed 's,/var/run,/run,g' -i tools/misc/xenpvnetboot
+	sed 's,/var/run,/run,g' -i tools/xenmon/xenbaked.c
+	sed 's,/var/run,/run,g' -i tools/xenmon/xenmon.py
+	sed 's,/var/run,/run,g' -i tools/pygrub/src/pygrub
 }
 
 build() {
-    cd "$_pkgname-$_pkgver/"
-    export LD_EFI='/usr/x86_64-w64-mingw32/bin/ld'
-    ./autogen.sh
-    if [[ "$_build_stubdom" == true ]]; then
-        _config_stubdom=(--enable-stubdom)
-        _config_stubdom+=(
-            #--enable-ioemu-stubdom=no
-            #--enable-c-stubdom=no
-            #--enable-caml-stubdom=no
-            #--enable-pv-grub=no
-            #--enable-xenstore-stubdom=no
-            #--enable-vtpm-stubdom=no
-            #--enable-vtpmmgr-stubdom=no
-        )
-    else
-        _config_stubdom=(--disable-stubdom)
-    fi
-    _config_seabios=()
-    if [[ "$_system_seabios" == true ]]; then
-        _config_seabios=(--with-system-seabios=/usr/share/qemu/bios-256k.bin)
-    fi
-    _config_xen_kconfig=''
-    _config_debug=()
-    if [[ "$_build_debug" == true ]]; then
-        _config_debug=(--enable-debug --enable-debug-tcg --enable-debug-info)
-        _config_xen_kconfig+="\n$_xen_kconfig_debug"
-        _makevars+=(debug=y CONFIG_DEBUG=y)
-    fi
-    if [[ "$_build_livepatch" == true ]]; then
-        _config_xen_kconfig+="\n$_xen_kconfig_livepatch"
-    fi
-    if [[ -n "$_config_xen_kconfig" ]]; then
-        cd xen
-        echo -e "$_config_xen_kconfig" > .config
-        make "${_makevars[@]}" olddefconfig V=1
-        cd ../
-    fi
-    ./configure PYTHON=/usr/bin/python2 --prefix=/usr --sbindir=/usr/bin --with-sysconfig-leaf-dir=conf.d --with-rundir=/run \
-        --enable-systemd --enable-ovmf \
-        "${_config_seabios[@]}" \
-        "${_config_stubdom[@]}" \
-        "${_config_debug[@]}" \
-        --with-extra-qemuu-configure-args='--disable-bluez --disable-gtk --enable-spice --enable-usb-redir'
-        #--with-system-qemu --with-system-seabios --with-system-ovmf 
-        #defaults --enable-qemu-traditional --enable-rombios \
-    make "${_makevars[@]}" dist
-    if [[ "$_build_livepatch" == true ]]; then
-        make "${_makevars[@]}" build-tests
-    fi
+	cd "${pkgbase}-${pkgver}"
+
+	if [ "${_build_stubdom}" == "true" ]; then
+		echo "NOTE: Xen build with stubdom support."
+	fi
+
+	if [ "${_build_qemu}" == "true" ]; then
+		echo "NOTE: Xen build with integrated QEMU."
+	fi
+
+
+	./configure \
+		--prefix=/usr \
+		--sbindir=/usr/bin \
+		--libdir=/usr/lib \
+		--with-rundir=/run \
+		--enable-systemd \
+		--disable-qemu-traditional \
+		${_config_stubdom} \
+		${_config_qemu} \
+		--with-sysconfig-leaf-dir=conf.d \
+		--with-system-ovmf=/usr/share/ovmf/x64/OVMF.fd \
+		--with-system-seabios=/usr/share/qemu/bios-256k.bin
+
+	make "${_common_make_flags[@]}"
 }
 
 package_xen() {
-    _makevars_package=("${_makevars[@]}" DESTDIR="$pkgdir")
-    optdepends=(
-        'xen-docs: Official Xen documentation'
-        'openvswitch: Optional advanced networking support'
-        'urlgrabber: Required for xenpvnetboot'
-    )
-    conflicts=(xen-{git,rc,igvtg,4.{8,9}} xenstore)
-    provides=(xenstore)
-    replaces=(xen-{git,rc,4.{8,9}})
-    backup=(
-        etc/conf.d/xen{domains,commons}
-        "etc/$_pkgname/grub.conf"
-        "etc/$_pkgname/oxenstored.conf"
-        "etc/$_pkgname/xl.conf"
-    )
-    install="$_pkgname.install"
-
-    cd "$_pkgname-$_pkgver/"
-
-    make "${_makevars_package[@]}" install-xen
-    make "${_makevars_package[@]}" install-tools
-    if [[ "$_build_stubdom" == true ]]; then
-        make "${_makevars_package[@]}" install-stubdom
-    fi
-    if [[ "$_build_livepatch" == true ]]; then
-        make "${_makevars_package[@]}" install-tests
-    fi
-
-    cd "$pkgdir"
-
-    # Install files from Parabola package
-    install -Dm644 "$srcdir/tmpfiles.d-$_pkgname.conf" "usr/lib/tmpfiles.d/$_pkgname.conf"
-    install -Dm755 "$srcdir/21_linux_xen_multiboot_arch" etc/grub.d/21_linux_xen_multiboot_arch
-    install -Dm644 "$srcdir/efi-xen.cfg" etc/xen/efi-xen.cfg
-
-    mkdir -p var/log/xen/console
-
-    # Sanitize library path (if lib64 exists)
-    if [[ -d usr/lib64 ]]; then
-        cd usr/
-        mv lib64/* lib/
-        rmdir lib64
-        cd ../
-    fi
-
-    # If EFI binaries built, move to /boot
-    if [[ -f usr/lib/efi/xen.efi ]]; then
-        mv usr/lib/efi/*.efi boot/
-        rmdir usr/lib/efi
-    fi
-
-    # Remove syms
-    find usr/lib/debug -type f \( -name '*-syms*' -or -name '*\.map' \) -delete
-    rmdir --ignore-fail-on-non-empty usr/lib/debug
-
-    # Remove hypervisor boot symlinks
-    rm -f boot/xen{,-4{,.8,.9}}{,.{gz,efi}}
-
-    # Documentation cleanup ( see xen-docs package )
-    #rm -rf usr/share/doc
-    #rm -rf usr/share/man
-
-    # Remove tempdirs
-    rmdir run/xen{,stored}
-    rmdir run
-
-    # Remove unnecessary qemu ELF support files
-    # qemuu
-    rm -f usr/share/qemu-xen/qemu/{palcode,openbios,s390}-*
-    rm -f usr/share/qemu-xen/qemu/u-boot.e500
-    # qemut 
-    if [[ "$CARCH" == *'x86'* ]]; then
-        rm -f usr/share/xen/qemu/openbios-*
-    fi
-
-    # adhere to Static Library Packaging Guidelines
-    rm -rf usr/lib/*.a
-
-    # Remove unneeded init.d files
-    rm -rf etc/init.d
+	pkgdesc='Open-source type-1 or baremetal hypervisor'
+
+	depends=(
+		'zlib' 'python' 'ncurses' 'openssl' 'libx11' 'libuuid.so' 'yajl' 'libaio' 'glib2' 'pkgconf'
+		'bridge-utils' 'iproute2' 'inetutils' 'acpica' 'lib32-glibc' 'gnutls'
+		'vde2' 'lzo' 'pciutils' 'sdl2'
+		'pixman' 'libseccomp' 'libpng' 'libjpeg-turbo' # inhereted depends because of build environment
+	)
+
+	optdepends=(
+		'edk2-ovmf: UEFI support'
+		'seabios: SeaBIOS payload support'
+		'xen-docs: HTML documentation and man pages'
+		'grub-xen-git: GRUB and pvgrub2 bootloader support'
+		'linux-headers: extract bootable non-zstd kernel for recent kernels'
+	)
+
+	if [ "${_build_qemu}" == "false" ]; then
+		optdepends+=("qemu: HVM and PV support")
+	fi
+
+	install="xen.install"
+
+
+	backup=(
+		"etc/conf.d/xencommons"
+		"etc/conf.d/xendomains"
+		"etc/xen/efi-xen.cfg"
+		"etc/xen/cpupool"
+		"etc/xen/xl.conf"
+	)
+
+
+	cd "${pkgbase}-${pkgver}"
+
+	make "${_common_make_flags[@]}" DESTDIR="$pkgdir" install
+
+	rm -rf "$pkgdir"/var/run
+
+	#  Symlinks to prior installed versions are not The Arch Way, leave only the bare EFI binary
+	(cd "${pkgdir}/${_efi_dir}" && mv "$(realpath xen.efi)" xen.efi)
+
+	[ -d "$pkgdir"/etc/xen/scripts ] && backup+=($(find "$pkgdir"/etc/xen/scripts/ -type f | sed "s|^$pkgdir/||g"))
+
+	mkdir -p "${pkgdir}/var/log/xen/console"
+
+	# Continued: Trim hypervisor symlinks.
+	(cd "${pkgdir}/${_boot_dir}" && mv "$(realpath xen.gz)" xen.gz)
+
+	# Do all symlink removals after the directories have had the real
+	# binaries moved overtop any symlinks. Note that dependening on
+	# configuratation _efi_dir and _boot_dir may be the same directory, so
+	# don't clean any of them until they've all been processed.
+	find "${pkgdir}/${_efi_dir}" -type l -delete
+	find "${pkgdir}/${_boot_dir}" -type l -delete
+
+	# Remove syms.
+	find "${pkgdir}/usr/lib/debug" -type f \( -name '*-syms*' -or -name '*\.map' \) -delete
+	rmdir "${pkgdir}/usr/lib/debug/usr/lib/xen/boot"
+	rmdir "${pkgdir}/usr/lib/debug/usr/lib/xen"
+	rmdir "${pkgdir}/usr/lib/debug/usr/lib"
+	rmdir "${pkgdir}/usr/lib/debug/usr"
+	rmdir "${pkgdir}/usr/lib/debug"
+
+	# Remove SysVinit files.
+	rm -r "${pkgdir}/etc/init.d"
+
+	# Install files for Arch Linux.
+	install -D -m 0644 "${srcdir}/efi-xen.cfg" "${pkgdir}/etc/xen/efi-xen.cfg"
+	install -D -m 0644 "${srcdir}/xen.conf" "${pkgdir}/usr/lib/modules-load.d/xen.conf"
+	install -D -m 0644 "${srcdir}/tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/${pkgbase}.conf"
+
+	# microcode hooks
+	mkdir -p "${pkgdir}/usr/share/libalpm/scripts"     "${pkgdir}/usr/share/libalpm/hooks"
+	install -m755 "${srcdir}/xen-ucode-extract.sh"     "${pkgdir}/usr/share/libalpm/scripts"
+	install -m644 "${srcdir}/xen-intel-ucode.hook"     "${pkgdir}/usr/share/libalpm/hooks"
+	install -m644 "${srcdir}/xen-amd-ucode.hook"       "${pkgdir}/usr/share/libalpm/hooks"
+
+	# Remove documentation (included in separate xen-docs package).
+	rm -r "${pkgdir}/usr/share/doc"
+	rm -r "${pkgdir}/usr/share/man"
+
+	# remove potential stubdom files
+	rm -r "${pkgdir}/usr/lib/xen/boot"
+
+	# remove qemu
+	if [ "${_build_qemu}" == "true" ]; then
+
+		rm -r "${pkgdir}/usr/share/qemu-xen"
+		rm -r  \
+			"${pkgdir}/usr/lib/xen/include/qemu-plugin.h" \
+			"${pkgdir}/usr/lib/xen/bin/qemu-pr-helper" \
+			"${pkgdir}/usr/lib/xen/bin/qemu-edid" \
+			"${pkgdir}/usr/lib/xen/bin/elf2dmp" \
+			"${pkgdir}/usr/lib/xen/bin/qemu-storage-daemon" \
+			"${pkgdir}/usr/lib/xen/bin/qemu-nbd" \
+			"${pkgdir}/usr/lib/xen/bin/qemu-io" \
+			"${pkgdir}/usr/lib/xen/bin/qemu-img" \
+			"${pkgdir}/usr/lib/xen/bin/qemu-system-i386" \
+			"${pkgdir}/usr/lib/xen/libexec/virtiofsd" \
+			"${pkgdir}/usr/lib/xen/libexec/qemu-bridge-helper" \
+			"${pkgdir}/usr/lib/xen/libexec/virtfs-proxy-helper" 
+
+	fi
+
+
 }
 
-package_xen-docs(){
-    _makevars_package=("${_makevars[@]}" DESTDIR="$pkgdir")
-    pkgdesc='Xen virtual machine hypervisor documentation'
-    arch=('any')
-    depends=()
-    cd "$_pkgname-$_pkgver/"
-    make "${_makevars_package[@]}" install-docs
+package_xen-docs() {
+	pkgdesc="Xen hypervisor documentation and man pages"
+	arch=("any")
+	cd "${pkgbase}-${pkgver}"
+	make "${_common_make_flags[@]}" DESTDIR="$pkgdir" install-docs
 }
 
-package_xen-syms(){
-    _makevars_package=("${_makevars[@]}" DESTDIR="$pkgdir")
-    pkgdesc='Xen virtual machine hypervisor debugging symbols'
-    arch=('any')
-    depends=()
-    _installdir="${pkgdir}/usr/lib/debug"
-    cd "$_pkgname-$_pkgver/"
-    install -d -m0755 "$_installdir"
-    for _path in $(find xen -type f \( -name '*-syms' -or -name '*\.map' \)); do
-        _file=$(basename "$_path")
-        _installfile=$(echo "$_file" |
-                       sed "s/\([^.]*\)\(\.*\)/\1-${_pkgver}\2/" )
-        install -D -m0644 -p "$_path" "$_installdir/$_installfile"
-    done
+
+package_xen-stubdom() {
+	pkgdesc="Xen hypervisor stubdom files"
+	arch=("x86_64")
+	depends=("xen")
+
+	cd "${srcdir}/${pkgbase}-${pkgver}/stubdom"
+	make DESTDIR="${pkgdir}" install
 }
+
+package_xen-qemu-builtin() {
+	pkgdesc="Xen hypervisor QEMU components"
+	arch=("x86_64")
+	depends=("xen")
+
+	cd "${srcdir}/${pkgbase}-${pkgver}/tools/qemu-xen-build"
+	make DESTDIR="${pkgdir}" install
+}
+
diff --git a/pcr/xen/ati-passthrough.patch b/pcr/xen/ati-passthrough.patch
deleted file mode 100644
index 7c20b1e..0000000
--- a/pcr/xen/ati-passthrough.patch
+++ /dev/null
@@ -1,415 +0,0 @@
---- xen-4.3.1/tools/qemu-xen-traditional/hw/pass-through.c	Thu Sep  6 11:05:30 2012
-+++ xen-4.3.1-new/tools/qemu-xen-traditional/hw/pass-through.c	Sat Nov 24 08:27:07 2012
-@@ -1438,9 +1438,17 @@ static void pt_ioport_map(PCIDevice *d, 
-     if (e_phys != -1)
-     {
-         /* Create new mapping */
--        ret = xc_domain_ioport_mapping(xc_handle, domid, e_phys,
--                    assigned_device->bases[i].access.pio_base, e_size,
--                    DPCI_ADD_MAPPING);
-+        if ( vga_skip_ioport_map(d) ) 
-+        {
-+            assigned_device->bases[i].e_physbase = -1;
-+        }
-+        else
-+        {
-+            ret = xc_domain_ioport_mapping(xc_handle, domid, e_phys,
-+                   assigned_device->bases[i].access.pio_base, e_size,
-+                   DPCI_ADD_MAPPING);
-+        }
-+
-         if ( ret != 0 )
-         {
-             PT_LOG("Error: create new mapping failed!\n");
---- xen-4.3.1/tools/qemu-xen-traditional/hw/pass-through.h	Thu Sep  6 11:05:30 2012
-+++ xen-4.3.1-new/tools/qemu-xen-traditional/hw/pass-through.h	Sat Nov 24 08:27:07 2012
-@@ -419,6 +419,11 @@ int pt_pci_host_write(struct pci_dev *pc
- void intel_pch_init(PCIBus *bus);
- int register_vga_regions(struct pt_dev *real_device);
- int unregister_vga_regions(struct pt_dev *real_device);
-+int vga_skip_ioport_map(PCIDevice *d);
-+int igd_register_vga_regions(struct pt_dev *real_device);
-+int igd_unregister_vga_regions(struct pt_dev *real_device);
-+int ati_register_vga_regions(struct pt_dev *real_device);
-+int ati_unregister_vga_regions(struct pt_dev *real_device);
- int setup_vga_pt(struct pt_dev *real_device);
- PCIBus *intel_pci_bridge_init(PCIBus *bus, int devfn, uint16_t vid,
-            uint16_t did, const char *name, uint16_t revision);
---- xen-4.3.1/tools/qemu-xen-traditional/hw/pci.h	Thu Sep  6 11:05:30 2012
-+++ xen-4.3.1-new/tools/qemu-xen-traditional/hw/pci.h	Sat Nov 24 08:27:07 2012
-@@ -54,6 +54,8 @@ extern target_phys_addr_t pci_mem_base;
- 
- #define PCI_VENDOR_ID_CIRRUS             0x1013
- 
-+#define PCI_VENDOR_ID_ATI                0x1002
-+
- #define PCI_VENDOR_ID_IBM                0x1014
- #define PCI_DEVICE_ID_IBM_OPENPIC2       0xffff
- 
---- xen-4.3.1/tools/qemu-xen-traditional/hw/pt-graphics.c	Thu Sep  6 11:05:30 2012
-+++ xen-4.3.1-new/tools/qemu-xen-traditional/hw/pt-graphics.c	Sat Nov 24 08:28:10 2012
-@@ -13,6 +13,207 @@
- 
- extern int gfx_passthru;
- extern int igd_passthru;
-+/*********************************/
-+/*   Code for ATI GFX Passthru   */
-+/*********************************/
-+/* ATI VBIOS Working Mechanism 
-+ *
-+ * Generally there are three memory resources (two MMIO and one PIO) 
-+ * associated with modern ATI gfx. VBIOS uses special tricks to figure out 
-+ * BARs, instead of using regular PCI config space read.
-+ *
-+ *  (1) VBIOS relies on I/O port 0x3C3 to retrieve PIO BAR 
-+ *  (2) VBIOS maintains a shadow copy of PCI configure space. It retries the 
-+ *      MMIO BARs from this shadow copy via sending I/O requests to first two 
-+ *      registers of PIO (MMINDEX and MMDATA). The workflow is like this: 
-+ *      MMINDEX (register 0) is written with an index value, specifying the 
-+ *      register VBIOS wanting to access. Then the shadowed data can be 
-+ *      read/written from MMDATA (register 1). For two MMIO BARs, the index 
-+ *      values are 0x4010 and 0x4014 respectively. 
-+ *
-+ */
-+
-+#define ATI_BAR1_INDEX        0  //MMIO BAR1
-+#define ATI_BAR2_INDEX        1  //MMIO BAR2
-+#define ATI_BAR5_INDEX        4  //PIO BAR == BAR5
-+
-+#define ATI_BAR1_MMINDEX      0x4010  //data written to MMINDEX for MMIO BAR1
-+#define ATI_BAR2_MMINDEX      0x4014  //data written to MMINDEX FOR MMIO BAR2
-+
-+struct ati_gfx_info {
-+    int initialized;            /* initialized already? */
-+
-+    /* PIO */
-+    uint32_t host_pio_base;     /* host base addr of PIO */
-+    uint32_t guest_pio_base;    /* guest base addr of PIO */
-+    uint32_t pio_size;          /* PIO size */
-+
-+    /* MMIO */
-+    uint32_t guest_mmio_base1;  /* guest base addr of MMIO 1 */
-+    uint32_t guest_mmio_base2;  /* guest base addr of MMIO 2 */
-+
-+    /* PIO MMINDEX access recording */
-+    uint32_t pre_mmindex_data;       /* previous data written to MMINDEX */
-+};
-+
-+static struct ati_gfx_info gfx_info;
-+
-+/* Convert guest PIO port to host PIO port */
-+static uint16_t gport_to_hport(uint16_t gport)
-+{
-+    return (gport - gfx_info.guest_pio_base) + gfx_info.host_pio_base;
-+}
-+
-+/* Read host PIO port */
-+static uint32_t ati_hw_in(uint16_t hport)
-+{
-+    unsigned val;
-+
-+    //iopl(3);
-+    asm volatile ("in %1,%0":"=a"(val):"Nd"(hport));
-+    //iopl(0);
-+
-+    return val;
-+}
-+
-+/* Write data to host PIO */
-+static void ati_hw_out(uint16_t hport, uint32_t data)
-+{
-+    //iopl(3);
-+    asm volatile ("out %1, %0"::"Nd"(hport),"a"(data));
-+    //iopl(0);
-+}
-+
-+static uint32_t ati_io_regs_read(void *opaque, uint32_t addr)
-+{
-+    uint32_t val;
-+
-+    val = ati_hw_in(gport_to_hport(addr));
-+
-+    /* tweak the value if VBIOS is reading MMIO BAR1 and BAR2 */
-+    if ( addr == (gfx_info.guest_pio_base + 4) )
-+    {
-+        switch ( gfx_info.pre_mmindex_data )
-+        {
-+        case ATI_BAR1_MMINDEX:
-+            val = gfx_info.guest_mmio_base1 | (val & 0x0000000f);
-+            break;
-+        case ATI_BAR2_MMINDEX:
-+            val = gfx_info.guest_mmio_base2 | (val & 0x0000000f);
-+            break;
-+        default:
-+            break;
-+        }
-+    }
-+
-+    return val;
-+}
-+
-+static void ati_io_regs_write(void *opaque, uint32_t addr, uint32_t val)
-+{
-+    ati_hw_out(gport_to_hport(addr), val);
-+
-+    /* book keeping */
-+    if ( addr == gfx_info.guest_pio_base )
-+        gfx_info.pre_mmindex_data = val;
-+}
-+
-+static void ati_gfx_init(struct pt_dev *assigned)
-+{
-+    PCIDevice *dev = (PCIDevice *)&assigned->dev;
-+
-+    register_ioport_read(dev->io_regions[ATI_BAR5_INDEX].addr, 
-+      dev->io_regions[ATI_BAR5_INDEX].size, 4, ati_io_regs_read, assigned);
-+
-+    register_ioport_write(dev->io_regions[ATI_BAR5_INDEX].addr, 
-+      dev->io_regions[ATI_BAR5_INDEX].size, 4, ati_io_regs_write, assigned);
-+            
-+    /* initialize IO registers */
-+    gfx_info.guest_pio_base = dev->io_regions[ATI_BAR5_INDEX].addr;
-+    gfx_info.pio_size = dev->io_regions[ATI_BAR5_INDEX].size;
-+    gfx_info.host_pio_base = assigned->bases[ATI_BAR5_INDEX].access.pio_base;
-+
-+    gfx_info.guest_mmio_base1 = dev->io_regions[ATI_BAR1_INDEX].addr;
-+    gfx_info.guest_mmio_base2 = dev->io_regions[ATI_BAR2_INDEX].addr;
-+    gfx_info.initialized = 1;
-+
-+    PT_LOG("guest_pio_bar = 0x%x, host_pio_bar = 0x%x, pio_size=0x%x "
-+           "guest_mmio_bar1=0x%x, guest_mmio_bar2=0x%x\n", 
-+           gfx_info.guest_pio_base, gfx_info.host_pio_base, gfx_info.pio_size, 
-+           gfx_info.guest_mmio_base1, gfx_info.guest_mmio_base2);
-+}
-+
-+static uint32_t ati_legacy_io_read(void *opaque, uint32_t addr)
-+{
-+    struct pt_dev *assigned_device = opaque;
-+    PCIDevice *dev = (PCIDevice *)&assigned_device->dev;
-+    uint32_t val = 0xFF;
-+
-+    switch( addr )
-+    {
-+    case 0x3c3:
-+        val = dev->io_regions[ATI_BAR5_INDEX].addr >> 8;
-+        /* Intercept GFX IO registers. This supposes to happen in 
-+         * ati_register_vga_regions(). But we cannot get guest phys IO BAR 
-+         * over there. */
-+        if ( !gfx_info.initialized )
-+            ati_gfx_init(assigned_device);
-+        break;
-+    default:
-+        PT_LOG("ERROR: port 0x%x I/O read not handled\n", addr);
-+        break;
-+    }
-+
-+    return val;
-+}
-+
-+static void ati_legacy_io_write(void *opaque, uint32_t addr, uint32_t val)
-+{
-+    PT_LOG("ERROR: port 0x%x I/O write not handled\n", addr);
-+}
-+
-+int ati_register_vga_regions(struct pt_dev *real_device)
-+{
-+    PCIDevice *dev = (PCIDevice *)&real_device->dev;
-+    int ret = 0;
-+
-+    /* We need to intercept VBIOS accesses to port 0x3C3, which returns 
-+     * device port I/O BAR. For the rest of legacy I/O ports, we allow direct
-+     * accesses.
-+     */
-+    ret |= xc_domain_ioport_mapping(xc_handle, domid, 0x3C0,
-+            0x3C0, 0x3, DPCI_ADD_MAPPING);
-+    
-+    ret |= xc_domain_ioport_mapping(xc_handle, domid, 0x3C4,
-+            0x3C4, 0x1C, DPCI_ADD_MAPPING);
-+
-+    register_ioport_read(0x3c3, 1, 1, ati_legacy_io_read, real_device);
-+    register_ioport_write(0x3c3, 1, 1, ati_legacy_io_write, real_device);
-+
-+    /* initialized on the first port 0x3C3 access in ati_gfx_init */
-+    gfx_info.initialized = 0;
-+
-+    return ret;
-+}
-+
-+int ati_unregister_vga_regions(struct pt_dev *real_device)
-+{
-+    int ret = 0;
-+
-+    ret |= xc_domain_ioport_mapping(xc_handle, domid, 0x3C0,
-+            0x3C0, 0x3, DPCI_REMOVE_MAPPING);
-+    
-+    ret |= xc_domain_ioport_mapping(xc_handle, domid, 0x3C4,
-+            0x3C4, 0x1C, DPCI_REMOVE_MAPPING);
-+
-+    gfx_info.initialized = 0;
-+
-+    return ret;
-+}
-+
-+/*********************************/
-+/*  Code for Intel IGD Passthru  */
-+/*********************************/
- 
- static uint32_t igd_guest_opregion = 0;
- 
-@@ -176,6 +377,77 @@ read_default:
-    return pci_default_read_config(pci_dev, config_addr, len);
- }
- 
-+int igd_register_vga_regions(struct pt_dev *real_device)
-+{
-+    u32 vendor_id, igd_opregion;
-+    int ret = 0;
-+    
-+    /* legacy I/O ports 0x3C0 -- 0x3E0 */
-+    ret |= xc_domain_ioport_mapping(xc_handle, domid, 0x3C0,
-+            0x3C0, 0x20, DPCI_ADD_MAPPING);
-+
-+    /* 1:1 map ASL Storage register value */
-+    vendor_id = pt_pci_host_read(real_device->pci_dev, PCI_VENDOR_ID, 2);
-+    igd_opregion = pt_pci_host_read(real_device->pci_dev, PCI_INTEL_OPREGION, 4);
-+    if ( (vendor_id == PCI_VENDOR_ID_INTEL) && igd_opregion )
-+    {
-+        ret |= xc_domain_memory_mapping(xc_handle, domid,
-+                igd_opregion >> XC_PAGE_SHIFT,
-+                igd_opregion >> XC_PAGE_SHIFT,
-+                2,
-+                DPCI_ADD_MAPPING);
-+        PT_LOG("register_vga: igd_opregion = %x\n", igd_opregion);
-+    }
-+
-+    return ret;
-+}
-+
-+int igd_unregister_vga_regions(struct pt_dev *real_device)
-+{
-+    u32 vendor_id, igd_opregion;
-+    int ret = 0;
-+
-+    ret |= xc_domain_ioport_mapping(xc_handle, domid, 0x3C0,
-+            0x3C0, 0x20, DPCI_REMOVE_MAPPING);
-+
-+    vendor_id = pt_pci_host_read(real_device->pci_dev, PCI_VENDOR_ID, 2);
-+    igd_opregion = pt_pci_host_read(real_device->pci_dev, PCI_INTEL_OPREGION, 4);
-+    if ( (vendor_id == PCI_VENDOR_ID_INTEL) && igd_opregion )
-+    {
-+        ret |= xc_domain_memory_mapping(xc_handle, domid,
-+                igd_opregion >> XC_PAGE_SHIFT,
-+                igd_opregion >> XC_PAGE_SHIFT,
-+                2,
-+                DPCI_REMOVE_MAPPING);
-+    }
-+
-+    return ret;
-+}
-+/*********************************/
-+/* Generic Code for GFX Passthru */
-+/*********************************/
-+/* This function decides whether I/O port map should be skipped */
-+int vga_skip_ioport_map(PCIDevice *d)
-+{
-+    struct pt_dev *dev = (struct pt_dev *)d;
-+    int skip = 0;
-+
-+    if ( !gfx_passthru || dev->pci_dev->device_class != 0x0300 )
-+        return 0;
-+
-+    switch( dev->pci_dev->vendor_id ) 
-+    {
-+    case PCI_VENDOR_ID_ATI:
-+    case PCI_VENDOR_ID_AMD:
-+        skip = 1;
-+        break;
-+    default:
-+        skip = 0;
-+        break;
-+    }
-+        
-+    return skip;
-+}
- /*
-  * register VGA resources for the domain with assigned gfx
-  */
-@@ -187,18 +459,33 @@ int register_vga_regions(struct pt_dev *
-     if ( !gfx_passthru || real_device->pci_dev->device_class != 0x0300 )
-         return ret;
- 
-+    /* legacy I/O ports 0x3B0 - 0x3BC */
-     ret |= xc_domain_ioport_mapping(xc_handle, domid, 0x3B0,
-             0x3B0, 0xC, DPCI_ADD_MAPPING);
- 
--    ret |= xc_domain_ioport_mapping(xc_handle, domid, 0x3C0,
--            0x3C0, 0x20, DPCI_ADD_MAPPING);
--
-+    /* legacy video MMIO range 0xA0000 - 0xBFFFF */
-     ret |= xc_domain_memory_mapping(xc_handle, domid,
-             0xa0000 >> XC_PAGE_SHIFT,
-             0xa0000 >> XC_PAGE_SHIFT,
-             0x20,
-             DPCI_ADD_MAPPING);
- 
-+    /* Other VGA regions are vendor specific */
-+    switch( real_device->pci_dev->vendor_id ) 
-+    {
-+    case PCI_VENDOR_ID_INTEL:
-+	    ret = igd_register_vga_regions(real_device);
-+	    break;
-+    case PCI_VENDOR_ID_ATI:
-+    case PCI_VENDOR_ID_AMD:
-+	    ret = ati_register_vga_regions(real_device);
-+	    break;
-+    default:
-+	    PT_LOG("gfx card wasn't supported by Xen passthru!\n");
-+	    ret = 1;
-+	    break;
-+    }
-+
-     if ( ret != 0 )
-         PT_LOG("VGA region mapping failed\n");
- 
-@@ -216,26 +503,31 @@ int unregister_vga_regions(struct pt_dev
-     if ( !gfx_passthru || real_device->pci_dev->device_class != 0x0300 )
-         return ret;
- 
-+    /* legacy I/O ports 0x3B0 - 0x3BC */
-     ret |= xc_domain_ioport_mapping(xc_handle, domid, 0x3B0,
-             0x3B0, 0xC, DPCI_REMOVE_MAPPING);
- 
--    ret |= xc_domain_ioport_mapping(xc_handle, domid, 0x3C0,
--            0x3C0, 0x20, DPCI_REMOVE_MAPPING);
--
-+    /* legacy video MMIO range 0xA0000 - 0xBFFFF */
-     ret |= xc_domain_memory_mapping(xc_handle, domid,
-             0xa0000 >> XC_PAGE_SHIFT,
-             0xa0000 >> XC_PAGE_SHIFT,
-             20,
-             DPCI_REMOVE_MAPPING);
- 
--    vendor_id = pt_pci_host_read(real_device->pci_dev, PCI_VENDOR_ID, 2);
--    if ( (vendor_id == PCI_VENDOR_ID_INTEL) && igd_guest_opregion )
-+    /* Other VGA regions are vendor specific */
-+    switch( real_device->pci_dev->vendor_id ) 
-     {
--        ret |= xc_domain_memory_mapping(xc_handle, domid,
--                igd_guest_opregion >> XC_PAGE_SHIFT,
--                igd_guest_opregion >> XC_PAGE_SHIFT,
--                2,
--                DPCI_REMOVE_MAPPING);
-+    case PCI_VENDOR_ID_INTEL:
-+	    ret = igd_unregister_vga_regions(real_device);
-+	    break;
-+    case PCI_VENDOR_ID_ATI:
-+    case PCI_VENDOR_ID_AMD:
-+	    ret = ati_unregister_vga_regions(real_device);
-+	    break;
-+    default:
-+	    PT_LOG("gfx card wasn't supported by Xen passthru!\n");
-+	    ret = 1;
-+	    break;
-     }
- 
-     if ( ret != 0 )
diff --git a/pcr/xen/efi-xen.cfg b/pcr/xen/efi-xen.cfg
index d9f6195..16b0b5b 100644
--- a/pcr/xen/efi-xen.cfg
+++ b/pcr/xen/efi-xen.cfg
@@ -3,5 +3,6 @@ default=xen
 
 [xen]
 options=console=vga dom0_mem=1024M,max:1024M dom0_max_vcpus=4 loglvl=all noreboot
-kernel=vmlinuz-linux-libre root=<Root Device> rw 
-ramdisk=initramfs-linux-libre.img
+kernel=vmlinuz-linux root=<Root Device> rw 
+ramdisk=initramfs-linux.img
+ucode=<extracted microcode file>
diff --git a/pcr/xen/patch-ovmf-use-python2.patch b/pcr/xen/patch-ovmf-use-python2.patch
deleted file mode 100644
index b52b923..0000000
--- a/pcr/xen/patch-ovmf-use-python2.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Subject: [PATCH] Fix ovmf, use python2
-
----
- tools/firmware/Makefile | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/tools/firmware/Makefile b/tools/firmware/Makefile
-index b840c6a..a5a6802 100644
---- a/tools/firmware/Makefile
-+++ b/tools/firmware/Makefile
-@@ -17,6 +17,8 @@ LD32BIT-$(CONFIG_FreeBSD) := LD32BIT_FLAG=-melf_i386_fbsd
- 
- ovmf-dir:
- 	GIT=$(GIT) $(XEN_ROOT)/scripts/git-checkout.sh $(OVMF_UPSTREAM_URL) $(OVMF_UPSTREAM_REVISION) ovmf-dir
-+	sed 's|python |python2 |g' -i "ovmf-dir/BaseTools/BinWrappers/PosixLike"/* || true
-+	sed 's|python |python2 |g' -i "ovmf-dir/BaseTools/Tests/GNUmakefile"
- 	cp ovmf-makefile ovmf-dir/Makefile;
- 
- seabios-dir:
--- 
-2.13.0
-
diff --git a/pcr/xen/tmpfiles.conf b/pcr/xen/tmpfiles.conf
new file mode 100644
index 0000000..a55258b
--- /dev/null
+++ b/pcr/xen/tmpfiles.conf
@@ -0,0 +1,2 @@
+d /run/xen 0755 root root -
+d /run/xenstored 0755 root root -
diff --git a/pcr/xen/tmpfiles.d-xen.conf b/pcr/xen/tmpfiles.d-xen.conf
deleted file mode 100644
index a55258b..0000000
--- a/pcr/xen/tmpfiles.d-xen.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-d /run/xen 0755 root root -
-d /run/xenstored 0755 root root -
diff --git a/pcr/xen/xen-amd-ucode.hook b/pcr/xen/xen-amd-ucode.hook
new file mode 100644
index 0000000..8e56e98
--- /dev/null
+++ b/pcr/xen/xen-amd-ucode.hook
@@ -0,0 +1,12 @@
+[Trigger]
+Type = Path
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = boot/amd-ucode.img
+
+[Action]
+Description = Extracting AMD microcode for Xen EFI...
+When = PostTransaction
+Exec = /usr/share/libalpm/scripts/xen-ucode-extract.sh
+
diff --git a/pcr/xen/xen-intel-ucode.hook b/pcr/xen/xen-intel-ucode.hook
new file mode 100644
index 0000000..c7013ff
--- /dev/null
+++ b/pcr/xen/xen-intel-ucode.hook
@@ -0,0 +1,12 @@
+[Trigger]
+Type = Path
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = boot/intel-ucode.img
+
+[Action]
+Description = Extracting Intel microcode for Xen EFI...
+When = PostTransaction
+Exec = /usr/share/libalpm/scripts/xen-ucode-extract.sh
+
diff --git a/pcr/xen/xen-ucode-extract.sh b/pcr/xen/xen-ucode-extract.sh
new file mode 100644
index 0000000..7f8379d
--- /dev/null
+++ b/pcr/xen/xen-ucode-extract.sh
@@ -0,0 +1,37 @@
+#!/bin/bash -e
+
+
+do_firmware() {
+
+	if [ "$1" == "intel" ]; then
+		UCODE_RD="/boot/intel-ucode.img"
+		XEN_EFI_UCODE="/boot/xen-efi-intel-ucode.bin"
+		UCODE_ORIG_BIN="kernel/x86/microcode/GenuineIntel.bin"
+	elif [ "$1" == "amd" ]; then
+		UCODE_RD="/boot/amd-ucode.img"
+		XEN_EFI_UCODE="/boot/xen-efi-amd-ucode.bin"
+		UCODE_ORIG_BIN="kernel/x86/microcode/AuthenticAMD.bin"
+	fi
+
+	# remove old file
+	if [ -f $XEN_EFI_UCODE ]; then
+		rm $XEN_EFI_UCODE
+	fi
+
+	# create new file
+	if [ -f $UCODE_RD ]; then
+		bsdtar -Oxf $UCODE_RD $UCODE_ORIG_BIN > $XEN_EFI_UCODE || exit 1
+	fi
+
+
+}
+
+if [ -f "/boot/intel-ucode.img" ]; then
+	do_firmware "intel"
+fi
+
+if [ -f "/boot/amd-ucode.img" ]; then
+	do_firmware "amd"
+fi
+
+exit 0
diff --git a/pcr/xen/xen.conf b/pcr/xen/xen.conf
new file mode 100644
index 0000000..37a5b59
--- /dev/null
+++ b/pcr/xen/xen.conf
@@ -0,0 +1,19 @@
+xen-evtchn
+xen-gntdev
+xen-gntalloc
+xen-blkback
+xen-netback
+xen-pciback
+xen-acpi-processor
+## xen-acpi-processor: This module may not work on all machines; try removing this first if it causes issues.
+
+## The following were included in xencommons, but were not inserted by systemd:
+# evtchn
+# gntdev
+# netbk
+# blkbk
+# xen-scsibk
+# usbbk
+# pciback
+# blktap2
+# blktap
diff --git a/pcr/xen/xen.install b/pcr/xen/xen.install
index 2c03573..2a053c9 100644
--- a/pcr/xen/xen.install
+++ b/pcr/xen/xen.install
@@ -1,140 +1,61 @@
-xen_boot() {
-    cat << __EOF__
-You are not running xen unless you boot xen.
-Possible Xen boot paths:
-EFI boot -> grubx64.efi -> multiboot2 -> [xen.gz, vmlinuz, ramdisk]
-BIOS boot -> grub -> multiboot(2) -> [xen.gz, vmlinuz, ramdisk]
-
-EFI boot -> xen.efi
-
-##########
-grub multiboot2 preparation:
-Install grub: https://wiki.parabola.nu/index.php/GRUB
-
-At this time, some modifications are needed to 20_linux_xen.
-These are included in this package as 21_linux_xen
-
-Set the values needed for your configuration in /etc/default/grub
-Detailed here: https://www.gnu.org/software/grub/manual/html_node/Simple-configuration.html
-Needed:
-GRUB_CMDLINE_XEN
-GRUB_CMDLINE_LINUX_XEN_REPLACE
-These values are not required but can be used; they are appended to the previous values, then this is used for the non-recovery (default) entry:
-GRUB_CMDLINE_XEN_DEFAULT
-GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT
-
-run grub-mkconfig
-
-To boot xen as default:
-suggested: inspect and use this config to boot with. Check if the xen entry works as expected
-find the id of the xen entry and set this as DEFAULT in /etc/default/grub.
-This may look something like:
-GRUB_DEFAULT="xen-gnulinux-simple-a-unique-id-from-your-grub-goes-here"
-
-run grub-mkconfig
-
-##########
-Direct EFI boot preperation:
-Create a xen.cfg file in the same directory as xen.efi.
-These need to be in ESP, or in a directory accessible from you EFI bootloader.
-Put settings relevant to your system into xen.cfg
-Detailed here: https://xenbits.xen.org/docs/4.9-testing/misc/efi.html
-Needed:
-kernel
-ramdisk
-Add the xen.efi file to your EFI bootloader (such as Refind).
-And / or add the xen.efi file to you EFI boot options (efibootmgr).
-__EOF__
-}
-
 install_msg() {
-    cat << __EOF__
-===> IMPORTANT NOTICES:
+	cat << __EOF__
+   Bunch of Xen Notes: https://wiki.archlinux.org/index.php/Xen
 
-In order to complete the installation, and enable Xen,
-at the very least you must:
+   If booting via efi, copy the example /etc/xen/efi-xen.cfg to /boot/xen.cfg
+   and edit the contents to match the settings you need.
 
-1. Configure your bootloader to boot Xen:
-__EOF__
-    xen_boot
-    cat << __EOF__
-2. Issue the following commands to allow you to create and start VMs:
+   To make dom0 go: 
 
     systemctl enable xen-qemu-dom0-disk-backend.service
     systemctl enable xen-init-dom0.service
     systemctl enable xenconsoled.service
 
-   Other optional services are:
+   Optional services are:
     systemctl enable xen-watchdog.service
 
-3. If you want some domains to automatically start up/shutdown, run the following:
+   To start domains on boot:
     systemctl enable xendomains.service
 
-For more information refer to the Wiki:
-    https://wiki.parabola.nu/index.php/Xen
 
 __EOF__
-}
 
-upgrade_msg() {
-    cat << __EOF__
-Xen 4.9
-Release notes
-http://wiki.xen.org/wiki/Xen_Project_4.9_Release_Notes
-Feature list
-http://wiki.xen.org/wiki/Xen_Project_4.9_Feature_List
-__EOF__
-}
 
-upgrade_msg_grub_multiboot2() {
-    cat << __EOF__
-##########
-Xen 4.9 can now use grub>=2.02 multiboot2.
-If you previously booted using xen.efi, you have an alternative.
-If you previously relied on the packaged 09_xen for grub-mkconfig:
-It is now removed.
-You will need to do the following under grub multiboot2 preparation:
-##########
-__EOF__
-    xen_boot
 }
 
+
 post_install() {
-    install_msg
-    upgrade_msg
-    systemd-tmpfiles --create
+	install_msg
+	systemd-tmpfiles --create
+	/usr/share/libalpm/scripts/xen-ucode-extract.sh
 }
 
 post_upgrade() {
-    if [[ "$2" < 4.9.0 || "$2" == *'4.9.0rc'* ]]; then
-        upgrade_msg
-    fi
-    if [[ "$2" < 4.9.0 || "$2" == *'4.9.0rc'* ]]; then
-        upgrade_msg_grub_multiboot2
-    fi
-    systemd-tmpfiles --create
+	systemd-tmpfiles --create
+	/usr/share/libalpm/scripts/xen-ucode-extract.sh
 }
 
 pre_remove() {
-   systemctl stop xendomains.service
-   systemctl stop xen-watchdog.service
-   systemctl stop xenconsoled.service
-   systemctl stop xen-init-dom0.service
-   systemctl stop xen-qemu-dom0-disk-backend.service
-
-   systemctl disable xendomains.service
-   systemctl disable xen-watchdog.service
-   systemctl disable xenconsoled.service
-   systemctl disable xen-init-dom0.service
-   systemctl disable xen-qemu-dom0-disk-backend.service
+	systemctl stop xendomains.service
+	systemctl stop xen-watchdog.service
+	systemctl stop xenconsoled.service
+	systemctl stop xen-init-dom0.service
+	systemctl stop xen-qemu-dom0-disk-backend.service
+
+	systemctl disable xendomains.service
+	systemctl disable xen-watchdog.service
+	systemctl disable xenconsoled.service
+	systemctl disable xen-init-dom0.service
+	systemctl disable xen-qemu-dom0-disk-backend.service
+
+	echo "Be sure to check boot for auto-generated microcode files."
 }
 
 post_remove() {
-    cat << __EOF__
-===> IMPORTANT NOTICE:
+	cat << __EOF__
 
 In order to finish removing Xen, you will need to modify
-your bootloader configuration files to load your Linux-libre
+your bootloader configuration files to load your Linux
 kernel instead of Xen kernel.
 __EOF__
 }

From 848886d6e6d72d34d1b922384f64f5efe58443c3 Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Apr 03 2022 20:21:37 +0000
Subject: [PATCH 22/28] [xen]: avoid publishing 'any' docs package to 32-bit repos


---

diff --git a/pcr/xen/PKGBUILD b/pcr/xen/PKGBUILD
index 80b0f50..ae6e2a6 100644
--- a/pcr/xen/PKGBUILD
+++ b/pcr/xen/PKGBUILD
@@ -23,7 +23,7 @@ pkgbase=xen
 pkgname=("xen" "xen-docs")
 pkgver=4.16.0
 pkgrel=3
-pkgdesc='Open-source type-1 or baremetal hypervisor'
+pkgdesc='Type-1 or bare-metal hypervisor'
 arch=('x86_64')
 url='https://xenproject.org/'
 license=('GPL2')
@@ -53,10 +53,11 @@ validpgpkeys=('23E3222C145F4475FA8060A783FE14C957E82BD9') # Xen.org Xen tree cod
 
 # Follow the Xen securite mailing lists, and if a patch is applicable to our package
 # add the URL here.
+# Better yet, add the patch to abslibre :)
 _patches=(
-	"https://xenbits.xen.org/xsa/xsa393.patch"
-	"https://xenbits.xen.org/xsa/xsa394.patch"
-	"https://xenbits.xen.org/xsa/xsa395.patch"
+	"xsa393.patch"
+	"xsa394.patch"
+	"xsa395.patch"
 
 )
 
@@ -210,7 +211,7 @@ build() {
 }
 
 package_xen() {
-	pkgdesc='Open-source type-1 or baremetal hypervisor'
+	pkgdesc='Type-1 or baremetal hypervisor'
 
 	depends=(
 		'zlib' 'python' 'ncurses' 'openssl' 'libx11' 'libuuid.so' 'yajl' 'libaio' 'glib2' 'pkgconf'
@@ -320,7 +321,7 @@ package_xen() {
 
 package_xen-docs() {
 	pkgdesc="Xen hypervisor documentation and man pages"
-	arch=("any")
+	arch=("x86_64") # no reason to publish this package to 32-bit repos
 	cd "${pkgbase}-${pkgver}"
 	make "${_common_make_flags[@]}" DESTDIR="$pkgdir" install-docs
 }
diff --git a/pcr/xen/xsa393.patch b/pcr/xen/xsa393.patch
new file mode 100644
index 0000000..57af36b
--- /dev/null
+++ b/pcr/xen/xsa393.patch
@@ -0,0 +1,49 @@
+From 7ff58ab770157a03c92604155a0c745bcab834c2 Mon Sep 17 00:00:00 2001
+From: Julien Grall <jgrall@amazon.com>
+Date: Tue, 14 Dec 2021 09:53:44 +0000
+Subject: [PATCH] xen/arm: p2m: Always clear the P2M entry when the mapping is
+ removed
+
+Commit 2148a125b73b ("xen/arm: Track page accessed between batch of
+Set/Way operations") allowed an entry to be invalid from the CPU PoV
+(lpae_is_valid()) but valid for Xen (p2m_is_valid()). This is useful
+to track which page is accessed and only perform an action on them
+(e.g. clean & invalidate the cache after a set/way instruction).
+
+Unfortunately, __p2m_set_entry() is only zeroing the P2M entry when
+lpae_is_valid() returns true. This means the entry will not be zeroed
+if the entry was valid from Xen PoV but invalid from the CPU PoV for
+tracking purpose.
+
+As a consequence, this will allow a domain to continue to access the
+page after it was removed.
+
+Resolve the issue by always zeroing the entry if it the LPAE bit is
+set or the entry is about to be removed.
+
+This is CVE-2022-23033 / XSA-393.
+
+Reported-by: Dmytro Firsov <Dmytro_Firsov@epam.com>
+Fixes: 2148a125b73b ("xen/arm: Track page accessed between batch of Set/Way operations")
+Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
+Signed-off-by: Julien Grall <jgrall@amazon.com>
+---
+ xen/arch/arm/p2m.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
+index 8b20b430777e..fb71fa4c1c90 100644
+--- a/xen/arch/arm/p2m.c
++++ b/xen/arch/arm/p2m.c
+@@ -1016,7 +1016,7 @@ static int __p2m_set_entry(struct p2m_domain *p2m,
+      * sequence when updating the translation table (D4.7.1 in ARM DDI
+      * 0487A.j).
+      */
+-    if ( lpae_is_valid(orig_pte) )
++    if ( lpae_is_valid(orig_pte) || removing_mapping )
+         p2m_remove_pte(entry, p2m->clean_pte);
+ 
+     if ( removing_mapping )
+-- 
+2.32.0
+
diff --git a/pcr/xen/xsa394.patch b/pcr/xen/xsa394.patch
new file mode 100644
index 0000000..1704c5b
--- /dev/null
+++ b/pcr/xen/xsa394.patch
@@ -0,0 +1,63 @@
+From a8bdee7a30d0cd13341d2ca1753569b171daf5b8 Mon Sep 17 00:00:00 2001
+From: Julien Grall <jgrall@amazon.com>
+Date: Fri, 19 Nov 2021 11:27:47 +0000
+Subject: [PATCH] xen/grant-table: Only decrement the refcounter when grant is
+ fully unmapped
+
+The grant unmapping hypercall (GNTTABOP_unmap_grant_ref) is not a
+simple revert of the changes done by the grant mapping hypercall
+(GNTTABOP_map_grant_ref).
+
+Instead, it is possible to partially (or even not) clear some flags.
+This will leave the grant is mapped until a future call where all
+the flags would be cleared.
+
+XSA-380 introduced a refcounting that is meant to only be dropped
+when the grant is fully unmapped. Unfortunately, unmap_common() will
+decrement the refcount for every successful call.
+
+A consequence is a domain would be able to underflow the refcount
+and trigger a BUG().
+
+Looking at the code, it is not clear to me why a domain would
+want to partially clear some flags in the grant-table. But as
+this is part of the ABI, it is better to not change the behavior
+for now.
+
+Fix it by checking if the maptrack handle has been released before
+decrementing the refcounting.
+
+This is CVE-2022-23034 / XSA-394.
+
+Fixes: 9781b51efde2 ("gnttab: replace mapkind()")
+Signed-off-by: Julien Grall <jgrall@amazon.com>
+Reviewed-by: Jan Beulich <jbeulich@suse.com>
+---
+ xen/common/grant_table.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
+index 0262f2c48af8..ed1e2fabcea6 100644
+--- a/xen/common/grant_table.c
++++ b/xen/common/grant_table.c
+@@ -1488,8 +1488,15 @@ unmap_common(
+     if ( put_handle )
+         put_maptrack_handle(lgt, op->handle);
+ 
+-    /* See the respective comment in map_grant_ref(). */
+-    if ( rc == GNTST_okay && ld != rd && gnttab_need_iommu_mapping(ld) )
++    /*
++     * map_grant_ref() will only increment the refcount (and update the
++     * IOMMU) once per mapping. So we only want to decrement it once the
++     * maptrack handle has been put, alongside the further IOMMU update.
++     *
++     * For the second and third check, see the respective comment in
++     * map_grant_ref().
++     */
++    if ( put_handle && ld != rd && gnttab_need_iommu_mapping(ld) )
+     {
+         void **slot;
+         union maptrack_node node;
+-- 
+2.32.0
+
diff --git a/pcr/xen/xsa395.patch b/pcr/xen/xsa395.patch
new file mode 100644
index 0000000..13b7311
--- /dev/null
+++ b/pcr/xen/xsa395.patch
@@ -0,0 +1,42 @@
+From 4cc924c3e3a0d53306d08b04720c427d1c298ba8 Mon Sep 17 00:00:00 2001
+From: Julien Grall <jgrall@amazon.com>
+Date: Wed, 5 Jan 2022 18:09:20 +0000
+Subject: [PATCH] passthrough/x86: stop pirq iteration immediately in case of
+ error
+
+pt_pirq_iterate() will iterate in batch over all the PIRQs. The outer
+loop will bail out if 'rc' is non-zero but the inner loop will continue.
+
+This means 'rc' will get clobbered and we may miss any errors (such as
+-ERESTART in the case of the callback pci_clean_dpci_irq()).
+
+This is CVE-2022-23035 / XSA-395.
+
+Fixes: c24536b636f2 ("replace d->nr_pirqs sized arrays with radix tree")
+Fixes: f6dd295381f4 ("dpci: replace tasklet with softirq")
+Signed-off-by: Julien Grall <jgrall@amazon.com>
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
+---
+ xen/drivers/passthrough/x86/hvm.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/xen/drivers/passthrough/x86/hvm.c b/xen/drivers/passthrough/x86/hvm.c
+index 351daafdc9bf..0b37cd145b60 100644
+--- a/xen/drivers/passthrough/x86/hvm.c
++++ b/xen/drivers/passthrough/x86/hvm.c
+@@ -732,7 +732,11 @@ int pt_pirq_iterate(struct domain *d,
+ 
+             pirq = pirqs[i]->pirq;
+             if ( (pirq_dpci->flags & HVM_IRQ_DPCI_MAPPED) )
++            {
+                 rc = cb(d, pirq_dpci, arg);
++                if ( rc )
++                    break;
++            }
+         }
+     } while ( !rc && ++pirq < d->nr_pirqs && n == ARRAY_SIZE(pirqs) );
+ 
+-- 
+2.32.0
+

From 99b86c2b49bfb8adb453badc76d0ee9fbee31b58 Mon Sep 17 00:00:00 2001
From: bill-auger <mr.j.spam.me@gmail.com>
Date: Apr 05 2022 18:12:04 +0000
Subject: [PATCH 23/28] [your-freedom]: manual rebuild


---

diff --git a/libre/your-freedom/PKGBUILD b/libre/your-freedom/PKGBUILD
index 31059d9..6346ef0 100644
--- a/libre/your-freedom/PKGBUILD
+++ b/libre/your-freedom/PKGBUILD
@@ -2,8 +2,8 @@
 
 
 pkgname=your-freedom
-pkgver=20220403
-_gitver=56705cca69fa9559e17bf26fd9137139dc641273
+pkgver=20220404
+_gitver=3aa7004ecbeb6a312bcc43ddbca3db9b0eaf3097
 pkgrel=1
 pkgdesc="This package conflicts with every nonfree package known to date to ensure your system is free."
 license=(GPL3)

From 4a379f82580a32fe460be428762ccc6a2c9f01cd Mon Sep 17 00:00:00 2001
From: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Date: Apr 05 2022 22:23:35 +0000
Subject: [PATCH 24/28] libre: remove uboot-sunxi


The uboot-sunxi PKGBUILD is completely unmaintained and it has long
been replaced by the uboo4extlinux-sunxi PKGBUILD.

All the devices that were supported by uboot-sunxi are now supported
by the uboo4extlinux-sunxi PKGBUILD.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>

---

diff --git a/libre/uboot-sunxi/0001-parabola-arm-modifications.patch b/libre/uboot-sunxi/0001-parabola-arm-modifications.patch
deleted file mode 100644
index 4717c7e..0000000
--- a/libre/uboot-sunxi/0001-parabola-arm-modifications.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/include/config_distro_defaults.h b/include/config_distro_defaults.h
-index 766a212..0df77cd 100644
---- a/include/config_distro_defaults.h
-+++ b/include/config_distro_defaults.h
-@@ -29,4 +29,7 @@
- #define CONFIG_SUPPORT_RAW_INITRD
- #define CONFIG_ENV_VARS_UBOOT_CONFIG
- 
-+#define CONFIG_CMD_PART
-+#define CONFIG_PARTITION_UUIDS
-+
- #endif	/* _CONFIG_CMD_DISTRO_DEFAULTS_H */
--- 
-2.8.3
-
diff --git a/libre/uboot-sunxi/PKGBUILD b/libre/uboot-sunxi/PKGBUILD
deleted file mode 100644
index d42140e..0000000
--- a/libre/uboot-sunxi/PKGBUILD
+++ /dev/null
@@ -1,381 +0,0 @@
-# Contributor: André Silva <emulatorman@hyperbola.info>
-# Contributor: Timothy Redaelli <timothy.redaelli@gmail.com>
-# Maintainers: Parabola hackers <dev@lists.parabola.nu>
-
-buildarch=4
-
-pkgbase=uboot-sunxi
-pkgname=(#'uboot-a10-olinuxino-lime'
-         'uboot-a10s-olinuxino-m'
-         #'uboot-a13-olinuxino'
-         'uboot-a13-olinuxinom'
-         #'uboot-a20-olinuxino-lime'
-         #'uboot-a20-olinuxino-lime2'
-         'uboot-a20-olinuxino_micro'
-         'uboot-bananapi'
-         'uboot-bananapro'
-         'uboot-chip'
-         #'uboot-cubieboard'
-         #'uboot-cubieboard2'
-         #'uboot-cubietruck'
-         'uboot-linksprite_pcduino'
-         'uboot-linksprite_pcduino3'
-         'uboot-linksprite_pcduino3_nano'
-         'uboot-orangepi_2'
-         'uboot-orangepi_one'
-         'uboot-orangepi_pc'
-         'uboot-orangepi_plus')
-pkgver=2017.01
-pkgrel=1.parabola1
-arch=('armv7h')
-url="http://git.denx.de/u-boot.git/"
-license=('GPL')
-makedepends=('bc' 'dtc')
-depends=('linux-libre')
-backup=(boot/boot.txt boot/boot.scr)
-source=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver}.tar.bz2"
-        '0001-parabola-arm-modifications.patch'
-        'boot.txt'
-        'mkscr')
-md5sums=('ad2d82d5b4fa548b2b95bbc26c9bad79'
-         '4c21a725e8aae2af7ae85a0196e0022d'
-         'a149665c52dc30817f98040b77999aeb'
-         '021623a04afd29ac3f368977140cfbfd')
-
-boards=('A10-OLinuXino-Lime'
-        'A10s-OLinuXino-M'
-        'A13-OLinuXino'
-        'A13-OLinuXinoM'
-        'A20-OLinuXino-Lime'
-        'A20-OLinuXino-Lime2'
-        'A20-OLinuXino_MICRO'
-        'Bananapi'
-        'Bananapro'
-        'CHIP'
-        'Cubieboard'
-        'Cubieboard2'
-        'Cubietruck'
-        'Linksprite_pcDuino'
-        'Linksprite_pcDuino3'
-        'Linksprite_pcDuino3_Nano'
-        'orangepi_2'
-        'orangepi_one'
-        'orangepi_pc'
-        'orangepi_plus')
-
-prepare() {
-  cd u-boot-${pkgver}
-
-  patch -Np1 -i ../0001-parabola-arm-modifications.patch
-}
-
-build() {
-  cd u-boot-${pkgver}
-
-  unset CFLAGS
-  unset CXXFLAGS
-  unset LDFLAGS
-
-  for i in ${boards[@]}; do
-    mkdir ../bin_${i}
-    make distclean
-    make ${i}_config
-    make EXTRAVERSION=-${pkgrel}
-    mv u-boot-sunxi-with-spl.bin ../bin_${i}
-  done
-
-  tools/mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d ../boot.txt ../boot.scr
-}
-
-package_uboot-a10-olinuxino-lime() {
-  pkgdesc="U-Boot for A10 OLinuXino Lime"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-  replaces=('uboot-a10-olinuxino-lime-linux-libre')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_A10-OLinuXino-Lime/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
-
-package_uboot-a10s-olinuxino-m() {
-  pkgdesc="U-Boot for A10s OLinuXino Micro"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-  replaces=('uboot-a10s-olinuxino-micro' 'uboot-a10s-olinuxino-micro-linux-libre')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_A10s-OLinuXino-M/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
-
-package_uboot-a13-olinuxino() {
-  pkgdesc="U-Boot for A13 OLinuXino"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-  replaces=('uboot-a13-olinuxino-linux-libre')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_A13-OLinuXino/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
-
-package_uboot-a13-olinuxinom() {
-  pkgdesc="U-Boot for A13 OLinuXino Micro"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-  replaces=('uboot-a13-olinuxino-micro' 'uboot-a13-olinuxino-micro-linux-libre')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_A13-OLinuXinoM/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
-
-package_uboot-a20-olinuxino-lime() {
-  pkgdesc="U-Boot for A20 OLinuXino Lime"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-  replaces=('uboot-a20-olinuxino-lime-linux-libre')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_A20-OLinuXino-Lime/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
-
-package_uboot-a20-olinuxino-lime2() {
-  pkgdesc="U-Boot for A20 OLinuXino Lime2"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-  replaces=('uboot-a20-olinuxino-lime2-linux-libre')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_A20-OLinuXino-Lime2/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
-
-package_uboot-a20-olinuxino_micro() {
-  pkgdesc="U-Boot for A20 OLinuXino Micro"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-  replaces=('uboot-a20-olinuxino-micro' 'uboot-a20-olinuxino-micro-linux-libre')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_A20-OLinuXino_MICRO/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
-
-package_uboot-bananapi() {
-  pkgdesc="U-Boot for Banana Pi"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_Bananapi/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
-
-package_uboot-bananapro() {
-  pkgdesc="U-Boot for Banana Pro"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_Bananapro/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
-
-package_uboot-chip() {
-  pkgdesc="U-Boot for C.H.I.P"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_CHIP/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
-
-package_uboot-cubieboard() {
-  pkgdesc="U-Boot for Cubieboard"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-  replaces=('uboot-cubieboard-linux-libre')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_Cubieboard/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
-
-package_uboot-cubieboard2() {
-  pkgdesc="U-Boot for Cubieboard 2"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-  replaces=('uboot-cubieboard2-linux-libre')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_Cubieboard2/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
-
-package_uboot-cubietruck() {
-  pkgdesc="U-Boot for Cubietruck"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-  replaces=('uboot-cubietruck-linux-libre')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_Cubietruck/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
-
-package_uboot-linksprite_pcduino() {
-  pkgdesc="U-Boot for pcDuino"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-  replaces=('uboot-pcduino' 'uboot-pcduino-linux-libre')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_Linksprite_pcDuino/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
-
-package_uboot-linksprite_pcduino3() {
-  pkgdesc="U-Boot for pcDuino3"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-  replaces=('uboot-pcduino3' 'uboot-pcduino3-linux-libre')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_Linksprite_pcDuino3/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
-
-package_uboot-linksprite_pcduino3_nano() {
-  pkgdesc="U-Boot for pcDuino3 Nano"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-  replaces=('uboot-pcduino3-nano' 'uboot-pcduino3-nano-linux-libre')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_Linksprite_pcDuino3_Nano/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
-
-package_uboot-orangepi_2() {
-  pkgdesc="U-Boot for Orange Pi 2"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_orangepi_2/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
-
-package_uboot-orangepi_one() {
-  pkgdesc="U-Boot for Orange Pi One"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_orangepi_one/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
-
-package_uboot-orangepi_pc() {
-  pkgdesc="U-Boot for Orange Pi PC"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_orangepi_pc/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
-
-package_uboot-orangepi_plus() {
-  pkgdesc="U-Boot for Orange Pi Plus"
-  install=${pkgbase}.install
-  provides=('uboot-sunxi')
-  conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi')
-
-  install -d "${pkgdir}"/boot
-  install -Dm644 bin_orangepi_plus/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot
-
-  install -Dm644 boot.txt "${pkgdir}"/boot/boot.txt
-  install -Dm644 boot.scr "${pkgdir}"/boot/boot.scr
-  install -Dm755 mkscr "${pkgdir}"/boot/mkscr
-}
diff --git a/libre/uboot-sunxi/boot.txt b/libre/uboot-sunxi/boot.txt
deleted file mode 100644
index 1eac14d..0000000
--- a/libre/uboot-sunxi/boot.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-part uuid ${devtype} ${devnum}:${bootpart} uuid
-setenv bootargs console=${console} root=PARTUUID=${uuid} rw rootwait
-
-if load ${devtype} ${devnum}:${bootpart} ${kernel_addr_r} /boot/vmlinuz-linux-libre; then
-  if load ${devtype} ${devnum}:${bootpart} ${fdt_addr_r} /boot/dtbs/linux-libre/${fdtfile}; then
-    if load ${devtype} ${devnum}:${bootpart} ${ramdisk_addr_r} /boot/initramfs-linux-libre.img; then
-      bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r};
-    else
-      bootz ${kernel_addr_r} - ${fdt_addr_r};
-    fi;
-  fi;
-fi
-
-if load ${devtype} ${devnum}:${bootpart} 0x48000000 /boot/uImage; then
-  if load ${devtype} ${devnum}:${bootpart} 0x43000000 /boot/script.bin; then
-    setenv bootm_boot_mode sec;
-    bootm 0x48000000;
-  fi;
-fi
diff --git a/libre/uboot-sunxi/mkscr b/libre/uboot-sunxi/mkscr
deleted file mode 100755
index 272b6a7..0000000
--- a/libre/uboot-sunxi/mkscr
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-
-if [[ ! -x /usr/bin/mkimage ]]; then
-  echo "mkimage not found. Please install uboot-tools:"
-  echo "  pacman -S uboot-tools"
-  exit 1
-fi
-
-mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d boot.txt boot.scr
diff --git a/libre/uboot-sunxi/uboot-sunxi.install b/libre/uboot-sunxi/uboot-sunxi.install
deleted file mode 100644
index cd4afef..0000000
--- a/libre/uboot-sunxi/uboot-sunxi.install
+++ /dev/null
@@ -1,22 +0,0 @@
-flash_uboot() {
-  echo "A new U-Boot version needs to be flashed onto /dev/mmcblk0."
-  echo "Do you want to do this now? [y|N]"
-  read -r shouldwe
-  if [[ $shouldwe =~ ^([yY][eE][sS]|[yY])$ ]]; then
-    dd if=/boot/u-boot-sunxi-with-spl.bin of=/dev/mmcblk0 bs=1024 seek=8
-  else
-    echo "You can do this later by running:"
-    echo "# dd if=/boot/u-boot-sunxi-with-spl.bin of=/dev/mmcblk0 bs=1024 seek=8"
-  fi
-}
-
-## arg 1:  the new package version
-post_install() {
-  flash_uboot
-}
-
-## arg 1:  the new package version
-## arg 2:  the old package version
-post_upgrade() {
-  flash_uboot
-}

From 25e9a718c4811dfac493cdd393665d6f362e20d5 Mon Sep 17 00:00:00 2001
From: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Date: Apr 05 2022 22:23:36 +0000
Subject: [PATCH 25/28] libre: linux-libre-64: Update to 5.15.12 by syncing with linux-libre


Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>

---

diff --git a/libre/linux-libre-64/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch b/libre/linux-libre-64/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
index 5bc4093..e738fbc 100644
--- a/libre/linux-libre-64/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
+++ b/libre/linux-libre-64/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
@@ -1,7 +1,7 @@
-From 2aef6c5fe88b92e9f611ec0b04ab8e023e943cd8 Mon Sep 17 00:00:00 2001
+From 2f86b241c391ebf7a3ae688e4af4f40a1d85bc7a Mon Sep 17 00:00:00 2001
 From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
 Date: Mon, 16 Sep 2019 04:53:20 +0200
-Subject: [PATCH 1/3] ZEN: Add sysctl and CONFIG to disallow unprivileged
+Subject: [PATCH 1/6] ZEN: Add sysctl and CONFIG to disallow unprivileged
  CLONE_NEWUSER
 
 Our default behavior continues to match the vanilla kernel.
@@ -14,10 +14,10 @@ Our default behavior continues to match the vanilla kernel.
  5 files changed, 53 insertions(+)
 
 diff --git a/include/linux/user_namespace.h b/include/linux/user_namespace.h
-index 64cf8ebdc4ec..bd29529ac188 100644
+index 33a4240e6a6f..82213f9c4c17 100644
 --- a/include/linux/user_namespace.h
 +++ b/include/linux/user_namespace.h
-@@ -105,6 +105,8 @@ void dec_ucount(struct ucounts *ucounts, enum ucount_type type);
+@@ -139,6 +139,8 @@ static inline void set_rlimit_ucount_max(struct user_namespace *ns,
  
  #ifdef CONFIG_USER_NS
  
@@ -26,7 +26,7 @@ index 64cf8ebdc4ec..bd29529ac188 100644
  static inline struct user_namespace *get_user_ns(struct user_namespace *ns)
  {
  	if (ns)
-@@ -138,6 +140,8 @@ extern bool current_in_userns(const struct user_namespace *target_ns);
+@@ -172,6 +174,8 @@ extern bool current_in_userns(const struct user_namespace *target_ns);
  struct ns_common *ns_get_owner(struct ns_common *ns);
  #else
  
@@ -36,10 +36,10 @@ index 64cf8ebdc4ec..bd29529ac188 100644
  {
  	return &init_user_ns;
 diff --git a/init/Kconfig b/init/Kconfig
-index 29ad68325028..96b79cfb2845 100644
+index 11f8a845f259..02b7a0e455a5 100644
 --- a/init/Kconfig
 +++ b/init/Kconfig
-@@ -1172,6 +1172,22 @@ config USER_NS
+@@ -1226,6 +1226,22 @@ config USER_NS
  
  	  If unsure, say N.
  
@@ -63,12 +63,12 @@ index 29ad68325028..96b79cfb2845 100644
  	bool "PID Namespaces"
  	default y
 diff --git a/kernel/fork.c b/kernel/fork.c
-index d66cd1014211..231a94ffd302 100644
+index 10885c649ca4..e0fe98e1afbd 100644
 --- a/kernel/fork.c
 +++ b/kernel/fork.c
-@@ -97,6 +97,10 @@
- #include <linux/scs.h>
+@@ -98,6 +98,10 @@
  #include <linux/io_uring.h>
+ #include <linux/bpf.h>
  
 +#ifdef CONFIG_USER_NS
 +#include <linux/user_namespace.h>
@@ -77,7 +77,7 @@ index d66cd1014211..231a94ffd302 100644
  #include <asm/pgalloc.h>
  #include <linux/uaccess.h>
  #include <asm/mmu_context.h>
-@@ -1864,6 +1868,10 @@ static __latent_entropy struct task_struct *copy_process(
+@@ -1950,6 +1954,10 @@ static __latent_entropy struct task_struct *copy_process(
  	if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS))
  		return ERR_PTR(-EINVAL);
  
@@ -88,7 +88,7 @@ index d66cd1014211..231a94ffd302 100644
  	/*
  	 * Thread groups must share signals as well, and detached threads
  	 * can only be started up within the thread group.
-@@ -2933,6 +2941,12 @@ int ksys_unshare(unsigned long unshare_flags)
+@@ -3056,6 +3064,12 @@ int ksys_unshare(unsigned long unshare_flags)
  	if (unshare_flags & CLONE_NEWNS)
  		unshare_flags |= CLONE_FS;
  
@@ -102,10 +102,10 @@ index d66cd1014211..231a94ffd302 100644
  	if (err)
  		goto bad_unshare_out;
 diff --git a/kernel/sysctl.c b/kernel/sysctl.c
-index c9fbdd848138..1fbf5d551fa0 100644
+index 083be6af29d7..42aa3c7835b9 100644
 --- a/kernel/sysctl.c
 +++ b/kernel/sysctl.c
-@@ -103,6 +103,9 @@
+@@ -105,6 +105,9 @@
  #ifdef CONFIG_LOCKUP_DETECTOR
  #include <linux/nmi.h>
  #endif
@@ -115,7 +115,7 @@ index c9fbdd848138..1fbf5d551fa0 100644
  
  #if defined(CONFIG_SYSCTL)
  
-@@ -1902,6 +1905,15 @@ static struct ctl_table kern_table[] = {
+@@ -1949,6 +1952,15 @@ static struct ctl_table kern_table[] = {
  		.proc_handler	= proc_dointvec,
  	},
  #endif
@@ -132,7 +132,7 @@ index c9fbdd848138..1fbf5d551fa0 100644
  	{
  		.procname	= "tainted",
 diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c
-index af612945a4d0..95c54dae4aa1 100644
+index 6b2e3ca7ee99..0253002184f1 100644
 --- a/kernel/user_namespace.c
 +++ b/kernel/user_namespace.c
 @@ -21,6 +21,13 @@
@@ -150,5 +150,5 @@ index af612945a4d0..95c54dae4aa1 100644
  static DEFINE_MUTEX(userns_state_mutex);
  
 -- 
-2.30.1
+2.34.1
 
diff --git a/libre/linux-libre-64/0002-PCI-Add-more-NVIDIA-controllers-to-the-MSI-masking-q.patch b/libre/linux-libre-64/0002-PCI-Add-more-NVIDIA-controllers-to-the-MSI-masking-q.patch
new file mode 100644
index 0000000..78b6058
--- /dev/null
+++ b/libre/linux-libre-64/0002-PCI-Add-more-NVIDIA-controllers-to-the-MSI-masking-q.patch
@@ -0,0 +1,24 @@
+From ff18c9af166dc2d941843ec9a4a6547c1ce8bbed Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
+Date: Thu, 18 Nov 2021 22:53:31 +0100
+Subject: [PATCH 2/6] PCI: Add more NVIDIA controllers to the MSI masking quirk
+
+For: https://bugs.archlinux.org/task/72734
+For: https://bugs.archlinux.org/task/72777
+---
+ drivers/pci/quirks.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
+index 208fa03acdda..7fdb7e9c2e12 100644
+--- a/drivers/pci/quirks.c
++++ b/drivers/pci/quirks.c
+@@ -5802,3 +5802,5 @@ static void nvidia_ion_ahci_fixup(struct pci_dev *pdev)
+ 	pdev->dev_flags |= PCI_DEV_FLAGS_HAS_MSI_MASKING;
+ }
+ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup);
++DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab9, nvidia_ion_ahci_fixup);
++DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0d88, nvidia_ion_ahci_fixup);
+-- 
+2.34.1
+
diff --git a/libre/linux-libre-64/0002-iommu-amd-Don-t-initialise-remapping-irqdomain-if-IO.patch b/libre/linux-libre-64/0002-iommu-amd-Don-t-initialise-remapping-irqdomain-if-IO.patch
deleted file mode 100644
index 975223c..0000000
--- a/libre/linux-libre-64/0002-iommu-amd-Don-t-initialise-remapping-irqdomain-if-IO.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From a4010c3d6f43dec4bf0010cab87cb3d29b4c7087 Mon Sep 17 00:00:00 2001
-From: David Woodhouse <dwmw@amazon.co.uk>
-Date: Mon, 15 Mar 2021 11:15:02 +0000
-Subject: [PATCH 2/2] iommu/amd: Don't initialise remapping irqdomain if IOMMU
- is disabled
-
-When the IOMMU is disabled, the driver still enumerates and initialises
-the hardware in order to turn it off. Because IRQ remapping setup is
-done early, the irqdomain is set up opportunistically.
-
-In commit b34f10c2dc59 ("iommu/amd: Stop irq_remapping_select() matching
-when remapping is disabled") I already make the irq_remapping_select()
-function check the amd_iommu_irq_setup flag because that might get
-cleared only after the irqdomain setup is done, when the IVRS is parsed.
-
-However, in the case where 'amd_iommu=off' is passed on the command line,
-the IRQ remapping setup isn't done but the amd_iommu_irq_setup flag is
-still set by the early IRQ remap init code. Stop it doing that, by
-bailing out of amd_iommu_prepare() early when it's disabled.
-
-This avoids the crash in irq_remapping_select() as it dereferences the
-NULL amd_iommu_rlookup_table[]:
-
-[    0.243659] Switched APIC routing to physical x2apic.
-[    0.262206] BUG: kernel NULL pointer dereference, address: 0000000000000500
-[    0.262927] #PF: supervisor read access in kernel mode
-[    0.263390] #PF: error_code(0x0000) - not-present page
-[    0.263844] PGD 0 P4D 0
-[    0.264135] Oops: 0000 [#1] SMP PTI
-[    0.264460] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.12.0-rc3 #831
-[    0.265069] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.14.0-1.fc33 04/01/2014
-[    0.265825] RIP: 0010:irq_remapping_select+0x57/0xb0
-[    0.266327] Code: 4b 0c 48 3d 30 e0 a7 9e 75 0d eb 35 48 8b 00 48 3d 30 e0 a7 9e 74 2a 0f b6 50 10 39 d1 75 ed 0f b7 40 12 48 8b 15 69 e3 d2 01 <48> 8b 14 c2 48 85 d2 74 0e b8 01 00 00 00 48 3b aa 90 04 00 00 74
-[    0.268412] RSP: 0000:ffffffff9e803db0 EFLAGS: 00010246
-[    0.268919] RAX: 00000000000000a0 RBX: ffffffff9e803df8 RCX: 0000000000000000
-[    0.269550] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff98120112fe79
-[    0.270245] RBP: ffff9812011c8218 R08: 0000000000000001 R09: 000000000000000a
-[    0.270922] R10: 000000000000000a R11: f000000000000000 R12: ffff9812011c8218
-[    0.271549] R13: ffff98120181ed88 R14: 0000000000000000 R15: 0000000000000000
-[    0.272221] FS:  0000000000000000(0000) GS:ffff98127dc00000(0000) knlGS:0000000000000000
-[    0.272997] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
-[    0.273508] CR2: 0000000000000500 CR3: 0000000030810000 CR4: 00000000000006b0
-[    0.274178] Call Trace:
-[    0.274416]  irq_find_matching_fwspec+0x41/0xc0
-[    0.274812]  mp_irqdomain_create+0x65/0x150
-[    0.275251]  setup_IO_APIC+0x70/0x811
-
-Fixes: a1a785b57242 ("iommu/amd: Implement select() method on remapping irqdomain")
-Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=212017
-Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
----
- drivers/iommu/amd/init.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/drivers/iommu/amd/init.c b/drivers/iommu/amd/init.c
-index 78339b0bb8e5..398909dab640 100644
---- a/drivers/iommu/amd/init.c
-+++ b/drivers/iommu/amd/init.c
-@@ -2998,6 +2998,9 @@ int __init amd_iommu_prepare(void)
- {
- 	int ret;
- 
-+	if (amd_iommu_disabled)
-+		return -ENODEV;
-+
- 	amd_iommu_irq_remap = true;
- 
- 	ret = iommu_go_to_state(IOMMU_ACPI_FINISHED);
--- 
-2.31.1
-
diff --git a/libre/linux-libre-64/0003-iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch b/libre/linux-libre-64/0003-iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch
new file mode 100644
index 0000000..567806c
--- /dev/null
+++ b/libre/linux-libre-64/0003-iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch
@@ -0,0 +1,88 @@
+From 8ae0cfc0b59cd1462ca6cd819878933d357d01a7 Mon Sep 17 00:00:00 2001
+From: Ajay Garg <ajaygargnsit@gmail.com>
+Date: Tue, 12 Oct 2021 19:26:53 +0530
+Subject: [PATCH 3/6] iommu: intel: do deep dma-unmapping, to avoid
+ kernel-flooding.
+
+Origins at :
+https://lists.linuxfoundation.org/pipermail/iommu/2021-October/thread.html
+
+=== Changes from v1 => v2 ===
+
+a)
+Improved patch-description.
+
+b)
+A more root-level fix, as suggested by
+
+	1.
+	Alex Williamson <alex.williamson@redhat.com>
+
+	2.
+	Lu Baolu <baolu.lu@linux.intel.com>
+
+=== Issue ===
+
+Kernel-flooding is seen, when an x86_64 L1 guest (Ubuntu-21) is booted in qemu/kvm
+on a x86_64 host (Ubuntu-21), with a host-pci-device attached.
+
+Following kind of logs, along with the stacktraces, cause the flood :
+
+......
+ DMAR: ERROR: DMA PTE for vPFN 0x428ec already set (to 3f6ec003 not 3f6ec003)
+ DMAR: ERROR: DMA PTE for vPFN 0x428ed already set (to 3f6ed003 not 3f6ed003)
+ DMAR: ERROR: DMA PTE for vPFN 0x428ee already set (to 3f6ee003 not 3f6ee003)
+ DMAR: ERROR: DMA PTE for vPFN 0x428ef already set (to 3f6ef003 not 3f6ef003)
+ DMAR: ERROR: DMA PTE for vPFN 0x428f0 already set (to 3f6f0003 not 3f6f0003)
+......
+
+=== Current Behaviour, leading to the issue ===
+
+Currently, when we do a dma-unmapping, we unmap/unlink the mappings, but
+the pte-entries are not cleared.
+
+Thus, following sequencing would flood the kernel-logs :
+
+i)
+A dma-unmapping makes the real/leaf-level pte-slot invalid, but the
+pte-content itself is not cleared.
+
+ii)
+Now, during some later dma-mapping procedure, as the pte-slot is about
+to hold a new pte-value, the intel-iommu checks if a prior
+pte-entry exists in the pte-slot. If it exists, it logs a kernel-error,
+along with a corresponding stacktrace.
+
+iii)
+Step ii) runs in abundance, and the kernel-logs run insane.
+
+=== Fix ===
+
+We ensure that as part of a dma-unmapping, each (unmapped) pte-slot
+is also cleared of its value/content (at the leaf-level, where the
+real mapping from a iova => pfn mapping is stored).
+
+This completes a "deep" dma-unmapping.
+
+Signed-off-by: Ajay Garg <ajaygargnsit@gmail.com>
+Link: https://lore.kernel.org/linux-iommu/20211012135653.3852-1-ajaygargnsit@gmail.com/
+---
+ drivers/iommu/intel/iommu.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
+index 78f8c8e6803e..d8da48a91ba3 100644
+--- a/drivers/iommu/intel/iommu.c
++++ b/drivers/iommu/intel/iommu.c
+@@ -5092,6 +5092,8 @@ static size_t intel_iommu_unmap(struct iommu_domain *domain,
+ 	gather->freelist = domain_unmap(dmar_domain, start_pfn,
+ 					last_pfn, gather->freelist);
+ 
++	dma_pte_clear_range(dmar_domain, start_pfn, last_pfn);
++
+ 	if (dmar_domain->max_addr == iova + size)
+ 		dmar_domain->max_addr = iova;
+ 
+-- 
+2.34.1
+
diff --git a/libre/linux-libre-64/0004-cpufreq-intel_pstate-ITMT-support-for-overclocked-sy.patch b/libre/linux-libre-64/0004-cpufreq-intel_pstate-ITMT-support-for-overclocked-sy.patch
new file mode 100644
index 0000000..910c03b
--- /dev/null
+++ b/libre/linux-libre-64/0004-cpufreq-intel_pstate-ITMT-support-for-overclocked-sy.patch
@@ -0,0 +1,55 @@
+From a6e9d2e9ec1a81ff2b45a986bc320f28dc155f1d Mon Sep 17 00:00:00 2001
+From: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
+Date: Thu, 18 Nov 2021 21:18:01 -0800
+Subject: [PATCH 4/6] cpufreq: intel_pstate: ITMT support for overclocked
+ system
+
+On systems with overclocking enabled, CPPC Highest Performance can be
+hard coded to 0xff. In this case even if we have cores with different
+highest performance, ITMT can't be enabled as the current implementation
+depends on CPPC Highest Performance.
+
+On such systems we can use MSR_HWP_CAPABILITIES maximum performance field
+when CPPC.Highest Performance is 0xff.
+
+Due to legacy reasons, we can't solely depend on MSR_HWP_CAPABILITIES as
+in some older systems CPPC Highest Performance is the only way to identify
+different performing cores.
+
+Reported-by: Michael Larabel <Michael@MichaelLarabel.com>
+Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
+---
+ drivers/cpufreq/intel_pstate.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
+index e15c3bc17a55..8a2c6b58b652 100644
+--- a/drivers/cpufreq/intel_pstate.c
++++ b/drivers/cpufreq/intel_pstate.c
+@@ -335,6 +335,8 @@ static void intel_pstste_sched_itmt_work_fn(struct work_struct *work)
+ 
+ static DECLARE_WORK(sched_itmt_work, intel_pstste_sched_itmt_work_fn);
+ 
++#define CPPC_MAX_PERF	U8_MAX
++
+ static void intel_pstate_set_itmt_prio(int cpu)
+ {
+ 	struct cppc_perf_caps cppc_perf;
+@@ -345,6 +347,14 @@ static void intel_pstate_set_itmt_prio(int cpu)
+ 	if (ret)
+ 		return;
+ 
++	/*
++	 * On some systems with overclocking enabled, CPPC.highest_perf is hardcoded to 0xff.
++	 * In this case we can't use CPPC.highest_perf to enable ITMT.
++	 * In this case we can look at MSR_HWP_CAPABILITIES bits [8:0] to decide.
++	 */
++	if (cppc_perf.highest_perf == CPPC_MAX_PERF)
++		cppc_perf.highest_perf = HWP_HIGHEST_PERF(READ_ONCE(all_cpu_data[cpu]->hwp_cap_cached));
++
+ 	/*
+ 	 * The priorities can be set regardless of whether or not
+ 	 * sched_set_itmt_support(true) has been called and it is valid to
+-- 
+2.34.1
+
diff --git a/libre/linux-libre-64/0005-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch b/libre/linux-libre-64/0005-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch
new file mode 100644
index 0000000..f279924
--- /dev/null
+++ b/libre/linux-libre-64/0005-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch
@@ -0,0 +1,60 @@
+From cbc793d1444eafb47b1cc0062c605b37fe79736f Mon Sep 17 00:00:00 2001
+From: Kiran K <kiran.k@intel.com>
+Date: Wed, 13 Oct 2021 13:35:11 +0530
+Subject: [PATCH 5/6] Bluetooth: btintel: Fix bdaddress comparison with garbage
+ value
+
+Intel Read Verision(TLV) data is parsed into a local structure variable
+and it contains a field for bd address. Bd address is returned only in
+bootloader mode and hence bd address in TLV structure needs to be validated
+only if controller is present in boot loader mode.
+
+Signed-off-by: Kiran K <kiran.k@intel.com>
+Reviewed-by: Tedd Ho-Jeong An <tedd.an@intel.com>
+---
+ drivers/bluetooth/btintel.c | 22 ++++++++++++++--------
+ 1 file changed, 14 insertions(+), 8 deletions(-)
+
+diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
+index f1705b46fc88..b9055a3e61ed 100644
+--- a/drivers/bluetooth/btintel.c
++++ b/drivers/bluetooth/btintel.c
+@@ -2006,14 +2006,16 @@ static int btintel_prepare_fw_download_tlv(struct hci_dev *hdev,
+ 	if (ver->img_type == 0x03) {
+ 		btintel_clear_flag(hdev, INTEL_BOOTLOADER);
+ 		btintel_check_bdaddr(hdev);
+-	}
+-
+-	/* If the OTP has no valid Bluetooth device address, then there will
+-	 * also be no valid address for the operational firmware.
+-	 */
+-	if (!bacmp(&ver->otp_bd_addr, BDADDR_ANY)) {
+-		bt_dev_info(hdev, "No device address configured");
+-		set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks);
++	} else {
++		/*
++		 * Check for valid bd address in boot loader mode. Device
++		 * will be marked as unconfigured if empty bd address is
++		 * found.
++		 */
++		if (!bacmp(&ver->otp_bd_addr, BDADDR_ANY)) {
++			bt_dev_info(hdev, "No device address configured");
++			set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks);
++		}
+ 	}
+ 
+ 	btintel_get_fw_name_tlv(ver, fwname, sizeof(fwname), "sfi");
+@@ -2303,6 +2305,10 @@ static int btintel_setup_combined(struct hci_dev *hdev)
+ 		goto exit_error;
+ 	}
+ 
++	/* memset ver_tlv to start with clean state as few fields are exclusive
++	 * to bootloader mode and are not populated in operational mode
++	 */
++	memset(&ver_tlv, 0, sizeof(ver_tlv));
+ 	/* For TLV type device, parse the tlv data */
+ 	err = btintel_parse_version_tlv(hdev, &ver_tlv, skb);
+ 	if (err) {
+-- 
+2.34.1
+
diff --git a/libre/linux-libre-64/0006-lg-laptop-Recognize-more-models.patch b/libre/linux-libre-64/0006-lg-laptop-Recognize-more-models.patch
new file mode 100644
index 0000000..7574650
--- /dev/null
+++ b/libre/linux-libre-64/0006-lg-laptop-Recognize-more-models.patch
@@ -0,0 +1,39 @@
+From 9633e4af545533b6738180955a059af8f2bd904f Mon Sep 17 00:00:00 2001
+From: Matan Ziv-Av <matan@svgalib.org>
+Date: Tue, 23 Nov 2021 22:14:55 +0200
+Subject: [PATCH 6/6] lg-laptop: Recognize more models
+
+LG uses 5 instead of 0 in the third digit (second digit after 2019) of the year string to indicate newer models in the same year. Handle this case as well.
+
+Signed-off-by: Matan Ziv-Av <matan@svgalib.org>
+For: https://bugs.archlinux.org/task/71772
+---
+ drivers/platform/x86/lg-laptop.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/drivers/platform/x86/lg-laptop.c b/drivers/platform/x86/lg-laptop.c
+index 88b551caeaaf..d6f74d3a7605 100644
+--- a/drivers/platform/x86/lg-laptop.c
++++ b/drivers/platform/x86/lg-laptop.c
+@@ -658,6 +658,18 @@ static int acpi_add(struct acpi_device *device)
+ 	if (product && strlen(product) > 4)
+ 		switch (product[4]) {
+ 		case '5':
++			if (strlen(product) > 5)
++				switch (product[5]) {
++				case 'N':
++					year = 2021;
++					break;
++				case '0':
++					year = 2016;
++					break;
++				default:
++					year = 2022;
++				}
++			break;
+ 		case '6':
+ 			year = 2016;
+ 			break;
+-- 
+2.34.1
+
diff --git a/libre/linux-libre-64/PKGBUILD b/libre/linux-libre-64/PKGBUILD
index 0cc7350..6891979 100644
--- a/libre/linux-libre-64/PKGBUILD
+++ b/libre/linux-libre-64/PKGBUILD
@@ -7,8 +7,8 @@ _replacesoldkernels=() # '%' gets replaced with kernel suffix
 _replacesoldmodules=() # '%' gets replaced with kernel suffix
 
 pkgbase=linux-libre-64
-pkgver=5.11.11
-pkgrel=3
+pkgver=5.15.12
+pkgrel=1
 pkgdesc="64bit Linux-libre for Parabola $CARCH"
 rcnver=5.11.11
 rcnrel=armv7-x14
@@ -27,7 +27,7 @@ makedepends_i686+=('x86_64-pc-linux-gnu-gcc')
 makedepends_armv7h=(uboot-tools vboot-utils dtc) # required by linux-libre-chromebook
 makedepends_armv7h+=('aarch64-linux-gnu-gcc-initial')
 options=('!strip')
-_srcname=linux-5.11
+_srcname=linux-5.15
 source=(
   "https://linux-libre.fsfla.org/pub/linux-libre/releases/${_srcname##*-}-gnu/linux-libre-${_srcname##*-}-gnu.tar.xz"{,.sign}
   "https://linux-libre.fsfla.org/pub/linux-libre/releases/$pkgver-gnu/patch-${_srcname##*-}-gnu-$pkgver-gnu.xz"{,.sign}
@@ -45,7 +45,11 @@ source=(
   0002-fix-Atmel-maXTouch-touchscreen-support.patch
   # Arch Linux patches
   0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
-  0002-iommu-amd-Don-t-initialise-remapping-irqdomain-if-IO.patch
+  0002-PCI-Add-more-NVIDIA-controllers-to-the-MSI-masking-q.patch
+  0003-iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch
+  0004-cpufreq-intel_pstate-ITMT-support-for-overclocked-sy.patch
+  0005-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch
+  0006-lg-laptop-Recognize-more-models.patch
 )
 source_i686=(
   # avoid using zstd compression in ultra mode (exhausts virtual memory)
@@ -72,9 +76,9 @@ validpgpkeys=(
   '474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva
   '6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78' # David P.
 )
-sha512sums=('3a34006add9ea318b0c2863388925ba34d57d342535b00c9ebc61fbfc69ef206b64af21c35b101466508c4308b5da310743c8add74dd703e259612953104ae43'
+sha512sums=('3c586054285ea0cb4d1a1ff257757d092db80c2413dcec6e58c63b22490d42b8f2c441cee62839603599d5ad75fbd7560bf51ec6c2f3ab9354adae0c2c7234e5'
             'SKIP'
-            'b35fc1d243fa3fdfa2b50b8f01ccab297f958f497e58a104da18631fafe3923216f3f1e97b9c2bb9e719c8a7ae8cabe8198a1a82cb5e8e50488b64d7af4dc940'
+            '80a0d8903c6ee462f966e3360d22f4894dc69239c99ef28d62a1ea6643008580a368b61cee5e6691f2bbf0ff162fb10e13ca31904ab89a5e679f91ae9860999b'
             'SKIP'
             '13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3'
             'SKIP'
@@ -82,8 +86,8 @@ sha512sums=('3a34006add9ea318b0c2863388925ba34d57d342535b00c9ebc61fbfc69ef206b64
             'SKIP'
             '267295aa0cea65684968420c68b32f1a66a22d018b9d2b2c1ef14267bcf4cb68aaf7099d073cbfefe6c25c8608bdcbbd45f7ac8893fdcecbf1e621abdfe9ecc1'
             'SKIP'
-            '8a617e10ca40401d89e5a1c78b0936a47d340d56c438d04499df626743799ed2835c2ebb246905c2b5b8842d9622157f80b93f3b0f97575334c81ce68882fa2b'
-            'f3b148250fd8a393c6998c50331da811bc56127cce7cd13c887e60ad8327d0c991022b09c0e02743bd9086ad200c4957c7de5699bbeb7dfb042f603e4776e0d4'
+            '4d20c1d0eed64bc64ac04e41e10288259212e00bc0967887e20e5ae277735d3a036c0a5ded08276455d2748af5787ebcf910329491eb43e84c204d6a9d76065f'
+            '51de84caf459ba526afaf11ce9e4b697bc828edaf841c512ee0438ed14b7c3beaa269f95446eeb6b6a87f91b20d075b43dfea901b6aed8ef45a476bc5ac6a3b2'
             '51e8b4da770067e8257d292622d865cb16ac57fdfd8967bdfb74efec197dae9eab958e5637a728640ae60885bdde41c06c8076227a4f83db0b752215f91f3a87'
             '53103bf55b957b657039510527df0df01279dec59cda115a4d6454e4135025d4546167fa30bdc99107f232561c1e096d8328609ab5a876cf7017176f92ad3e0b'
             '167bc73c6c1c63931806238905dc44c7d87c5a5c0f6293159f2133dfe717fb44081018d810675716d1605ec7dff5e8333b87b19e09e2de21d0448e447437873b'
@@ -91,8 +95,12 @@ sha512sums=('3a34006add9ea318b0c2863388925ba34d57d342535b00c9ebc61fbfc69ef206b64
             '143dea30c6da00e504c99984a98a0eb2411f558fcdd9dfa7f607d6c14e9e7dffff9cb00121d9317044b07e3e210808286598c785ee854084b993ec9cb14d8232'
             '02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af'
             'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168'
-            '748d98aef69e93959eab6a7f20a7972aff50c577a079bba807b10fe9b3b98799b47215d76797360d336ba4c3c656d7eafe3e81f2a59a2b6888d1884071db6e95'
-            'da919328f8f7efd2c177a68ff864fdf1a76d777c142af4c90d3efc4a8419599e3479f8e0de0e8282599b9030c33a9e3b46548005d36c058ab08b51c03732bb45')
+            '5ad31d899fa56b49efb6eec6d721e85e1b723f65c83a9aaec52c3281f1862c7b0ccf5ddac077af669aa222b4818c4ddbc64f39739fc2946c5ddab49101ba0924'
+            'c12a450a5026216676bd5728b43e04641d28a0eacd916e9304b6c38b03699005cf74ed8d3e4de67cab73f47cdaef728fdb1f75b3b1e5221cfc62c2a37e52ff67'
+            '65f4ecc64551d3e644fb6e95ed70dcb694aedd58fc6bed694a912c6d89bfdfd2382d1f20c3b79c0a9e6f5c479efe7e950e47f88b10925ac71276e4cad94ab07e'
+            '5b052dfc8f62ac2f86b1a08620109ec06154273a67ef011b18d38f7098b5b42026da2a8ba79a9234d10766bc00f740a2ce900552806a49937b7e33a35bca2809'
+            '6f139510d047cf0f915daded5221ea4cf2551ebb50c7350965ba417b9b2d0df8796e0508d772cdc6d50cdc5b8c1d8589ace86d6e7a779ea2abed0013696396a3'
+            'e54423a3f0162f76cd211706c48f05f4fd96ea99453ca84821018947dd05b3d1bb943c8ba9e5ce190d237663136122601e7edfe50540fef24ab16c813c6a02e1')
 sha512sums_i686=('3a346ff5e0fdefafd28bc3dd0e4b6cd68e3f0014e59d1611d99f2edb8d074fd32649eeb0894a7e340e4f907b5cfc0e08e0753e0427a68dc113bb22835a892968')
 sha512sums_armv7h=('a4aa00ca3f03d524d3fb6379116c4e4e7908e7c30f6347f55be256c44d806d8db5f04c96369d5a725e45b7390e9fde842f388cdc5d5699d80ec5d1519f7367f4'
                    'SKIP'
@@ -106,7 +114,7 @@ sha512sums_armv7h=('a4aa00ca3f03d524d3fb6379116c4e4e7908e7c30f6347f55be256c44d80
                    '463d68de99f434fd3409ee620eaa7b648d6627c5a04cfeab65b91053129e71bf906db817fd9770297ae1e38f8a5a84be4d20a1d1717e6821478f2c1bbc416cb2'
                    '813fbfb17659e4e7512367f03b06f9bc54070886f5e7206548deced60032f92d3ca0beb78416706662bf713cb0f7a5d8d81f8f08b911ca8254b417e82306d829'
                    '7bda2ad7eb81af802873cb6764cb9c675ec50ceeb5adc487881ebc8c316cf55f836e56c2cc67494a2920e86494861db2eb924b7ff9b151ae3c5b0e493c373bf9')
-sha512sums_armv7h+=('65bcfcb2cd5515ffe0dde33bfc6ec07cc42a41647a6d28fe88ea7020f69f8ffac4f599a77909b14171b5efd82c06276f2910c384dbce100ac662080938d44552')
+sha512sums_armv7h+=('bc7b70863929737346fe6757373897391b43af36bb6884d5351a95aca0f9120f2d2cf9b9c2c6426a440c6b394e9fb334c280711d64081563322a834ecdfb2ba6')
 
 _replacesarchkernel=("${_replacesarchkernel[@]/\%/${pkgbase#linux-libre}}")
 _replacesoldkernels=("${_replacesoldkernels[@]/\%/${pkgbase#linux-libre}}")
@@ -118,7 +126,6 @@ case "$CARCH" in
 esac
 
 export STRIP=${CROSS_COMPILE}strip
-
 export KBUILD_BUILD_HOST=parabola
 export KBUILD_BUILD_USER=$pkgbase
 export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
@@ -274,14 +281,17 @@ _package-headers() {
   install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h
   install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h
 
-  # http://bugs.archlinux.org/task/13146
+  # https://bugs.archlinux.org/task/13146
   install -Dt "$builddir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
 
-  # http://bugs.archlinux.org/task/20402
+  # https://bugs.archlinux.org/task/20402
   install -Dt "$builddir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
   install -Dt "$builddir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
   install -Dt "$builddir/drivers/media/tuners" -m644 drivers/media/tuners/*.h
 
+  # https://bugs.archlinux.org/task/71392
+  install -Dt "$builddir/drivers/iio/common/hid-sensors" -m644 drivers/iio/common/hid-sensors/*.h
+
   echo "Installing KConfig files..."
   find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \;
 
diff --git a/libre/linux-libre-64/config.aarch64 b/libre/linux-libre-64/config.aarch64
index 99ab033..9552782 100644
--- a/libre/linux-libre-64/config.aarch64
+++ b/libre/linux-libre-64/config.aarch64
@@ -1,17 +1,22 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/arm64 5.11.4-1 Kernel Configuration
+# Linux/arm64 5.17.0 Kernel Configuration
 #
-CONFIG_CC_VERSION_TEXT="gcc (GCC) 10.2.0"
+CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.2.0"
 CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=100200
-CONFIG_LD_VERSION=235000000
+CONFIG_GCC_VERSION=110200
 CONFIG_CLANG_VERSION=0
+CONFIG_AS_IS_GNU=y
+CONFIG_AS_VERSION=23800
+CONFIG_LD_IS_BFD=y
+CONFIG_LD_VERSION=23800
 CONFIG_LLD_VERSION=0
 CONFIG_CC_CAN_LINK=y
 CONFIG_CC_CAN_LINK_STATIC=y
 CONFIG_CC_HAS_ASM_GOTO=y
+CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
 CONFIG_CC_HAS_ASM_INLINE=y
+CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
 CONFIG_IRQ_WORK=y
 CONFIG_BUILDTIME_TABLE_SORT=y
 CONFIG_THREAD_INFO_IN_TASK=y
@@ -21,6 +26,7 @@ CONFIG_THREAD_INFO_IN_TASK=y
 #
 CONFIG_INIT_ENV_ARG_LIMIT=32
 # CONFIG_COMPILE_TEST is not set
+# CONFIG_WERROR is not set
 CONFIG_LOCALVERSION="-ARCH"
 # CONFIG_LOCALVERSION_AUTO is not set
 CONFIG_BUILD_SALT=""
@@ -56,17 +62,17 @@ CONFIG_GENERIC_IRQ_IPI=y
 CONFIG_GENERIC_MSI_IRQ=y
 CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
 CONFIG_IRQ_MSI_IOMMU=y
-CONFIG_HANDLE_DOMAIN_IRQ=y
 CONFIG_IRQ_FORCED_THREADING=y
 CONFIG_SPARSE_IRQ=y
 # CONFIG_GENERIC_IRQ_DEBUGFS is not set
 # end of IRQ subsystem
 
-CONFIG_GENERIC_IRQ_MULTI_HANDLER=y
 CONFIG_GENERIC_TIME_VSYSCALL=y
 CONFIG_GENERIC_CLOCKEVENTS=y
 CONFIG_ARCH_HAS_TICK_BROADCAST=y
 CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
 
 #
 # Timers subsystem
@@ -80,9 +86,27 @@ CONFIG_NO_HZ=y
 CONFIG_HIGH_RES_TIMERS=y
 # end of Timers subsystem
 
+CONFIG_BPF=y
+CONFIG_HAVE_EBPF_JIT=y
+CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
+
+#
+# BPF subsystem
+#
+CONFIG_BPF_SYSCALL=y
+CONFIG_BPF_JIT=y
+# CONFIG_BPF_JIT_ALWAYS_ON is not set
+CONFIG_BPF_JIT_DEFAULT_ON=y
+# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
+CONFIG_USERMODE_DRIVER=y
+# CONFIG_BPF_PRELOAD is not set
+# end of BPF subsystem
+
+CONFIG_PREEMPT_VOLUNTARY_BUILD=y
 # CONFIG_PREEMPT_NONE is not set
 CONFIG_PREEMPT_VOLUNTARY=y
 # CONFIG_PREEMPT is not set
+# CONFIG_SCHED_CORE is not set
 
 #
 # CPU/Task time and stats accounting
@@ -125,6 +149,7 @@ CONFIG_IKCONFIG_PROC=y
 CONFIG_LOG_BUF_SHIFT=18
 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
 CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
+# CONFIG_PRINTK_INDEX is not set
 CONFIG_GENERIC_SCHED_CLOCK=y
 
 #
@@ -135,6 +160,7 @@ CONFIG_GENERIC_SCHED_CLOCK=y
 
 CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
 CONFIG_CC_HAS_INT128=y
+CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
 CONFIG_ARCH_SUPPORTS_INT128=y
 CONFIG_CGROUPS=y
 CONFIG_PAGE_COUNTER=y
@@ -157,6 +183,7 @@ CONFIG_CGROUP_DEVICE=y
 CONFIG_CGROUP_CPUACCT=y
 CONFIG_CGROUP_PERF=y
 CONFIG_CGROUP_BPF=y
+# CONFIG_CGROUP_MISC is not set
 # CONFIG_CGROUP_DEBUG is not set
 CONFIG_SOCK_CGROUP_DATA=y
 CONFIG_NAMESPACES=y
@@ -186,7 +213,6 @@ CONFIG_LD_ORPHAN_WARN=y
 CONFIG_SYSCTL=y
 CONFIG_HAVE_UID16=y
 CONFIG_SYSCTL_EXCEPTION_TRACE=y
-CONFIG_BPF=y
 CONFIG_EXPERT=y
 CONFIG_UID16=y
 CONFIG_MULTIUSER=y
@@ -195,13 +221,11 @@ CONFIG_SYSFS_SYSCALL=y
 CONFIG_FHANDLE=y
 CONFIG_POSIX_TIMERS=y
 CONFIG_PRINTK=y
-CONFIG_PRINTK_NMI=y
 CONFIG_BUG=y
 CONFIG_ELF_CORE=y
 CONFIG_BASE_FULL=y
 CONFIG_FUTEX=y
 CONFIG_FUTEX_PI=y
-CONFIG_HAVE_FUTEX_CMPXCHG=y
 CONFIG_EPOLL=y
 CONFIG_SIGNALFD=y
 CONFIG_TIMERFD=y
@@ -214,12 +238,6 @@ CONFIG_MEMBARRIER=y
 CONFIG_KALLSYMS=y
 CONFIG_KALLSYMS_ALL=y
 CONFIG_KALLSYMS_BASE_RELATIVE=y
-CONFIG_BPF_SYSCALL=y
-CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
-# CONFIG_BPF_JIT_ALWAYS_ON is not set
-CONFIG_BPF_JIT_DEFAULT_ON=y
-CONFIG_USERMODE_DRIVER=y
-# CONFIG_BPF_PRELOAD is not set
 # CONFIG_USERFAULTFD is not set
 CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
 CONFIG_KCMP=y
@@ -227,6 +245,7 @@ CONFIG_RSEQ=y
 # CONFIG_DEBUG_RSEQ is not set
 # CONFIG_EMBEDDED is not set
 CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_GUEST_PERF_EVENTS=y
 # CONFIG_PC104 is not set
 
 #
@@ -238,7 +257,6 @@ CONFIG_PERF_EVENTS=y
 
 CONFIG_VM_EVENT_COUNTERS=y
 CONFIG_SLUB_DEBUG=y
-# CONFIG_SLUB_MEMCG_SYSFS_ON is not set
 # CONFIG_COMPAT_BRK is not set
 # CONFIG_SLAB is not set
 CONFIG_SLUB=y
@@ -265,16 +283,12 @@ CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
 CONFIG_STACKTRACE_SUPPORT=y
 CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
 CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
 CONFIG_GENERIC_BUG=y
 CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
 CONFIG_GENERIC_HWEIGHT=y
 CONFIG_GENERIC_CSUM=y
 CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_ZONE_DMA=y
-CONFIG_ZONE_DMA32=y
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
 CONFIG_SMP=y
 CONFIG_KERNEL_MODE_NEON=y
 CONFIG_FIX_EARLYCON_MEM=y
@@ -286,9 +300,9 @@ CONFIG_ARCH_PROC_KCORE_TEXT=y
 # Platform selection
 #
 # CONFIG_ARCH_ACTIONS is not set
-# CONFIG_ARCH_AGILEX is not set
 CONFIG_ARCH_SUNXI=y
 # CONFIG_ARCH_ALPINE is not set
+CONFIG_ARCH_APPLE=y
 CONFIG_ARCH_BCM2835=y
 CONFIG_ARCH_BCM4908=y
 # CONFIG_ARCH_BCM_IPROC is not set
@@ -312,7 +326,7 @@ CONFIG_ARCH_QCOM=y
 CONFIG_ARCH_ROCKCHIP=y
 # CONFIG_ARCH_S32 is not set
 CONFIG_ARCH_SEATTLE=y
-# CONFIG_ARCH_STRATIX10 is not set
+# CONFIG_ARCH_INTEL_SOCFPGA is not set
 # CONFIG_ARCH_SYNQUACER is not set
 CONFIG_ARCH_TEGRA=y
 # CONFIG_ARCH_SPRD is not set
@@ -322,7 +336,6 @@ CONFIG_ARCH_TEGRA=y
 CONFIG_ARCH_VEXPRESS=y
 # CONFIG_ARCH_VISCONTI is not set
 CONFIG_ARCH_XGENE=y
-# CONFIG_ARCH_ZX is not set
 # CONFIG_ARCH_ZYNQMP is not set
 # end of Platform selection
 
@@ -342,6 +355,7 @@ CONFIG_ARM64_ERRATUM_832075=y
 CONFIG_ARM64_ERRATUM_834220=y
 CONFIG_ARM64_ERRATUM_845719=y
 CONFIG_ARM64_ERRATUM_843419=y
+CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y
 CONFIG_ARM64_ERRATUM_1024718=y
 CONFIG_ARM64_ERRATUM_1418040=y
 CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y
@@ -353,6 +367,11 @@ CONFIG_ARM64_ERRATUM_1286807=y
 CONFIG_ARM64_ERRATUM_1463225=y
 CONFIG_ARM64_ERRATUM_1542419=y
 CONFIG_ARM64_ERRATUM_1508412=y
+# CONFIG_ARM64_ERRATUM_2051678 is not set
+# CONFIG_ARM64_ERRATUM_2077057 is not set
+CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y
+CONFIG_ARM64_ERRATUM_2054223=y
+CONFIG_ARM64_ERRATUM_2067961=y
 CONFIG_CAVIUM_ERRATUM_22375=y
 CONFIG_CAVIUM_ERRATUM_23154=y
 CONFIG_CAVIUM_ERRATUM_27456=y
@@ -364,6 +383,7 @@ CONFIG_QCOM_FALKOR_ERRATUM_1003=y
 CONFIG_QCOM_FALKOR_ERRATUM_1009=y
 CONFIG_QCOM_QDF2400_ERRATUM_0065=y
 CONFIG_QCOM_FALKOR_ERRATUM_E1041=y
+CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y
 CONFIG_SOCIONEXT_SYNQUACER_PREITS=y
 # end of ARM errata workarounds via the alternatives framework
 
@@ -378,35 +398,30 @@ CONFIG_ARM64_PA_BITS=48
 # CONFIG_CPU_BIG_ENDIAN is not set
 CONFIG_CPU_LITTLE_ENDIAN=y
 CONFIG_SCHED_MC=y
+CONFIG_SCHED_CLUSTER=y
 CONFIG_SCHED_SMT=y
-CONFIG_NR_CPUS=8
+CONFIG_NR_CPUS=64
 CONFIG_HOTPLUG_CPU=y
 # CONFIG_NUMA is not set
-CONFIG_HOLES_IN_ZONE=y
-CONFIG_HZ_100=y
+# CONFIG_HZ_100 is not set
 # CONFIG_HZ_250 is not set
 # CONFIG_HZ_300 is not set
-# CONFIG_HZ_1000 is not set
-CONFIG_HZ=100
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
 CONFIG_SCHED_HRTICK=y
 CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SPARSEMEM_DEFAULT=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ARCH_FLATMEM_ENABLE=y
 CONFIG_HW_PERF_EVENTS=y
-CONFIG_SYS_SUPPORTS_HUGETLBFS=y
-CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
 CONFIG_PARAVIRT=y
 CONFIG_PARAVIRT_TIME_ACCOUNTING=y
 CONFIG_KEXEC=y
 CONFIG_KEXEC_FILE=y
 # CONFIG_KEXEC_SIG is not set
 # CONFIG_CRASH_DUMP is not set
+CONFIG_TRANS_TABLE=y
 # CONFIG_XEN is not set
 CONFIG_FORCE_MAX_ZONEORDER=11
 CONFIG_UNMAP_KERNEL_AT_EL0=y
+CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y
 CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
 # CONFIG_ARM64_SW_TTBR0_PAN is not set
 CONFIG_ARM64_TAGGED_ADDR_ABI=y
@@ -423,14 +438,16 @@ CONFIG_SETEND_EMULATION=y
 CONFIG_ARM64_HW_AFDBM=y
 CONFIG_ARM64_PAN=y
 CONFIG_AS_HAS_LDAPR=y
+CONFIG_AS_HAS_LSE_ATOMICS=y
 CONFIG_ARM64_LSE_ATOMICS=y
 CONFIG_ARM64_USE_LSE_ATOMICS=y
-CONFIG_ARM64_VHE=y
 # end of ARMv8.1 architectural features
 
 #
 # ARMv8.2 architectural features
 #
+CONFIG_AS_HAS_ARMV8_2=y
+CONFIG_AS_HAS_SHA3=y
 # CONFIG_ARM64_PMEM is not set
 CONFIG_ARM64_RAS_EXTN=y
 CONFIG_ARM64_CNP=y
@@ -440,6 +457,7 @@ CONFIG_ARM64_CNP=y
 # ARMv8.3 architectural features
 #
 CONFIG_ARM64_PTR_AUTH=y
+CONFIG_ARM64_PTR_AUTH_KERNEL=y
 CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y
 CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y
 CONFIG_AS_HAS_PAC=y
@@ -467,6 +485,12 @@ CONFIG_ARM64_AS_HAS_MTE=y
 CONFIG_ARM64_MTE=y
 # end of ARMv8.5 architectural features
 
+#
+# ARMv8.7 architectural features
+#
+CONFIG_ARM64_EPAN=y
+# end of ARMv8.7 architectural features
+
 CONFIG_ARM64_SVE=y
 CONFIG_ARM64_MODULE_PLTS=y
 # CONFIG_ARM64_PSEUDO_NMI is not set
@@ -482,7 +506,6 @@ CONFIG_STACKPROTECTOR_PER_TASK=y
 CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y
 CONFIG_CMDLINE="console=ttyAMA0"
 CONFIG_CMDLINE_FROM_BOOTLOADER=y
-# CONFIG_CMDLINE_EXTEND is not set
 # CONFIG_CMDLINE_FORCE is not set
 CONFIG_EFI_STUB=y
 CONFIG_EFI=y
@@ -490,7 +513,6 @@ CONFIG_DMI=y
 # end of Boot options
 
 CONFIG_SYSVIPC_COMPAT=y
-CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
 
 #
 # Power management options
@@ -535,7 +557,7 @@ CONFIG_CPU_IDLE=y
 CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
 CONFIG_CPU_IDLE_GOV_LADDER=y
 CONFIG_CPU_IDLE_GOV_MENU=y
-# CONFIG_CPU_IDLE_GOV_TEO is not set
+CONFIG_CPU_IDLE_GOV_TEO=y
 CONFIG_DT_IDLE_STATES=y
 
 #
@@ -573,12 +595,14 @@ CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
 CONFIG_CPUFREQ_DT=y
 CONFIG_CPUFREQ_DT_PLATDEV=y
 CONFIG_ACPI_CPPC_CPUFREQ=y
+CONFIG_ACPI_CPPC_CPUFREQ_FIE=y
 CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m
 CONFIG_ARM_ARMADA_37XX_CPUFREQ=y
 CONFIG_ARM_ARMADA_8K_CPUFREQ=y
 CONFIG_ARM_SCPI_CPUFREQ=y
 CONFIG_ARM_IMX_CPUFREQ_DT=y
-# CONFIG_ARM_MEDIATEK_CPUFREQ is not set
+CONFIG_ARM_MEDIATEK_CPUFREQ=y
+CONFIG_ARM_MEDIATEK_CPUFREQ_HW=m
 CONFIG_ARM_QCOM_CPUFREQ_NVMEM=y
 CONFIG_ARM_QCOM_CPUFREQ_HW=y
 CONFIG_ARM_RASPBERRYPI_CPUFREQ=y
@@ -591,63 +615,6 @@ CONFIG_QORIQ_CPUFREQ=m
 # end of CPU Frequency scaling
 # end of CPU Power Management
 
-#
-# Firmware Drivers
-#
-CONFIG_ARM_SCMI_PROTOCOL=y
-CONFIG_ARM_SCMI_POWER_DOMAIN=y
-CONFIG_ARM_SCPI_PROTOCOL=y
-CONFIG_ARM_SCPI_POWER_DOMAIN=y
-# CONFIG_ARM_SDE_INTERFACE is not set
-# CONFIG_FIRMWARE_MEMMAP is not set
-CONFIG_DMIID=y
-CONFIG_DMI_SYSFS=y
-# CONFIG_ISCSI_IBFT is not set
-CONFIG_RASPBERRYPI_FIRMWARE=y
-# CONFIG_FW_CFG_SYSFS is not set
-CONFIG_QCOM_SCM=y
-# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
-# CONFIG_TURRIS_MOX_RWTM is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
-
-#
-# EFI (Extensible Firmware Interface) Support
-#
-CONFIG_EFI_ESRT=y
-CONFIG_EFI_VARS_PSTORE=y
-CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
-CONFIG_EFI_PARAMS_FROM_FDT=y
-CONFIG_EFI_RUNTIME_WRAPPERS=y
-CONFIG_EFI_GENERIC_STUB=y
-# CONFIG_EFI_ARMSTUB_DTB_LOADER is not set
-CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
-CONFIG_EFI_BOOTLOADER_CONTROL=y
-# CONFIG_EFI_CAPSULE_LOADER is not set
-# CONFIG_EFI_TEST is not set
-# CONFIG_RESET_ATTACK_MITIGATION is not set
-# CONFIG_EFI_DISABLE_PCI_DMA is not set
-# end of EFI (Extensible Firmware Interface) Support
-
-CONFIG_EFI_EARLYCON=y
-CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
-# CONFIG_IMX_DSP is not set
-CONFIG_IMX_SCU=y
-CONFIG_IMX_SCU_PD=y
-CONFIG_MESON_SM=y
-CONFIG_ARM_PSCI_FW=y
-# CONFIG_ARM_PSCI_CHECKER is not set
-CONFIG_HAVE_ARM_SMCCC=y
-CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y
-CONFIG_ARM_SMCCC_SOC_ID=y
-
-#
-# Tegra firmware driver
-#
-CONFIG_TEGRA_IVC=y
-CONFIG_TEGRA_BPMP=y
-# end of Tegra firmware driver
-# end of Firmware Drivers
-
 CONFIG_ARCH_SUPPORTS_ACPI=y
 CONFIG_ACPI=y
 CONFIG_ACPI_GENERIC_GSI=y
@@ -680,13 +647,14 @@ CONFIG_ACPI_REDUCED_HARDWARE_ONLY=y
 CONFIG_HAVE_ACPI_APEI=y
 # CONFIG_ACPI_APEI is not set
 CONFIG_ACPI_CONFIGFS=m
+# CONFIG_ACPI_PFRUT is not set
 CONFIG_ACPI_IORT=y
 CONFIG_ACPI_GTDT=y
 CONFIG_ACPI_PPTT=y
+CONFIG_ACPI_PCC=y
 CONFIG_PMIC_OPREGION=y
 CONFIG_IRQ_BYPASS_MANAGER=y
-CONFIG_VIRTUALIZATION=y
-CONFIG_KVM=y
+CONFIG_HAVE_KVM=y
 CONFIG_HAVE_KVM_IRQCHIP=y
 CONFIG_HAVE_KVM_IRQFD=y
 CONFIG_HAVE_KVM_IRQ_ROUTING=y
@@ -699,6 +667,10 @@ CONFIG_HAVE_KVM_ARCH_TLB_FLUSH_ALL=y
 CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
 CONFIG_HAVE_KVM_IRQ_BYPASS=y
 CONFIG_HAVE_KVM_VCPU_RUN_PID_CHANGE=y
+CONFIG_KVM_XFER_TO_GUEST_WORK=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=y
+# CONFIG_NVHE_EL2_DEBUG is not set
 CONFIG_ARM64_CRYPTO=y
 CONFIG_CRYPTO_SHA256_ARM64=y
 CONFIG_CRYPTO_SHA512_ARM64=y
@@ -732,8 +704,10 @@ CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
 CONFIG_KRETPROBES=y
 CONFIG_HAVE_KPROBES=y
 CONFIG_HAVE_KRETPROBES=y
+CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
 CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
 CONFIG_HAVE_NMI=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
 CONFIG_HAVE_ARCH_TRACEHOOK=y
 CONFIG_HAVE_DMA_CONTIGUOUS=y
 CONFIG_GENERIC_SMP_IDLE_THREAD=y
@@ -743,6 +717,7 @@ CONFIG_ARCH_HAS_KEEPINITRD=y
 CONFIG_ARCH_HAS_SET_MEMORY=y
 CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
 CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
+CONFIG_ARCH_WANTS_NO_INSTR=y
 CONFIG_HAVE_ASM_MODVERSIONS=y
 CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
 CONFIG_HAVE_RSEQ=y
@@ -768,6 +743,10 @@ CONFIG_HAVE_ARCH_STACKLEAK=y
 CONFIG_HAVE_STACKPROTECTOR=y
 CONFIG_STACKPROTECTOR=y
 CONFIG_STACKPROTECTOR_STRONG=y
+CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
+CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
+CONFIG_LTO_NONE=y
+CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
 CONFIG_HAVE_CONTEXT_TRACKING=y
 CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
 CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
@@ -775,6 +754,7 @@ CONFIG_HAVE_MOVE_PUD=y
 CONFIG_HAVE_MOVE_PMD=y
 CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
 CONFIG_HAVE_ARCH_HUGE_VMAP=y
+CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
 CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
 CONFIG_MODULES_USE_ELF_RELA=y
 CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
@@ -782,6 +762,8 @@ CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
 CONFIG_ARCH_MMAP_RND_BITS=18
 CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
 CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11
+CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
 CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
 CONFIG_CLONE_BACKWARDS=y
 CONFIG_OLD_SIGSUSPEND3=y
@@ -789,6 +771,8 @@ CONFIG_COMPAT_OLD_SIGACTION=y
 CONFIG_COMPAT_32BIT_TIME=y
 CONFIG_HAVE_ARCH_VMAP_STACK=y
 CONFIG_VMAP_STACK=y
+CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
+# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
 CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
 CONFIG_STRICT_KERNEL_RWX=y
 CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
@@ -799,7 +783,6 @@ CONFIG_ARCH_USE_MEMREMAP_PROT=y
 # CONFIG_LOCK_EVENT_COUNTS is not set
 CONFIG_ARCH_HAS_RELR=y
 CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
-CONFIG_HAVE_ARCH_PFN_VALID=y
 CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
 
 #
@@ -811,7 +794,6 @@ CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
 
 CONFIG_HAVE_GCC_PLUGINS=y
 CONFIG_GCC_PLUGINS=y
-# CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
 # CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
 # CONFIG_GCC_PLUGIN_RANDSTRUCT is not set
 # end of General architecture-dependent options
@@ -825,27 +807,29 @@ CONFIG_MODULE_UNLOAD=y
 # CONFIG_MODVERSIONS is not set
 # CONFIG_MODULE_SRCVERSION_ALL is not set
 # CONFIG_MODULE_SIG is not set
-CONFIG_MODULE_COMPRESS=y
-CONFIG_MODULE_COMPRESS_GZIP=y
+# CONFIG_MODULE_COMPRESS_NONE is not set
+# CONFIG_MODULE_COMPRESS_GZIP is not set
 # CONFIG_MODULE_COMPRESS_XZ is not set
+CONFIG_MODULE_COMPRESS_ZSTD=y
 # CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
-CONFIG_UNUSED_SYMBOLS=y
+CONFIG_MODPROBE_PATH="/sbin/modprobe"
+# CONFIG_TRIM_UNUSED_KSYMS is not set
 CONFIG_MODULES_TREE_LOOKUP=y
 CONFIG_BLOCK=y
-CONFIG_BLK_SCSI_REQUEST=y
 CONFIG_BLK_CGROUP_RWSTAT=y
-CONFIG_BLK_DEV_BSG=y
+CONFIG_BLK_DEV_BSG_COMMON=y
+CONFIG_BLK_ICQ=y
 CONFIG_BLK_DEV_BSGLIB=y
 CONFIG_BLK_DEV_INTEGRITY=y
 CONFIG_BLK_DEV_INTEGRITY_T10=y
 CONFIG_BLK_DEV_ZONED=y
 CONFIG_BLK_DEV_THROTTLING=y
 # CONFIG_BLK_DEV_THROTTLING_LOW is not set
-CONFIG_BLK_CMDLINE_PARSER=y
 CONFIG_BLK_WBT=y
+CONFIG_BLK_WBT_MQ=y
 # CONFIG_BLK_CGROUP_IOLATENCY is not set
 # CONFIG_BLK_CGROUP_IOCOST is not set
-CONFIG_BLK_WBT_MQ=y
+# CONFIG_BLK_CGROUP_IOPRIO is not set
 CONFIG_BLK_DEBUG_FS=y
 CONFIG_BLK_DEBUG_FS_ZONED=y
 CONFIG_BLK_SED_OPAL=y
@@ -881,6 +865,7 @@ CONFIG_BLOCK_COMPAT=y
 CONFIG_BLK_MQ_PCI=y
 CONFIG_BLK_MQ_VIRTIO=y
 CONFIG_BLK_PM=y
+CONFIG_BLOCK_HOLDER_DEPRECATED=y
 
 #
 # IO Schedulers
@@ -976,9 +961,6 @@ CONFIG_COREDUMP=y
 #
 # Memory Management options
 #
-CONFIG_SELECT_MEMORY_MODEL=y
-# CONFIG_FLATMEM_MANUAL is not set
-CONFIG_SPARSEMEM_MANUAL=y
 CONFIG_SPARSEMEM=y
 CONFIG_SPARSEMEM_EXTREME=y
 CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
@@ -986,27 +968,31 @@ CONFIG_SPARSEMEM_VMEMMAP=y
 CONFIG_HAVE_FAST_GUP=y
 CONFIG_ARCH_KEEP_MEMBLOCK=y
 CONFIG_MEMORY_ISOLATION=y
+CONFIG_EXCLUSIVE_SYSTEM_RAM=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
 # CONFIG_MEMORY_HOTPLUG is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
 CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
 CONFIG_MEMORY_BALLOON=y
 CONFIG_BALLOON_COMPACTION=y
 CONFIG_COMPACTION=y
 CONFIG_PAGE_REPORTING=y
 CONFIG_MIGRATION=y
+CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
 CONFIG_CONTIG_ALLOC=y
 CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_BOUNCE=y
 CONFIG_MMU_NOTIFIER=y
 CONFIG_KSM=y
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
 CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
 # CONFIG_MEMORY_FAILURE is not set
 # CONFIG_TRANSPARENT_HUGEPAGE is not set
-CONFIG_CLEANCACHE=y
 CONFIG_FRONTSWAP=y
 CONFIG_CMA=y
 # CONFIG_CMA_DEBUG is not set
 CONFIG_CMA_DEBUGFS=y
+# CONFIG_CMA_SYSFS is not set
 CONFIG_CMA_AREAS=7
 CONFIG_ZSWAP=y
 # CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
@@ -1029,12 +1015,23 @@ CONFIG_ZSMALLOC=y
 CONFIG_GENERIC_EARLY_IOREMAP=y
 # CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
 # CONFIG_IDLE_PAGE_TRACKING is not set
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
 CONFIG_ARCH_HAS_PTE_DEVMAP=y
-CONFIG_FRAME_VECTOR=y
+CONFIG_ARCH_HAS_ZONE_DMA_SET=y
+CONFIG_ZONE_DMA=y
+CONFIG_ZONE_DMA32=y
 CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
 # CONFIG_PERCPU_STATS is not set
 # CONFIG_GUP_TEST is not set
 CONFIG_ARCH_HAS_PTE_SPECIAL=y
+CONFIG_SECRETMEM=y
+# CONFIG_ANON_VMA_NAME is not set
+
+#
+# Data Access Monitoring
+#
+# CONFIG_DAMON is not set
+# end of Data Access Monitoring
 # end of Memory Management options
 
 CONFIG_NET=y
@@ -1051,6 +1048,7 @@ CONFIG_PACKET=y
 CONFIG_PACKET_DIAG=m
 CONFIG_UNIX=y
 CONFIG_UNIX_SCM=y
+CONFIG_AF_UNIX_OOB=y
 CONFIG_UNIX_DIAG=m
 CONFIG_TLS=m
 # CONFIG_TLS_DEVICE is not set
@@ -1155,6 +1153,7 @@ CONFIG_IPV6_SEG6_LWTUNNEL=y
 CONFIG_IPV6_SEG6_HMAC=y
 CONFIG_IPV6_SEG6_BPF=y
 # CONFIG_IPV6_RPL_LWTUNNEL is not set
+# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
 CONFIG_NETLABEL=y
 CONFIG_MPTCP=y
 CONFIG_INET_MPTCP_DIAG=m
@@ -1170,16 +1169,18 @@ CONFIG_BRIDGE_NETFILTER=m
 # Core Netfilter Configuration
 #
 CONFIG_NETFILTER_INGRESS=y
+CONFIG_NETFILTER_EGRESS=y
+CONFIG_NETFILTER_SKIP_EGRESS=y
 CONFIG_NETFILTER_NETLINK=m
 CONFIG_NETFILTER_FAMILY_BRIDGE=y
 CONFIG_NETFILTER_FAMILY_ARP=y
+CONFIG_NETFILTER_NETLINK_HOOK=m
 CONFIG_NETFILTER_NETLINK_ACCT=m
 CONFIG_NETFILTER_NETLINK_QUEUE=m
 CONFIG_NETFILTER_NETLINK_LOG=m
 CONFIG_NETFILTER_NETLINK_OSF=m
 CONFIG_NF_CONNTRACK=m
-CONFIG_NF_LOG_COMMON=m
-CONFIG_NF_LOG_NETDEV=m
+CONFIG_NF_LOG_SYSLOG=m
 CONFIG_NETFILTER_CONNCOUNT=m
 CONFIG_NF_CONNTRACK_MARK=y
 CONFIG_NF_CONNTRACK_ZONES=y
@@ -1222,7 +1223,6 @@ CONFIG_NF_TABLES_NETDEV=y
 CONFIG_NFT_NUMGEN=m
 CONFIG_NFT_CT=m
 CONFIG_NFT_FLOW_OFFLOAD=m
-CONFIG_NFT_COUNTER=m
 CONFIG_NFT_CONNLIMIT=m
 CONFIG_NFT_LOG=m
 CONFIG_NFT_LIMIT=m
@@ -1252,6 +1252,7 @@ CONFIG_NFT_REJECT_NETDEV=m
 CONFIG_NF_FLOW_TABLE_INET=m
 CONFIG_NF_FLOW_TABLE=m
 CONFIG_NETFILTER_XTABLES=y
+CONFIG_NETFILTER_XTABLES_COMPAT=y
 
 #
 # Xtables combined modules
@@ -1389,6 +1390,7 @@ CONFIG_IP_VS_SH=m
 CONFIG_IP_VS_MH=m
 CONFIG_IP_VS_SED=m
 CONFIG_IP_VS_NQ=m
+CONFIG_IP_VS_TWOS=m
 
 #
 # IPVS SH scheduler
@@ -1418,7 +1420,6 @@ CONFIG_NFT_REJECT_IPV4=m
 CONFIG_NFT_DUP_IPV4=m
 CONFIG_NFT_FIB_IPV4=m
 CONFIG_NF_TABLES_ARP=y
-CONFIG_NF_FLOW_TABLE_IPV4=m
 CONFIG_NF_DUP_IPV4=m
 CONFIG_NF_LOG_ARP=m
 CONFIG_NF_LOG_IPV4=m
@@ -1458,7 +1459,6 @@ CONFIG_NF_TABLES_IPV6=y
 CONFIG_NFT_REJECT_IPV6=m
 CONFIG_NFT_DUP_IPV6=m
 CONFIG_NFT_FIB_IPV6=m
-CONFIG_NF_FLOW_TABLE_IPV6=m
 CONFIG_NF_DUP_IPV6=m
 CONFIG_NF_REJECT_IPV6=m
 CONFIG_NF_LOG_IPV6=m
@@ -1489,7 +1489,6 @@ CONFIG_NF_DEFRAG_IPV6=m
 CONFIG_NF_TABLES_BRIDGE=m
 CONFIG_NFT_BRIDGE_META=m
 CONFIG_NFT_BRIDGE_REJECT=m
-CONFIG_NF_LOG_BRIDGE=m
 CONFIG_NF_CONNTRACK_BRIDGE=m
 CONFIG_BRIDGE_NF_EBTABLES=m
 CONFIG_BRIDGE_EBT_BROUTE=m
@@ -1567,11 +1566,11 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y
 CONFIG_BRIDGE_VLAN_FILTERING=y
 # CONFIG_BRIDGE_MRP is not set
 # CONFIG_BRIDGE_CFM is not set
-CONFIG_HAVE_NET_DSA=y
 CONFIG_NET_DSA=m
 # CONFIG_NET_DSA_TAG_AR9331 is not set
 CONFIG_NET_DSA_TAG_BRCM_COMMON=m
 CONFIG_NET_DSA_TAG_BRCM=m
+CONFIG_NET_DSA_TAG_BRCM_LEGACY=m
 CONFIG_NET_DSA_TAG_BRCM_PREPEND=m
 # CONFIG_NET_DSA_TAG_HELLCREEK is not set
 # CONFIG_NET_DSA_TAG_GSWIP is not set
@@ -1580,12 +1579,15 @@ CONFIG_NET_DSA_TAG_DSA=m
 CONFIG_NET_DSA_TAG_EDSA=m
 # CONFIG_NET_DSA_TAG_MTK is not set
 # CONFIG_NET_DSA_TAG_KSZ is not set
-# CONFIG_NET_DSA_TAG_RTL4_A is not set
 # CONFIG_NET_DSA_TAG_OCELOT is not set
+# CONFIG_NET_DSA_TAG_OCELOT_8021Q is not set
 CONFIG_NET_DSA_TAG_QCA=m
+# CONFIG_NET_DSA_TAG_RTL4_A is not set
+# CONFIG_NET_DSA_TAG_RTL8_4 is not set
 # CONFIG_NET_DSA_TAG_LAN9303 is not set
 # CONFIG_NET_DSA_TAG_SJA1105 is not set
 CONFIG_NET_DSA_TAG_TRAILER=m
+# CONFIG_NET_DSA_TAG_XRS700X is not set
 CONFIG_VLAN_8021Q=m
 CONFIG_VLAN_8021Q_GVRP=y
 CONFIG_VLAN_8021Q_MVRP=y
@@ -1745,14 +1747,15 @@ CONFIG_QRTR=m
 CONFIG_QRTR_SMD=m
 CONFIG_QRTR_TUN=m
 # CONFIG_NET_NCSI is not set
+CONFIG_PCPU_DEV_REFCNT=y
 CONFIG_RPS=y
 CONFIG_RFS_ACCEL=y
+CONFIG_SOCK_RX_QUEUE_MAPPING=y
 CONFIG_XPS=y
 CONFIG_CGROUP_NET_PRIO=y
 CONFIG_CGROUP_NET_CLASSID=y
 CONFIG_NET_RX_BUSY_POLL=y
 CONFIG_BQL=y
-CONFIG_BPF_JIT=y
 CONFIG_BPF_STREAM_PARSER=y
 CONFIG_NET_FLOW_LIMIT=y
 
@@ -1840,6 +1843,7 @@ CONFIG_CAN_MCP251X=m
 CONFIG_CAN_8DEV_USB=m
 CONFIG_CAN_EMS_USB=m
 CONFIG_CAN_ESD_USB2=m
+# CONFIG_CAN_ETAS_ES58X is not set
 CONFIG_CAN_GS_USB=m
 CONFIG_CAN_KVASER_USB=m
 # CONFIG_CAN_MCBA_USB is not set
@@ -1862,7 +1866,8 @@ CONFIG_BT_HS=y
 CONFIG_BT_LE=y
 CONFIG_BT_6LOWPAN=m
 # CONFIG_BT_LEDS is not set
-# CONFIG_BT_MSFTEXT is not set
+CONFIG_BT_MSFTEXT=y
+# CONFIG_BT_AOSPEXT is not set
 # CONFIG_BT_DEBUGFS is not set
 # CONFIG_BT_SELFTEST is not set
 
@@ -1889,7 +1894,7 @@ CONFIG_BT_HCIUART_LL=y
 CONFIG_BT_HCIUART_3WIRE=y
 CONFIG_BT_HCIUART_INTEL=y
 CONFIG_BT_HCIUART_BCM=y
-# CONFIG_BT_HCIUART_RTL is not set
+CONFIG_BT_HCIUART_RTL=y
 CONFIG_BT_HCIUART_QCA=y
 # CONFIG_BT_HCIUART_AG6XX is not set
 CONFIG_BT_HCIUART_MRVL=y
@@ -1904,11 +1909,13 @@ CONFIG_BT_ATH3K=m
 # CONFIG_BT_MTKUART is not set
 CONFIG_BT_QCOMSMD=m
 CONFIG_BT_HCIRSI=m
+# CONFIG_BT_VIRTIO is not set
 # end of Bluetooth device drivers
 
 # CONFIG_AF_RXRPC is not set
 # CONFIG_AF_KCM is not set
 CONFIG_STREAM_PARSER=y
+# CONFIG_MCTP is not set
 CONFIG_FIB_RULES=y
 CONFIG_WIRELESS=y
 CONFIG_WIRELESS_EXT=y
@@ -1948,6 +1955,7 @@ CONFIG_RFKILL_LEDS=y
 CONFIG_RFKILL_INPUT=y
 CONFIG_RFKILL_GPIO=m
 CONFIG_NET_9P=m
+CONFIG_NET_9P_FD=m
 CONFIG_NET_9P_VIRTIO=m
 # CONFIG_NET_9P_DEBUG is not set
 # CONFIG_CAIF is not set
@@ -1968,6 +1976,7 @@ CONFIG_NFC_SHDLC=y
 # CONFIG_NFC_TRF7970A is not set
 CONFIG_NFC_SIM=m
 CONFIG_NFC_PORT100=m
+# CONFIG_NFC_VIRTUAL_NCI is not set
 # CONFIG_NFC_FDP is not set
 CONFIG_NFC_PN544=m
 CONFIG_NFC_PN544_I2C=m
@@ -1996,12 +2005,12 @@ CONFIG_LWTUNNEL=y
 CONFIG_LWTUNNEL_BPF=y
 CONFIG_DST_CACHE=y
 CONFIG_GRO_CELLS=y
+CONFIG_NET_SELFTESTS=y
 CONFIG_NET_SOCK_MSG=y
 CONFIG_NET_DEVLINK=y
 CONFIG_PAGE_POOL=y
 CONFIG_FAILOVER=m
 CONFIG_ETHTOOL_NETLINK=y
-CONFIG_HAVE_EBPF_JIT=y
 
 #
 # Device Drivers
@@ -2026,10 +2035,8 @@ CONFIG_PCIEASPM_DEFAULT=y
 CONFIG_PCIE_PME=y
 # CONFIG_PCIE_DPC is not set
 # CONFIG_PCIE_PTM is not set
-# CONFIG_PCIE_BW is not set
 CONFIG_PCI_MSI=y
 CONFIG_PCI_MSI_IRQ_DOMAIN=y
-CONFIG_PCI_MSI_ARCH_FALLBACKS=y
 CONFIG_PCI_QUIRKS=y
 # CONFIG_PCI_DEBUG is not set
 # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
@@ -2070,7 +2077,11 @@ CONFIG_PCI_XGENE_MSI=y
 CONFIG_PCIE_ROCKCHIP=y
 CONFIG_PCIE_ROCKCHIP_HOST=y
 # CONFIG_PCIE_MEDIATEK is not set
+# CONFIG_PCIE_MEDIATEK_GEN3 is not set
 CONFIG_PCIE_BRCMSTB=m
+# CONFIG_PCIE_MICROCHIP_HOST is not set
+CONFIG_PCIE_APPLE_MSI_DOORBELL_ADDR=0xfffff000
+CONFIG_PCIE_APPLE=y
 
 #
 # DesignWare PCI Core Support
@@ -2079,11 +2090,12 @@ CONFIG_PCIE_DW=y
 CONFIG_PCIE_DW_HOST=y
 CONFIG_PCIE_DW_PLAT=y
 CONFIG_PCIE_DW_PLAT_HOST=y
-# CONFIG_PCI_IMX6 is not set
+CONFIG_PCI_IMX6=y
 CONFIG_PCI_LAYERSCAPE=y
 CONFIG_PCI_HISI=y
 CONFIG_PCIE_QCOM=y
 CONFIG_PCIE_ARMADA_8K=y
+# CONFIG_PCIE_ROCKCHIP_DW_HOST is not set
 # CONFIG_PCIE_KIRIN is not set
 CONFIG_PCIE_HISI_STB=y
 CONFIG_PCI_MESON=y
@@ -2117,6 +2129,7 @@ CONFIG_PCI_MESON=y
 # CONFIG_PCI_SW_SWITCHTEC is not set
 # end of PCI switch controller drivers
 
+# CONFIG_CXL_BUS is not set
 # CONFIG_PCCARD is not set
 # CONFIG_RAPIDIO is not set
 
@@ -2127,6 +2140,7 @@ CONFIG_AUXILIARY_BUS=y
 # CONFIG_UEVENT_HELPER is not set
 CONFIG_DEVTMPFS=y
 CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_DEVTMPFS_SAFE is not set
 CONFIG_STANDALONE=y
 CONFIG_PREVENT_FIRMWARE_BUILD=y
 
@@ -2134,9 +2148,10 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
 # Firmware loader
 #
 CONFIG_FW_LOADER=y
+CONFIG_FW_LOADER_PAGED_BUF=y
 CONFIG_EXTRA_FIRMWARE=""
 # CONFIG_FW_LOADER_USER_HELPER is not set
-# CONFIG_FW_LOADER_COMPRESS is not set
+CONFIG_FW_LOADER_COMPRESS=y
 CONFIG_FW_CACHE=y
 # end of Firmware loader
 
@@ -2173,23 +2188,101 @@ CONFIG_ARM_CCI400_COMMON=y
 # CONFIG_HISILICON_LPC is not set
 # CONFIG_IMX_WEIM is not set
 CONFIG_QCOM_EBI2=y
-CONFIG_SIMPLE_PM_BUS=y
 CONFIG_SUN50I_DE2_BUS=y
 CONFIG_SUNXI_RSB=y
 CONFIG_TEGRA_ACONNECT=m
 # CONFIG_TEGRA_GMI is not set
 CONFIG_VEXPRESS_CONFIG=y
 CONFIG_FSL_MC_BUS=y
+# CONFIG_FSL_MC_UAPI_SUPPORT is not set
 # CONFIG_MHI_BUS is not set
 # end of Bus devices
 
 CONFIG_CONNECTOR=y
 CONFIG_PROC_EVENTS=y
+
+#
+# Firmware Drivers
+#
+
+#
+# ARM System Control and Management Interface Protocol
+#
+CONFIG_ARM_SCMI_PROTOCOL=y
+CONFIG_ARM_SCMI_HAVE_TRANSPORT=y
+CONFIG_ARM_SCMI_HAVE_SHMEM=y
+CONFIG_ARM_SCMI_TRANSPORT_MAILBOX=y
+CONFIG_ARM_SCMI_TRANSPORT_SMC=y
+# CONFIG_ARM_SCMI_TRANSPORT_VIRTIO is not set
+CONFIG_ARM_SCMI_POWER_DOMAIN=y
+# end of ARM System Control and Management Interface Protocol
+
+CONFIG_ARM_SCPI_PROTOCOL=y
+CONFIG_ARM_SCPI_POWER_DOMAIN=y
+# CONFIG_ARM_SDE_INTERFACE is not set
+# CONFIG_FIRMWARE_MEMMAP is not set
+CONFIG_DMIID=y
+CONFIG_DMI_SYSFS=y
+# CONFIG_ISCSI_IBFT is not set
+CONFIG_RASPBERRYPI_FIRMWARE=y
+# CONFIG_FW_CFG_SYSFS is not set
+CONFIG_QCOM_SCM=y
+# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
+CONFIG_SYSFB=y
+# CONFIG_SYSFB_SIMPLEFB is not set
+# CONFIG_TURRIS_MOX_RWTM is not set
+# CONFIG_ARM_FFA_TRANSPORT is not set
+CONFIG_GOOGLE_FIRMWARE=y
+CONFIG_GOOGLE_COREBOOT_TABLE=m
+CONFIG_GOOGLE_MEMCONSOLE=m
+# CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT is not set
+CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=m
+CONFIG_GOOGLE_VPD=m
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_ESRT=y
+CONFIG_EFI_VARS_PSTORE=y
+CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
+CONFIG_EFI_PARAMS_FROM_FDT=y
+CONFIG_EFI_RUNTIME_WRAPPERS=y
+CONFIG_EFI_GENERIC_STUB=y
+# CONFIG_EFI_ARMSTUB_DTB_LOADER is not set
+CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
+CONFIG_EFI_BOOTLOADER_CONTROL=y
+# CONFIG_EFI_CAPSULE_LOADER is not set
+# CONFIG_EFI_TEST is not set
+# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
+# end of EFI (Extensible Firmware Interface) Support
+
+CONFIG_EFI_EARLYCON=y
+CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
+# CONFIG_IMX_DSP is not set
+CONFIG_IMX_SCU=y
+CONFIG_IMX_SCU_PD=y
+CONFIG_MESON_SM=y
+CONFIG_ARM_PSCI_FW=y
+# CONFIG_ARM_PSCI_CHECKER is not set
+CONFIG_HAVE_ARM_SMCCC=y
+CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y
+CONFIG_ARM_SMCCC_SOC_ID=y
+
+#
+# Tegra firmware driver
+#
+CONFIG_TEGRA_IVC=y
+CONFIG_TEGRA_BPMP=y
+# end of Tegra firmware driver
+# end of Firmware Drivers
+
 CONFIG_GNSS=m
 CONFIG_GNSS_SERIAL=m
 CONFIG_GNSS_MTK_SERIAL=m
-# CONFIG_GNSS_SIRF_SERIAL is not set
-# CONFIG_GNSS_UBX_SERIAL is not set
+CONFIG_GNSS_SIRF_SERIAL=m
+CONFIG_GNSS_UBX_SERIAL=m
+CONFIG_GNSS_USB=m
 CONFIG_MTD=y
 # CONFIG_MTD_TESTS is not set
 
@@ -2199,8 +2292,12 @@ CONFIG_MTD=y
 # CONFIG_MTD_AR7_PARTS is not set
 # CONFIG_MTD_CMDLINE_PARTS is not set
 CONFIG_MTD_OF_PARTS=m
+CONFIG_MTD_OF_PARTS_BCM4908=y
+# CONFIG_MTD_OF_PARTS_LINKSYS_NS is not set
 # CONFIG_MTD_AFS_PARTS is not set
+# CONFIG_MTD_PARSER_TRX is not set
 # CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_QCOMSMEM_PARTS is not set
 # end of Partition parsers
 
 #
@@ -2209,6 +2306,10 @@ CONFIG_MTD_OF_PARTS=m
 CONFIG_MTD_BLKDEVS=m
 CONFIG_MTD_BLOCK=m
 # CONFIG_MTD_BLOCK_RO is not set
+
+#
+# Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK.
+#
 # CONFIG_FTL is not set
 # CONFIG_NFTL is not set
 # CONFIG_INFTL is not set
@@ -2259,6 +2360,7 @@ CONFIG_MTD_PHYSMAP_OF=y
 # CONFIG_MTD_PMC551 is not set
 # CONFIG_MTD_DATAFLASH is not set
 # CONFIG_MTD_MCHP23K256 is not set
+# CONFIG_MTD_MCHP48L640 is not set
 # CONFIG_MTD_SST25L is not set
 # CONFIG_MTD_SLRAM is not set
 # CONFIG_MTD_PHRAM is not set
@@ -2348,7 +2450,6 @@ CONFIG_OF_KOBJ=y
 CONFIG_OF_DYNAMIC=y
 CONFIG_OF_ADDRESS=y
 CONFIG_OF_IRQ=y
-CONFIG_OF_NET=y
 CONFIG_OF_RESERVED_MEM=y
 CONFIG_OF_RESOLVE=y
 CONFIG_OF_OVERLAY=y
@@ -2374,14 +2475,11 @@ CONFIG_ZRAM_DEF_COMP_LZORLE=y
 CONFIG_ZRAM_DEF_COMP="lzo-rle"
 # CONFIG_ZRAM_WRITEBACK is not set
 # CONFIG_ZRAM_MEMORY_TRACKING is not set
-CONFIG_BLK_DEV_UMEM=m
 CONFIG_BLK_DEV_LOOP=m
 CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
 CONFIG_BLK_DEV_DRBD=m
 # CONFIG_DRBD_FAULT_INJECTION is not set
 CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_SKD=m
 CONFIG_BLK_DEV_SX8=m
 CONFIG_BLK_DEV_RAM=m
 CONFIG_BLK_DEV_RAM_COUNT=16
@@ -2392,13 +2490,12 @@ CONFIG_CDROM_PKTCDVD_BUFFERS=8
 CONFIG_ATA_OVER_ETH=m
 CONFIG_VIRTIO_BLK=y
 CONFIG_BLK_DEV_RBD=m
-# CONFIG_BLK_DEV_RSXX is not set
 
 #
 # NVME Support
 #
-CONFIG_NVME_CORE=m
-CONFIG_BLK_DEV_NVME=m
+CONFIG_NVME_CORE=y
+CONFIG_BLK_DEV_NVME=y
 CONFIG_NVME_MULTIPATH=y
 # CONFIG_NVME_HWMON is not set
 # CONFIG_NVME_FC is not set
@@ -2417,6 +2514,7 @@ CONFIG_TIFM_CORE=y
 CONFIG_TIFM_7XX1=m
 # CONFIG_ICS932S401 is not set
 CONFIG_ENCLOSURE_SERVICES=m
+# CONFIG_HI6421V600_IRQ is not set
 # CONFIG_HP_ILO is not set
 # CONFIG_QCOM_COINCELL is not set
 # CONFIG_QCOM_FASTRPC is not set
@@ -2430,9 +2528,9 @@ CONFIG_SENSORS_APDS990X=m
 # CONFIG_DS1682 is not set
 # CONFIG_LATTICE_ECP3_CONFIG is not set
 CONFIG_SRAM=y
+# CONFIG_DW_XDATA_PCIE is not set
 CONFIG_PCI_ENDPOINT_TEST=m
 # CONFIG_XILINX_SDFEC is not set
-# CONFIG_PVPANIC is not set
 # CONFIG_HISI_HIKEY_USB is not set
 # CONFIG_C2PORT is not set
 
@@ -2463,11 +2561,13 @@ CONFIG_SENSORS_LIS3_I2C=m
 CONFIG_ALTERA_STAPL=m
 # CONFIG_GENWQE is not set
 CONFIG_ECHO=m
+# CONFIG_BCM_VK is not set
 # CONFIG_MISC_ALCOR_PCI is not set
 # CONFIG_MISC_RTSX_PCI is not set
 # CONFIG_MISC_RTSX_USB is not set
 # CONFIG_HABANA_AI is not set
 CONFIG_UACCE=m
+# CONFIG_PVPANIC is not set
 # end of Misc devices
 
 #
@@ -2475,6 +2575,7 @@ CONFIG_UACCE=m
 #
 CONFIG_SCSI_MOD=y
 CONFIG_RAID_ATTRS=m
+CONFIG_SCSI_COMMON=y
 CONFIG_SCSI=y
 CONFIG_SCSI_DMA=y
 CONFIG_SCSI_NETLINK=y
@@ -2487,6 +2588,7 @@ CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=y
 CONFIG_CHR_DEV_SG=y
+CONFIG_BLK_DEV_BSG=y
 CONFIG_CHR_DEV_SCH=m
 CONFIG_SCSI_ENCLOSURE=m
 CONFIG_SCSI_CONSTANTS=y
@@ -2540,6 +2642,7 @@ CONFIG_SCSI_MPT3SAS=m
 CONFIG_SCSI_MPT2SAS_MAX_SGE=128
 CONFIG_SCSI_MPT3SAS_MAX_SGE=128
 # CONFIG_SCSI_MPT2SAS is not set
+# CONFIG_SCSI_MPI3MR is not set
 # CONFIG_SCSI_SMARTPQI is not set
 CONFIG_SCSI_UFSHCD=y
 CONFIG_SCSI_UFSHCD_PCI=m
@@ -2547,10 +2650,12 @@ CONFIG_SCSI_UFSHCD_PCI=m
 CONFIG_SCSI_UFSHCD_PLATFORM=y
 # CONFIG_SCSI_UFS_CDNS_PLATFORM is not set
 # CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set
-CONFIG_SCSI_UFS_QCOM=m
+CONFIG_SCSI_UFS_QCOM=y
 # CONFIG_SCSI_UFS_MEDIATEK is not set
 CONFIG_SCSI_UFS_HISI=y
 # CONFIG_SCSI_UFS_BSG is not set
+# CONFIG_SCSI_UFS_HPB is not set
+# CONFIG_SCSI_UFS_HWMON is not set
 CONFIG_SCSI_HPTIOP=m
 # CONFIG_SCSI_MYRB is not set
 # CONFIG_SCSI_MYRS is not set
@@ -2561,7 +2666,6 @@ CONFIG_SCSI_SNIC=m
 # CONFIG_SCSI_SNIC_DEBUG_FS is not set
 CONFIG_SCSI_DMX3191D=m
 # CONFIG_SCSI_FDOMAIN_PCI is not set
-# CONFIG_SCSI_GDTH is not set
 # CONFIG_SCSI_IPS is not set
 CONFIG_SCSI_INITIO=m
 CONFIG_SCSI_INIA100=m
@@ -2580,6 +2684,7 @@ CONFIG_TCM_QLA2XXX=m
 # CONFIG_TCM_QLA2XXX_DEBUG is not set
 CONFIG_SCSI_QLA_ISCSI=m
 # CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_EFCT is not set
 CONFIG_SCSI_DC395x=m
 CONFIG_SCSI_AM53C974=m
 CONFIG_SCSI_WD719X=m
@@ -2758,6 +2863,7 @@ CONFIG_DM_SWITCH=m
 CONFIG_DM_LOG_WRITES=m
 CONFIG_DM_INTEGRITY=m
 CONFIG_DM_ZONED=m
+CONFIG_DM_AUDIT=y
 CONFIG_TARGET_CORE=m
 CONFIG_TCM_IBLOCK=m
 CONFIG_TCM_FILEIO=m
@@ -2800,6 +2906,7 @@ CONFIG_VXLAN=m
 CONFIG_GENEVE=m
 # CONFIG_BAREUDP is not set
 # CONFIG_GTP is not set
+# CONFIG_AMT is not set
 # CONFIG_MACSEC is not set
 CONFIG_NETCONSOLE=m
 CONFIG_NETCONSOLE_DYNAMIC=y
@@ -2834,12 +2941,13 @@ CONFIG_NET_DSA_MV88E6060=m
 # CONFIG_NET_DSA_MICROCHIP_KSZ9477 is not set
 # CONFIG_NET_DSA_MICROCHIP_KSZ8795 is not set
 CONFIG_NET_DSA_MV88E6XXX=m
-CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
 CONFIG_NET_DSA_MV88E6XXX_PTP=y
 # CONFIG_NET_DSA_MSCC_FELIX is not set
 # CONFIG_NET_DSA_MSCC_SEVILLE is not set
 # CONFIG_NET_DSA_AR9331 is not set
 # CONFIG_NET_DSA_SJA1105 is not set
+# CONFIG_NET_DSA_XRS700X_I2C is not set
+# CONFIG_NET_DSA_XRS700X_MDIO is not set
 CONFIG_NET_DSA_QCA8K=m
 # CONFIG_NET_DSA_REALTEK_SMI is not set
 # CONFIG_NET_DSA_SMSC_LAN9303_I2C is not set
@@ -2875,18 +2983,20 @@ CONFIG_NET_VENDOR_AQUANTIA=y
 CONFIG_AQTION=m
 CONFIG_NET_VENDOR_ARC=y
 # CONFIG_EMAC_ROCKCHIP is not set
+CONFIG_NET_VENDOR_ASIX=y
+# CONFIG_SPI_AX88796C is not set
 CONFIG_NET_VENDOR_ATHEROS=y
 CONFIG_ATL2=m
 CONFIG_ATL1=m
 CONFIG_ATL1E=m
 CONFIG_ATL1C=m
 CONFIG_ALX=m
-# CONFIG_NET_VENDOR_AURORA is not set
 CONFIG_NET_VENDOR_BROADCOM=y
 CONFIG_B44=m
 CONFIG_B44_PCI_AUTOSELECT=y
 CONFIG_B44_PCICORE_AUTOSELECT=y
 CONFIG_B44_PCI=y
+CONFIG_BCM4908_ENET=y
 CONFIG_BCMGENET=m
 CONFIG_BNX2=m
 CONFIG_CNIC=m
@@ -2913,6 +3023,8 @@ CONFIG_DL2K=m
 CONFIG_SUNDANCE=m
 # CONFIG_SUNDANCE_MMIO is not set
 # CONFIG_NET_VENDOR_EMULEX is not set
+CONFIG_NET_VENDOR_ENGLEDER=y
+# CONFIG_TSNEP is not set
 # CONFIG_NET_VENDOR_EZCHIP is not set
 CONFIG_NET_VENDOR_FREESCALE=y
 CONFIG_FEC=y
@@ -2925,8 +3037,10 @@ CONFIG_FSL_DPAA_ETH=m
 CONFIG_FSL_DPAA2_ETH=m
 CONFIG_FSL_DPAA2_ETH_DCB=y
 CONFIG_FSL_DPAA2_PTP_CLOCK=m
+# CONFIG_FSL_DPAA2_SWITCH is not set
 # CONFIG_FSL_ENETC is not set
 # CONFIG_FSL_ENETC_VF is not set
+# CONFIG_FSL_ENETC_IERB is not set
 # CONFIG_FSL_ENETC_MDIO is not set
 CONFIG_NET_VENDOR_GOOGLE=y
 # CONFIG_GVE is not set
@@ -2962,7 +3076,10 @@ CONFIG_I40EVF=m
 # CONFIG_ICE is not set
 CONFIG_FM10K=m
 # CONFIG_IGC is not set
+CONFIG_NET_VENDOR_MICROSOFT=y
 CONFIG_JME=m
+CONFIG_NET_VENDOR_LITEX=y
+# CONFIG_LITEX_LITEETH is not set
 CONFIG_NET_VENDOR_MARVELL=y
 CONFIG_MVMDIO=m
 CONFIG_MVNETA=m
@@ -2994,8 +3111,10 @@ CONFIG_MLX5_MPFS=y
 # CONFIG_MLX5_ESWITCH is not set
 # CONFIG_MLX5_CORE_EN_DCB is not set
 # CONFIG_MLX5_CORE_IPOIB is not set
+# CONFIG_MLX5_SF is not set
 # CONFIG_MLXSW_CORE is not set
 # CONFIG_MLXFW is not set
+# CONFIG_MLXBF_GIGE is not set
 CONFIG_NET_VENDOR_MICREL=y
 # CONFIG_KS8842 is not set
 # CONFIG_KS8851 is not set
@@ -3005,6 +3124,7 @@ CONFIG_NET_VENDOR_MICROCHIP=y
 # CONFIG_ENC28J60 is not set
 # CONFIG_ENCX24J600 is not set
 # CONFIG_LAN743X is not set
+# CONFIG_LAN966X_SWITCH is not set
 CONFIG_NET_VENDOR_MICROSEMI=y
 # CONFIG_MSCC_OCELOT_SWITCH is not set
 CONFIG_NET_VENDOR_MYRI=y
@@ -3017,7 +3137,10 @@ CONFIG_NET_VENDOR_NETERION=y
 # CONFIG_S2IO is not set
 # CONFIG_VXGE is not set
 CONFIG_NET_VENDOR_NETRONOME=y
-# CONFIG_NFP is not set
+CONFIG_NFP=m
+CONFIG_NFP_APP_FLOWER=y
+CONFIG_NFP_APP_ABM_NIC=y
+# CONFIG_NFP_DEBUG is not set
 CONFIG_NET_VENDOR_NI=y
 # CONFIG_NI_XGE_MANAGEMENT_ENET is not set
 CONFIG_NET_VENDOR_8390=y
@@ -3081,6 +3204,7 @@ CONFIG_DWMAC_SUNXI=m
 CONFIG_DWMAC_SUN8I=m
 CONFIG_DWMAC_IMX8=m
 # CONFIG_DWMAC_INTEL_PLAT is not set
+# CONFIG_DWMAC_LOONGSON is not set
 # CONFIG_STMMAC_PCI is not set
 # CONFIG_NET_VENDOR_SUN is not set
 CONFIG_NET_VENDOR_SYNOPSYS=y
@@ -3090,12 +3214,15 @@ CONFIG_TEHUTI=m
 CONFIG_NET_VENDOR_TI=y
 # CONFIG_TI_CPSW_PHY_SEL is not set
 # CONFIG_TLAN is not set
+CONFIG_NET_VENDOR_VERTEXCOM=y
+# CONFIG_MSE102X is not set
 CONFIG_NET_VENDOR_VIA=y
 CONFIG_VIA_RHINE=m
 CONFIG_VIA_RHINE_MMIO=y
 CONFIG_VIA_VELOCITY=m
 # CONFIG_NET_VENDOR_WIZNET is not set
 CONFIG_NET_VENDOR_XILINX=y
+# CONFIG_XILINX_EMACLITE is not set
 # CONFIG_XILINX_AXI_EMAC is not set
 # CONFIG_XILINX_LL_TEMAC is not set
 # CONFIG_FDDI is not set
@@ -3116,9 +3243,9 @@ CONFIG_AMD_PHY=m
 CONFIG_MESON_GXL_PHY=m
 # CONFIG_ADIN_PHY is not set
 # CONFIG_AQUANTIA_PHY is not set
-# CONFIG_AX88796B_PHY is not set
+CONFIG_AX88796B_PHY=m
 CONFIG_BROADCOM_PHY=m
-# CONFIG_BCM54140_PHY is not set
+CONFIG_BCM54140_PHY=m
 CONFIG_BCM7XXX_PHY=m
 # CONFIG_BCM84881_PHY is not set
 CONFIG_BCM87XX_PHY=m
@@ -3132,15 +3259,20 @@ CONFIG_LXT_PHY=m
 CONFIG_LSI_ET1011C_PHY=m
 CONFIG_MARVELL_PHY=m
 CONFIG_MARVELL_10G_PHY=m
+# CONFIG_MARVELL_88X2222_PHY is not set
+# CONFIG_MAXLINEAR_GPHY is not set
+# CONFIG_MEDIATEK_GE_PHY is not set
 CONFIG_MICREL_PHY=m
 CONFIG_MICROCHIP_PHY=m
 # CONFIG_MICROCHIP_T1_PHY is not set
 # CONFIG_MICROSEMI_PHY is not set
+# CONFIG_MOTORCOMM_PHY is not set
 CONFIG_NATIONAL_PHY=m
+# CONFIG_NXP_C45_TJA11XX_PHY is not set
 # CONFIG_NXP_TJA11XX_PHY is not set
 CONFIG_AT803X_PHY=y
 CONFIG_QSEMI_PHY=m
-CONFIG_REALTEK_PHY=m
+CONFIG_REALTEK_PHY=y
 # CONFIG_RENESAS_PHY is not set
 CONFIG_ROCKCHIP_PHY=y
 CONFIG_SMSC_PHY=m
@@ -3156,7 +3288,9 @@ CONFIG_VITESSE_PHY=m
 # CONFIG_MICREL_KS8995MA is not set
 CONFIG_MDIO_DEVICE=y
 CONFIG_MDIO_BUS=y
+CONFIG_FWNODE_MDIO=y
 CONFIG_OF_MDIO=y
+CONFIG_ACPI_MDIO=y
 CONFIG_MDIO_DEVRES=y
 # CONFIG_MDIO_SUN4I is not set
 CONFIG_MDIO_XGENE=y
@@ -3248,8 +3382,8 @@ CONFIG_USB_IPHETH=m
 CONFIG_USB_SIERRA_NET=m
 CONFIG_USB_VL600=m
 CONFIG_USB_NET_CH9200=m
-# CONFIG_USB_NET_AQC111 is not set
-# CONFIG_USB_RTL8153_ECM is not set
+CONFIG_USB_NET_AQC111=m
+CONFIG_USB_RTL8153_ECM=m
 CONFIG_WLAN=y
 CONFIG_WLAN_VENDOR_ADMTEK=y
 CONFIG_ADM8211=m
@@ -3340,6 +3474,7 @@ CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
 # CONFIG_B43LEGACY_PIO_MODE is not set
 CONFIG_BRCMUTIL=m
 CONFIG_BRCMSMAC=m
+CONFIG_BRCMSMAC_LEDS=y
 CONFIG_BRCMFMAC=m
 CONFIG_BRCMFMAC_PROTO_BCDC=y
 CONFIG_BRCMFMAC_PROTO_MSGBUF=y
@@ -3377,7 +3512,6 @@ CONFIG_IWLWIFI_LEDS=y
 CONFIG_IWLDVM=m
 CONFIG_IWLMVM=m
 CONFIG_IWLWIFI_OPMODE_MODULAR=y
-# CONFIG_IWLWIFI_BCAST_FILTERING is not set
 
 #
 # Debugging Options
@@ -3405,7 +3539,6 @@ CONFIG_P54_USB=m
 CONFIG_P54_PCI=m
 # CONFIG_P54_SPI is not set
 CONFIG_P54_LEDS=y
-CONFIG_PRISM54=m
 CONFIG_WLAN_VENDOR_MARVELL=y
 CONFIG_LIBERTAS=m
 CONFIG_LIBERTAS_USB=m
@@ -3428,6 +3561,7 @@ CONFIG_MT76_LEDS=y
 CONFIG_MT76_USB=m
 CONFIG_MT76x02_LIB=m
 CONFIG_MT76x02_USB=m
+CONFIG_MT76_CONNAC_LIB=m
 CONFIG_MT76x0_COMMON=m
 CONFIG_MT76x0U=m
 CONFIG_MT76x0E=m
@@ -3438,9 +3572,13 @@ CONFIG_MT7603E=m
 CONFIG_MT7615_COMMON=m
 CONFIG_MT7615E=m
 CONFIG_MT7622_WMAC=y
-# CONFIG_MT7663U is not set
+CONFIG_MT7663_USB_SDIO_COMMON=m
+CONFIG_MT7663U=m
 # CONFIG_MT7663S is not set
-# CONFIG_MT7915E is not set
+CONFIG_MT7915E=m
+CONFIG_MT7921_COMMON=m
+CONFIG_MT7921E=m
+# CONFIG_MT7921S is not set
 CONFIG_WLAN_VENDOR_MICROCHIP=y
 # CONFIG_WILC1000_SDIO is not set
 # CONFIG_WILC1000_SPI is not set
@@ -3497,7 +3635,25 @@ CONFIG_RTL8723_COMMON=m
 CONFIG_RTLBTCOEXIST=m
 CONFIG_RTL8XXXU=m
 # CONFIG_RTL8XXXU_UNTESTED is not set
-# CONFIG_RTW88 is not set
+CONFIG_RTW88=m
+CONFIG_RTW88_CORE=m
+CONFIG_RTW88_PCI=m
+CONFIG_RTW88_8822B=m
+CONFIG_RTW88_8822C=m
+CONFIG_RTW88_8723D=m
+CONFIG_RTW88_8821C=m
+CONFIG_RTW88_8822BE=m
+CONFIG_RTW88_8822CE=m
+CONFIG_RTW88_8723DE=m
+CONFIG_RTW88_8821CE=m
+# CONFIG_RTW88_DEBUG is not set
+# CONFIG_RTW88_DEBUGFS is not set
+CONFIG_RTW89=m
+CONFIG_RTW89_CORE=m
+CONFIG_RTW89_PCI=m
+CONFIG_RTW89_8852AE=m
+# CONFIG_RTW89_DEBUGMSG is not set
+# CONFIG_RTW89_DEBUGFS is not set
 CONFIG_WLAN_VENDOR_RSI=y
 CONFIG_RSI_91X=m
 CONFIG_RSI_DEBUGFS=y
@@ -3539,12 +3695,18 @@ CONFIG_IEEE802154_ATUSB=m
 # CONFIG_IEEE802154_CA8210 is not set
 # CONFIG_IEEE802154_MCR20A is not set
 # CONFIG_IEEE802154_HWSIM is not set
+
+#
+# Wireless WAN
+#
+# CONFIG_WWAN is not set
+# end of Wireless WAN
+
 # CONFIG_VMXNET3 is not set
 # CONFIG_FUJITSU_ES is not set
 # CONFIG_NETDEVSIM is not set
 CONFIG_NET_FAILOVER=m
 # CONFIG_ISDN is not set
-# CONFIG_NVM is not set
 
 #
 # Input device support
@@ -3605,6 +3767,8 @@ CONFIG_KEYBOARD_IMX_SC_KEY=m
 CONFIG_KEYBOARD_CROS_EC=y
 # CONFIG_KEYBOARD_CAP11XX is not set
 # CONFIG_KEYBOARD_BCM is not set
+# CONFIG_KEYBOARD_MTK_PMIC is not set
+# CONFIG_KEYBOARD_CYPRESS_SF is not set
 CONFIG_INPUT_MOUSE=y
 CONFIG_MOUSE_PS2=y
 CONFIG_MOUSE_PS2_ALPS=y
@@ -3623,7 +3787,7 @@ CONFIG_MOUSE_PS2_SMBUS=y
 CONFIG_MOUSE_SERIAL=m
 CONFIG_MOUSE_APPLETOUCH=m
 CONFIG_MOUSE_BCM5974=m
-CONFIG_MOUSE_CYAPA=m
+CONFIG_MOUSE_CYAPA=y
 CONFIG_MOUSE_ELAN_I2C=y
 CONFIG_MOUSE_ELAN_I2C_I2C=y
 CONFIG_MOUSE_ELAN_I2C_SMBUS=y
@@ -3661,6 +3825,7 @@ CONFIG_JOYSTICK_XPAD_FF=y
 CONFIG_JOYSTICK_XPAD_LEDS=y
 # CONFIG_JOYSTICK_PSXPAD_SPI is not set
 # CONFIG_JOYSTICK_PXRC is not set
+# CONFIG_JOYSTICK_QWIIC is not set
 # CONFIG_JOYSTICK_FSIA6B is not set
 CONFIG_INPUT_TABLET=y
 CONFIG_TABLET_USB_ACECAD=m
@@ -3670,7 +3835,6 @@ CONFIG_TABLET_USB_KBTAB=m
 CONFIG_TABLET_USB_PEGASUS=m
 CONFIG_TABLET_SERIAL_WACOM4=m
 CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_PROPERTIES=y
 # CONFIG_TOUCHSCREEN_ADS7846 is not set
 # CONFIG_TOUCHSCREEN_AD7877 is not set
 # CONFIG_TOUCHSCREEN_AD7879 is not set
@@ -3693,20 +3857,23 @@ CONFIG_TOUCHSCREEN_EGALAX=m
 # CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set
 # CONFIG_TOUCHSCREEN_EXC3000 is not set
 CONFIG_TOUCHSCREEN_FUJITSU=m
-# CONFIG_TOUCHSCREEN_GOODIX is not set
+CONFIG_TOUCHSCREEN_GOODIX=m
 # CONFIG_TOUCHSCREEN_HIDEEP is not set
+# CONFIG_TOUCHSCREEN_HYCON_HY46XX is not set
 CONFIG_TOUCHSCREEN_ILI210X=m
+# CONFIG_TOUCHSCREEN_ILITEK is not set
 # CONFIG_TOUCHSCREEN_S6SY761 is not set
 CONFIG_TOUCHSCREEN_GUNZE=m
 # CONFIG_TOUCHSCREEN_EKTF2127 is not set
-CONFIG_TOUCHSCREEN_ELAN=m
+CONFIG_TOUCHSCREEN_ELAN=y
 CONFIG_TOUCHSCREEN_ELO=m
 CONFIG_TOUCHSCREEN_WACOM_W8001=m
 CONFIG_TOUCHSCREEN_WACOM_I2C=m
 # CONFIG_TOUCHSCREEN_MAX11801 is not set
 CONFIG_TOUCHSCREEN_MCS5000=m
 CONFIG_TOUCHSCREEN_MMS114=m
-# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
+CONFIG_TOUCHSCREEN_MELFAS_MIP4=y
+# CONFIG_TOUCHSCREEN_MSG2638 is not set
 CONFIG_TOUCHSCREEN_MTOUCH=m
 # CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
 CONFIG_TOUCHSCREEN_INEXIO=m
@@ -3780,15 +3947,17 @@ CONFIG_INPUT_CM109=m
 # CONFIG_INPUT_REGULATOR_HAPTIC is not set
 CONFIG_INPUT_AXP20X_PEK=m
 CONFIG_INPUT_UINPUT=m
+# CONFIG_INPUT_PALMAS_PWRBUTTON is not set
 # CONFIG_INPUT_PCF8574 is not set
 CONFIG_INPUT_PWM_BEEPER=m
-# CONFIG_INPUT_PWM_VIBRA is not set
+CONFIG_INPUT_PWM_VIBRA=m
 CONFIG_INPUT_RK805_PWRKEY=m
 CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
 # CONFIG_INPUT_DA7280_HAPTICS is not set
 # CONFIG_INPUT_ADXL34X is not set
 # CONFIG_INPUT_IMS_PCU is not set
 # CONFIG_INPUT_IQS269A is not set
+# CONFIG_INPUT_IQS626A is not set
 CONFIG_INPUT_CMA3000=m
 CONFIG_INPUT_CMA3000_I2C=m
 # CONFIG_INPUT_SOC_BUTTON_ARRAY is not set
@@ -3871,7 +4040,8 @@ CONFIG_SERIAL_8250_BCM2835AUX=y
 CONFIG_SERIAL_8250_FSL=y
 CONFIG_SERIAL_8250_DW=y
 # CONFIG_SERIAL_8250_RT288X is not set
-# CONFIG_SERIAL_8250_MT6577 is not set
+CONFIG_SERIAL_8250_MT6577=y
+CONFIG_SERIAL_8250_PERICOM=y
 CONFIG_SERIAL_8250_TEGRA=y
 CONFIG_SERIAL_OF_PLATFORM=y
 
@@ -3885,6 +4055,10 @@ CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y
 # CONFIG_SERIAL_KGDB_NMI is not set
 CONFIG_SERIAL_MESON=y
 CONFIG_SERIAL_MESON_CONSOLE=y
+CONFIG_SERIAL_SAMSUNG=y
+CONFIG_SERIAL_SAMSUNG_UARTS_4=y
+CONFIG_SERIAL_SAMSUNG_UARTS=4
+CONFIG_SERIAL_SAMSUNG_CONSOLE=y
 CONFIG_SERIAL_TEGRA=y
 # CONFIG_SERIAL_TEGRA_TCU is not set
 # CONFIG_SERIAL_MAX3100 is not set
@@ -3899,14 +4073,14 @@ CONFIG_CONSOLE_POLL=y
 CONFIG_SERIAL_JSM=m
 CONFIG_SERIAL_MSM=y
 CONFIG_SERIAL_MSM_CONSOLE=y
-# CONFIG_SERIAL_QCOM_GENI is not set
+CONFIG_SERIAL_QCOM_GENI=y
+CONFIG_SERIAL_QCOM_GENI_CONSOLE=y
 # CONFIG_SERIAL_SIFIVE is not set
 # CONFIG_SERIAL_SCCNXP is not set
 # CONFIG_SERIAL_SC16IS7XX is not set
 # CONFIG_SERIAL_BCM63XX is not set
 # CONFIG_SERIAL_ALTERA_JTAGUART is not set
 # CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_IFX6X60 is not set
 # CONFIG_SERIAL_XILINX_PS_UART is not set
 CONFIG_SERIAL_ARC=m
 CONFIG_SERIAL_ARC_NR_PORTS=1
@@ -3923,20 +4097,16 @@ CONFIG_SERIAL_MVEBU_CONSOLE=y
 
 CONFIG_SERIAL_MCTRL_GPIO=y
 CONFIG_SERIAL_NONSTANDARD=y
-CONFIG_ROCKETPORT=m
-CONFIG_CYCLADES=m
-# CONFIG_CYZ_INTR is not set
 # CONFIG_MOXA_INTELLIO is not set
 # CONFIG_MOXA_SMARTIO is not set
 CONFIG_SYNCLINK_GT=m
-# CONFIG_ISI is not set
 CONFIG_N_HDLC=m
 CONFIG_N_GSM=m
 CONFIG_NOZOMI=m
 # CONFIG_NULL_TTY is not set
-# CONFIG_TRACE_SINK is not set
 CONFIG_HVC_DRIVER=y
 # CONFIG_HVC_DCC is not set
+# CONFIG_RPMSG_TTY is not set
 CONFIG_SERIAL_DEV_BUS=y
 CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
 # CONFIG_TTY_PRINTK is not set
@@ -3948,6 +4118,7 @@ CONFIG_IPMI_PLAT_DATA=y
 CONFIG_IPMI_DEVICE_INTERFACE=m
 CONFIG_IPMI_SI=m
 CONFIG_IPMI_SSIF=m
+# CONFIG_IPMI_IPMB is not set
 CONFIG_IPMI_WATCHDOG=m
 CONFIG_IPMI_POWEROFF=m
 # CONFIG_IPMB_DEVICE_INTERFACE is not set
@@ -3965,15 +4136,18 @@ CONFIG_HW_RANDOM_CAVIUM=y
 CONFIG_HW_RANDOM_MTK=y
 # CONFIG_HW_RANDOM_CCTRNG is not set
 # CONFIG_HW_RANDOM_XIPHERA is not set
+CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
+CONFIG_HW_RANDOM_CN10K=y
 # CONFIG_APPLICOM is not set
 CONFIG_DEVMEM=y
-CONFIG_RAW_DRIVER=y
-CONFIG_MAX_RAW_DEVS=8192
 CONFIG_DEVPORT=y
 CONFIG_TCG_TPM=y
 CONFIG_HW_RANDOM_TPM=y
+CONFIG_TCG_TIS_CORE=y
 # CONFIG_TCG_TIS is not set
-# CONFIG_TCG_TIS_SPI is not set
+CONFIG_TCG_TIS_SPI=y
+CONFIG_TCG_TIS_SPI_CR50=y
+# CONFIG_TCG_TIS_I2C_CR50 is not set
 # CONFIG_TCG_TIS_I2C_ATMEL is not set
 CONFIG_TCG_TIS_I2C_INFINEON=y
 # CONFIG_TCG_TIS_I2C_NUVOTON is not set
@@ -3984,10 +4158,10 @@ CONFIG_TCG_ATMEL=m
 # CONFIG_TCG_TIS_ST33ZP24_I2C is not set
 # CONFIG_TCG_TIS_ST33ZP24_SPI is not set
 # CONFIG_XILLYBUS is not set
-# end of Character devices
-
+# CONFIG_XILLYUSB is not set
 # CONFIG_RANDOM_TRUST_CPU is not set
 # CONFIG_RANDOM_TRUST_BOOTLOADER is not set
+# end of Character devices
 
 #
 # I2C support
@@ -4016,7 +4190,7 @@ CONFIG_I2C_DEMUX_PINCTRL=m
 
 CONFIG_I2C_HELPER_AUTO=y
 CONFIG_I2C_SMBUS=m
-CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOBIT=y
 CONFIG_I2C_ALGOPCA=m
 
 #
@@ -4063,6 +4237,7 @@ CONFIG_I2C_DESIGNWARE_PCI=m
 # CONFIG_I2C_EMEV2 is not set
 CONFIG_I2C_GPIO=m
 # CONFIG_I2C_GPIO_FAULT_INJECTOR is not set
+# CONFIG_I2C_HISI is not set
 CONFIG_I2C_IMX=y
 CONFIG_I2C_IMX_LPI2C=y
 CONFIG_I2C_MESON=y
@@ -4070,11 +4245,12 @@ CONFIG_I2C_MT65XX=y
 CONFIG_I2C_MV64XXX=y
 # CONFIG_I2C_NOMADIK is not set
 # CONFIG_I2C_OCORES is not set
+CONFIG_I2C_APPLE=y
 CONFIG_I2C_PCA_PLATFORM=m
 CONFIG_I2C_PXA=y
 # CONFIG_I2C_PXA_SLAVE is not set
 CONFIG_I2C_QCOM_CCI=m
-CONFIG_I2C_QCOM_GENI=m
+CONFIG_I2C_QCOM_GENI=y
 CONFIG_I2C_QUP=y
 CONFIG_I2C_RK3X=y
 CONFIG_I2C_SIMTEC=m
@@ -4088,6 +4264,7 @@ CONFIG_I2C_VERSATILE=m
 # External I2C/SMBus adapter drivers
 #
 CONFIG_I2C_DIOLAN_U2C=m
+# CONFIG_I2C_CP2615 is not set
 # CONFIG_I2C_ROBOTFUZZ_OSIF is not set
 # CONFIG_I2C_TAOS_EVM is not set
 CONFIG_I2C_TINY_USB=m
@@ -4098,6 +4275,7 @@ CONFIG_I2C_VIPERBOARD=m
 #
 CONFIG_I2C_CROS_EC_TUNNEL=y
 CONFIG_I2C_XGENE_SLIMPRO=m
+# CONFIG_I2C_VIRTIO is not set
 # end of I2C Hardware Bus support
 
 CONFIG_I2C_STUB=m
@@ -4126,9 +4304,11 @@ CONFIG_SPI_BCM2835AUX=m
 CONFIG_SPI_BITBANG=y
 # CONFIG_SPI_CADENCE is not set
 # CONFIG_SPI_CADENCE_QUADSPI is not set
+# CONFIG_SPI_CADENCE_XSPI is not set
 # CONFIG_SPI_DESIGNWARE is not set
 # CONFIG_SPI_FSL_LPSPI is not set
 # CONFIG_SPI_FSL_QUADSPI is not set
+# CONFIG_SPI_HISI_KUNPENG is not set
 # CONFIG_SPI_HISI_SFC_V3XX is not set
 CONFIG_SPI_NXP_FLEXSPI=y
 CONFIG_SPI_GPIO=y
@@ -4138,20 +4318,22 @@ CONFIG_SPI_IMX=m
 CONFIG_SPI_MESON_SPICC=m
 CONFIG_SPI_MESON_SPIFC=m
 CONFIG_SPI_MT65XX=y
-# CONFIG_SPI_MTK_NOR is not set
+CONFIG_SPI_MTK_NOR=y
 # CONFIG_SPI_OC_TINY is not set
 CONFIG_SPI_ORION=y
 CONFIG_SPI_PL022=y
 # CONFIG_SPI_PXA2XX is not set
 CONFIG_SPI_ROCKCHIP=y
+# CONFIG_SPI_ROCKCHIP_SFC is not set
 CONFIG_SPI_QCOM_QSPI=m
 CONFIG_SPI_QUP=y
-CONFIG_SPI_QCOM_GENI=m
+CONFIG_SPI_QCOM_GENI=y
 # CONFIG_SPI_SC18IS602 is not set
 # CONFIG_SPI_SIFIVE is not set
 # CONFIG_SPI_SUN4I is not set
 CONFIG_SPI_SUN6I=y
 # CONFIG_SPI_MXIC is not set
+# CONFIG_SPI_TEGRA210_QUAD is not set
 # CONFIG_SPI_TEGRA114 is not set
 # CONFIG_SPI_TEGRA20_SFLASH is not set
 # CONFIG_SPI_TEGRA20_SLINK is not set
@@ -4175,7 +4357,9 @@ CONFIG_SPI_SPIDEV=m
 # CONFIG_SPI_SLAVE is not set
 CONFIG_SPI_DYNAMIC=y
 CONFIG_SPMI=y
+# CONFIG_SPMI_HISI3670 is not set
 CONFIG_SPMI_MSM_PMIC_ARB=y
+# CONFIG_SPMI_MTK_PMIF is not set
 # CONFIG_HSI is not set
 CONFIG_PPS=y
 # CONFIG_PPS_DEBUG is not set
@@ -4195,9 +4379,11 @@ CONFIG_PPS_CLIENT_GPIO=m
 # PTP clock support
 #
 CONFIG_PTP_1588_CLOCK=y
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
 CONFIG_PTP_1588_CLOCK_QORIQ=m
 CONFIG_DP83640_PHY=m
 # CONFIG_PTP_1588_CLOCK_INES is not set
+CONFIG_PTP_1588_CLOCK_KVM=y
 # CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
 # CONFIG_PTP_1588_CLOCK_IDTCM is not set
 # CONFIG_PTP_1588_CLOCK_OCP is not set
@@ -4210,17 +4396,20 @@ CONFIG_GENERIC_PINMUX_FUNCTIONS=y
 CONFIG_PINCONF=y
 CONFIG_GENERIC_PINCONF=y
 # CONFIG_DEBUG_PINCTRL is not set
-CONFIG_PINCTRL_AXP209=y
 CONFIG_PINCTRL_AMD=y
+CONFIG_PINCTRL_APPLE_GPIO=y
+# CONFIG_PINCTRL_AS3722 is not set
+CONFIG_PINCTRL_AXP209=y
+CONFIG_PINCTRL_MAX77620=y
 # CONFIG_PINCTRL_MCP23S08 is not set
+# CONFIG_PINCTRL_MICROCHIP_SGPIO is not set
+# CONFIG_PINCTRL_OCELOT is not set
+# CONFIG_PINCTRL_PALMAS is not set
+CONFIG_PINCTRL_RK805=y
 CONFIG_PINCTRL_ROCKCHIP=y
 CONFIG_PINCTRL_SINGLE=y
-# CONFIG_PINCTRL_SX150X is not set
 # CONFIG_PINCTRL_STMFX is not set
-CONFIG_PINCTRL_MAX77620=y
-CONFIG_PINCTRL_RK805=y
-# CONFIG_PINCTRL_OCELOT is not set
-# CONFIG_PINCTRL_MICROCHIP_SGPIO is not set
+# CONFIG_PINCTRL_SX150X is not set
 CONFIG_PINCTRL_BCM2835=y
 CONFIG_PINCTRL_IMX=y
 CONFIG_PINCTRL_IMX_SCU=y
@@ -4228,9 +4417,44 @@ CONFIG_PINCTRL_IMX8MM=y
 CONFIG_PINCTRL_IMX8MN=y
 CONFIG_PINCTRL_IMX8MP=y
 CONFIG_PINCTRL_IMX8MQ=y
-# CONFIG_PINCTRL_IMX8QM is not set
+CONFIG_PINCTRL_IMX8QM=y
 CONFIG_PINCTRL_IMX8QXP=y
 CONFIG_PINCTRL_IMX8DXL=y
+CONFIG_PINCTRL_IMX8ULP=y
+# CONFIG_PINCTRL_IMXRT1050 is not set
+
+#
+# MediaTek pinctrl drivers
+#
+CONFIG_EINT_MTK=y
+CONFIG_PINCTRL_MTK=y
+CONFIG_PINCTRL_MTK_V2=y
+CONFIG_PINCTRL_MTK_MOORE=y
+CONFIG_PINCTRL_MTK_PARIS=y
+CONFIG_PINCTRL_MT2712=y
+CONFIG_PINCTRL_MT6765=y
+CONFIG_PINCTRL_MT6779=y
+CONFIG_PINCTRL_MT6797=y
+CONFIG_PINCTRL_MT7622=y
+CONFIG_PINCTRL_MT7986=y
+CONFIG_PINCTRL_MT8167=y
+CONFIG_PINCTRL_MT8173=y
+CONFIG_PINCTRL_MT8183=y
+CONFIG_PINCTRL_MT8192=y
+# CONFIG_PINCTRL_MT8195 is not set
+CONFIG_PINCTRL_MT8365=y
+CONFIG_PINCTRL_MT8516=y
+CONFIG_PINCTRL_MT6397=y
+# end of MediaTek pinctrl drivers
+
+CONFIG_PINCTRL_MESON=y
+CONFIG_PINCTRL_MESON_GXBB=y
+CONFIG_PINCTRL_MESON_GXL=y
+CONFIG_PINCTRL_MESON8_PMX=y
+CONFIG_PINCTRL_MESON_AXG=y
+CONFIG_PINCTRL_MESON_AXG_PMX=y
+CONFIG_PINCTRL_MESON_G12A=y
+CONFIG_PINCTRL_MESON_A1=y
 CONFIG_PINCTRL_MVEBU=y
 CONFIG_PINCTRL_ARMADA_AP806=y
 CONFIG_PINCTRL_ARMADA_CP110=y
@@ -4245,6 +4469,7 @@ CONFIG_PINCTRL_IPQ6018=y
 # CONFIG_PINCTRL_MSM8226 is not set
 # CONFIG_PINCTRL_MSM8660 is not set
 # CONFIG_PINCTRL_MSM8960 is not set
+# CONFIG_PINCTRL_MDM9607 is not set
 # CONFIG_PINCTRL_MDM9615 is not set
 # CONFIG_PINCTRL_MSM8X74 is not set
 CONFIG_PINCTRL_MSM8916=y
@@ -4253,18 +4478,26 @@ CONFIG_PINCTRL_MSM8916=y
 CONFIG_PINCTRL_MSM8994=y
 CONFIG_PINCTRL_MSM8996=y
 # CONFIG_PINCTRL_MSM8998 is not set
+# CONFIG_PINCTRL_QCM2290 is not set
 # CONFIG_PINCTRL_QCS404 is not set
 # CONFIG_PINCTRL_QDF2XXX is not set
 CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
 CONFIG_PINCTRL_QCOM_SSBI_PMIC=y
 CONFIG_PINCTRL_SC7180=y
-# CONFIG_PINCTRL_SC7280 is not set
+CONFIG_PINCTRL_SC7280=y
+# CONFIG_PINCTRL_SC8180X is not set
 # CONFIG_PINCTRL_SDM660 is not set
 CONFIG_PINCTRL_SDM845=y
 # CONFIG_PINCTRL_SDX55 is not set
+# CONFIG_PINCTRL_SM6115 is not set
+# CONFIG_PINCTRL_SM6125 is not set
+# CONFIG_PINCTRL_SM6350 is not set
+# CONFIG_PINCTRL_SDX65 is not set
 CONFIG_PINCTRL_SM8150=y
 CONFIG_PINCTRL_SM8250=y
-# CONFIG_PINCTRL_LPASS_LPI is not set
+CONFIG_PINCTRL_SM8350=y
+# CONFIG_PINCTRL_SM8450 is not set
+CONFIG_PINCTRL_LPASS_LPI=m
 
 #
 # Renesas pinctrl drivers
@@ -4293,40 +4526,13 @@ CONFIG_PINCTRL_SUN50I_A100_R=y
 CONFIG_PINCTRL_SUN50I_H5=y
 CONFIG_PINCTRL_SUN50I_H6=y
 CONFIG_PINCTRL_SUN50I_H6_R=y
+CONFIG_PINCTRL_SUN50I_H616=y
+CONFIG_PINCTRL_SUN50I_H616_R=y
 CONFIG_PINCTRL_TEGRA=y
 CONFIG_PINCTRL_TEGRA124=y
 CONFIG_PINCTRL_TEGRA210=y
 CONFIG_PINCTRL_TEGRA194=y
 CONFIG_PINCTRL_TEGRA_XUSB=y
-
-#
-# MediaTek pinctrl drivers
-#
-CONFIG_EINT_MTK=y
-CONFIG_PINCTRL_MTK=y
-CONFIG_PINCTRL_MTK_V2=y
-CONFIG_PINCTRL_MTK_MOORE=y
-CONFIG_PINCTRL_MTK_PARIS=y
-CONFIG_PINCTRL_MT2712=y
-CONFIG_PINCTRL_MT6765=y
-CONFIG_PINCTRL_MT6779=y
-CONFIG_PINCTRL_MT6797=y
-CONFIG_PINCTRL_MT7622=y
-CONFIG_PINCTRL_MT8167=y
-CONFIG_PINCTRL_MT8173=y
-CONFIG_PINCTRL_MT8183=y
-CONFIG_PINCTRL_MT8192=y
-CONFIG_PINCTRL_MT8516=y
-# end of MediaTek pinctrl drivers
-
-CONFIG_PINCTRL_MESON=y
-CONFIG_PINCTRL_MESON_GXBB=y
-CONFIG_PINCTRL_MESON_GXL=y
-CONFIG_PINCTRL_MESON8_PMX=y
-CONFIG_PINCTRL_MESON_AXG=y
-CONFIG_PINCTRL_MESON_AXG_PMX=y
-CONFIG_PINCTRL_MESON_G12A=y
-CONFIG_PINCTRL_MESON_A1=y
 CONFIG_GPIOLIB=y
 CONFIG_GPIOLIB_FASTPATH_LIMIT=512
 CONFIG_OF_GPIO=y
@@ -4360,6 +4566,7 @@ CONFIG_GPIO_MPC8XXX=y
 CONFIG_GPIO_MVEBU=y
 CONFIG_GPIO_MXC=y
 CONFIG_GPIO_PL061=y
+CONFIG_GPIO_ROCKCHIP=y
 # CONFIG_GPIO_SAMA5D2_PIOBU is not set
 # CONFIG_GPIO_SIFIVE is not set
 CONFIG_GPIO_SYSCON=y
@@ -4392,7 +4599,10 @@ CONFIG_GPIO_PCA953X_IRQ=y
 # MFD GPIO expanders
 #
 CONFIG_GPIO_MAX77620=y
+CONFIG_GPIO_PALMAS=y
 CONFIG_GPIO_SL28CPLD=m
+# CONFIG_GPIO_TPS6586X is not set
+# CONFIG_GPIO_WM8994 is not set
 # end of MFD GPIO expanders
 
 #
@@ -4425,6 +4635,8 @@ CONFIG_GPIO_VIPERBOARD=m
 #
 # CONFIG_GPIO_AGGREGATOR is not set
 # CONFIG_GPIO_MOCKUP is not set
+# CONFIG_GPIO_VIRTIO is not set
+# CONFIG_GPIO_SIM is not set
 # end of Virtual GPIO drivers
 
 CONFIG_W1=m
@@ -4467,6 +4679,7 @@ CONFIG_W1_SLAVE_DS28E04=m
 # end of 1-wire Slaves
 
 CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_AS3722=y
 # CONFIG_POWER_RESET_BRCMSTB is not set
 CONFIG_POWER_RESET_GPIO=y
 CONFIG_POWER_RESET_GPIO_RESTART=y
@@ -4475,6 +4688,7 @@ CONFIG_POWER_RESET_HISI=y
 CONFIG_POWER_RESET_MSM=y
 CONFIG_POWER_RESET_QCOM_PON=m
 # CONFIG_POWER_RESET_LTC2952 is not set
+# CONFIG_POWER_RESET_MT6323 is not set
 # CONFIG_POWER_RESET_REGULATOR is not set
 CONFIG_POWER_RESET_RESTART=y
 CONFIG_POWER_RESET_VEXPRESS=y
@@ -4503,29 +4717,35 @@ CONFIG_MANAGER_SBS=m
 CONFIG_CHARGER_AXP20X=m
 CONFIG_BATTERY_AXP20X=m
 CONFIG_AXP20X_POWER=m
-# CONFIG_AXP288_FUEL_GAUGE is not set
 # CONFIG_BATTERY_MAX17040 is not set
 CONFIG_BATTERY_MAX17042=m
 # CONFIG_BATTERY_MAX1721X is not set
 # CONFIG_CHARGER_ISP1704 is not set
 # CONFIG_CHARGER_MAX8903 is not set
 # CONFIG_CHARGER_LP8727 is not set
-# CONFIG_CHARGER_GPIO is not set
+CONFIG_CHARGER_GPIO=m
 # CONFIG_CHARGER_MANAGER is not set
 # CONFIG_CHARGER_LT3651 is not set
+# CONFIG_CHARGER_LTC4162L is not set
 # CONFIG_CHARGER_DETECTOR_MAX14656 is not set
+# CONFIG_CHARGER_MAX77976 is not set
 CONFIG_CHARGER_QCOM_SMBB=m
 # CONFIG_CHARGER_BQ2415X is not set
 # CONFIG_CHARGER_BQ24190 is not set
 # CONFIG_CHARGER_BQ24257 is not set
 # CONFIG_CHARGER_BQ24735 is not set
 # CONFIG_CHARGER_BQ2515X is not set
-# CONFIG_CHARGER_BQ25890 is not set
+CONFIG_CHARGER_BQ25890=m
 CONFIG_CHARGER_BQ25980=m
+# CONFIG_CHARGER_BQ256XX is not set
 CONFIG_CHARGER_SMB347=m
+# CONFIG_CHARGER_TPS65090 is not set
 # CONFIG_BATTERY_GAUGE_LTC2941 is not set
+# CONFIG_BATTERY_GOLDFISH is not set
+# CONFIG_BATTERY_RT5033 is not set
 # CONFIG_CHARGER_RT9455 is not set
 CONFIG_CHARGER_CROS_USBPD=m
+CONFIG_CHARGER_CROS_PCHG=y
 # CONFIG_CHARGER_UCS1002 is not set
 # CONFIG_CHARGER_BD99954 is not set
 CONFIG_HWMON=y
@@ -4552,6 +4772,8 @@ CONFIG_SENSORS_ADT7411=m
 CONFIG_SENSORS_ADT7462=m
 CONFIG_SENSORS_ADT7470=m
 CONFIG_SENSORS_ADT7475=m
+# CONFIG_SENSORS_AHT10 is not set
+# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
 # CONFIG_SENSORS_AS370 is not set
 CONFIG_SENSORS_ASC7621=m
 # CONFIG_SENSORS_AXI_FAN_CONTROL is not set
@@ -4579,7 +4801,7 @@ CONFIG_SENSORS_IBMAEM=m
 CONFIG_SENSORS_IBMPEX=m
 CONFIG_SENSORS_IIO_HWMON=m
 CONFIG_SENSORS_IT87=m
-# CONFIG_SENSORS_JC42 is not set
+CONFIG_SENSORS_JC42=m
 CONFIG_SENSORS_POWR1220=m
 CONFIG_SENSORS_LINEAGE=m
 CONFIG_SENSORS_LTC2945=m
@@ -4601,6 +4823,7 @@ CONFIG_SENSORS_MAX1668=m
 CONFIG_SENSORS_MAX197=m
 # CONFIG_SENSORS_MAX31722 is not set
 # CONFIG_SENSORS_MAX31730 is not set
+# CONFIG_SENSORS_MAX6620 is not set
 # CONFIG_SENSORS_MAX6621 is not set
 CONFIG_SENSORS_MAX6639=m
 CONFIG_SENSORS_MAX6642=m
@@ -4609,6 +4832,7 @@ CONFIG_SENSORS_MAX6697=m
 # CONFIG_SENSORS_MAX31790 is not set
 CONFIG_SENSORS_MCP3021=m
 # CONFIG_SENSORS_TC654 is not set
+# CONFIG_SENSORS_TPS23861 is not set
 # CONFIG_SENSORS_MR75203 is not set
 # CONFIG_SENSORS_ADCXX is not set
 CONFIG_SENSORS_LM63=m
@@ -4635,6 +4859,8 @@ CONFIG_SENSORS_NCT6775=m
 CONFIG_SENSORS_NCT7802=m
 CONFIG_SENSORS_NCT7904=m
 # CONFIG_SENSORS_NPCM7XX is not set
+# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
+# CONFIG_SENSORS_NZXT_SMART2 is not set
 # CONFIG_SENSORS_OCC_P8_I2C is not set
 CONFIG_SENSORS_PCF8591=m
 CONFIG_PMBUS=m
@@ -4642,9 +4868,14 @@ CONFIG_SENSORS_PMBUS=m
 # CONFIG_SENSORS_ADM1266 is not set
 CONFIG_SENSORS_ADM1275=m
 # CONFIG_SENSORS_BEL_PFE is not set
+# CONFIG_SENSORS_BPA_RS600 is not set
+# CONFIG_SENSORS_DELTA_AHE50DC_FAN is not set
+# CONFIG_SENSORS_FSP_3Y is not set
 # CONFIG_SENSORS_IBM_CFFPS is not set
+# CONFIG_SENSORS_DPS920AB is not set
 # CONFIG_SENSORS_INSPUR_IPSPS is not set
 # CONFIG_SENSORS_IR35221 is not set
+# CONFIG_SENSORS_IR36021 is not set
 # CONFIG_SENSORS_IR38064 is not set
 # CONFIG_SENSORS_IRPS5401 is not set
 # CONFIG_SENSORS_ISL68137 is not set
@@ -4652,6 +4883,7 @@ CONFIG_SENSORS_LM25066=m
 CONFIG_SENSORS_LTC2978=m
 # CONFIG_SENSORS_LTC2978_REGULATOR is not set
 # CONFIG_SENSORS_LTC3815 is not set
+# CONFIG_SENSORS_MAX15301 is not set
 CONFIG_SENSORS_MAX16064=m
 # CONFIG_SENSORS_MAX16601 is not set
 # CONFIG_SENSORS_MAX20730 is not set
@@ -4659,10 +4891,14 @@ CONFIG_SENSORS_MAX16064=m
 # CONFIG_SENSORS_MAX31785 is not set
 CONFIG_SENSORS_MAX34440=m
 CONFIG_SENSORS_MAX8688=m
+# CONFIG_SENSORS_MP2888 is not set
 # CONFIG_SENSORS_MP2975 is not set
+# CONFIG_SENSORS_MP5023 is not set
+# CONFIG_SENSORS_PIM4328 is not set
 # CONFIG_SENSORS_PM6764TR is not set
 # CONFIG_SENSORS_PXE1610 is not set
 # CONFIG_SENSORS_Q54SJ108A2 is not set
+# CONFIG_SENSORS_STPDDC60 is not set
 CONFIG_SENSORS_TPS40422=m
 # CONFIG_SENSORS_TPS53679 is not set
 CONFIG_SENSORS_UCD9000=m
@@ -4673,9 +4909,11 @@ CONFIG_SENSORS_PWM_FAN=m
 CONFIG_SENSORS_RASPBERRYPI_HWMON=m
 CONFIG_SENSORS_SL28CPLD=m
 # CONFIG_SENSORS_SBTSI is not set
+# CONFIG_SENSORS_SBRMI is not set
 CONFIG_SENSORS_SHT15=m
 CONFIG_SENSORS_SHT21=m
 CONFIG_SENSORS_SHT3x=m
+# CONFIG_SENSORS_SHT4x is not set
 CONFIG_SENSORS_SHTC1=m
 CONFIG_SENSORS_SIS5595=m
 CONFIG_SENSORS_DME1737=m
@@ -4696,6 +4934,7 @@ CONFIG_SENSORS_ADS7828=m
 CONFIG_SENSORS_AMC6821=m
 CONFIG_SENSORS_INA209=m
 CONFIG_SENSORS_INA2XX=m
+# CONFIG_SENSORS_INA238 is not set
 CONFIG_SENSORS_INA3221=m
 CONFIG_SENSORS_TC74=m
 CONFIG_SENSORS_THMC50=m
@@ -4779,7 +5018,9 @@ CONFIG_GENERIC_ADC_THERMAL=m
 # Qualcomm thermal drivers
 #
 CONFIG_QCOM_TSENS=m
+CONFIG_QCOM_SPMI_ADC_TM5=m
 CONFIG_QCOM_SPMI_TEMP_ALARM=m
+CONFIG_QCOM_LMH=m
 # end of Qualcomm thermal drivers
 
 CONFIG_WATCHDOG=y
@@ -4788,6 +5029,7 @@ CONFIG_WATCHDOG_CORE=y
 CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
 CONFIG_WATCHDOG_OPEN_TIMEOUT=0
 # CONFIG_WATCHDOG_SYSFS is not set
+# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set
 
 #
 # Watchdog Pretimeout Governors
@@ -4821,6 +5063,7 @@ CONFIG_MESON_WATCHDOG=m
 CONFIG_MEDIATEK_WATCHDOG=m
 CONFIG_ARM_SMC_WATCHDOG=y
 # CONFIG_PM8916_WATCHDOG is not set
+CONFIG_APPLE_WATCHDOG=m
 CONFIG_ALIM7101_WDT=m
 CONFIG_I6300ESB_WDT=m
 CONFIG_BCM2835_WDT=m
@@ -4866,7 +5109,7 @@ CONFIG_MFD_CORE=y
 # CONFIG_MFD_ACT8945A is not set
 # CONFIG_MFD_SUN4I_GPADC is not set
 # CONFIG_MFD_AS3711 is not set
-# CONFIG_MFD_AS3722 is not set
+CONFIG_MFD_AS3722=y
 # CONFIG_PMIC_ADP5520 is not set
 # CONFIG_MFD_AAT2870_CORE is not set
 # CONFIG_MFD_ATMEL_FLEXCOM is not set
@@ -4892,12 +5135,12 @@ CONFIG_MFD_CROS_EC_DEV=y
 # CONFIG_MFD_MC13XXX_I2C is not set
 # CONFIG_MFD_MP2629 is not set
 # CONFIG_MFD_HI6421_PMIC is not set
+# CONFIG_MFD_HI6421_SPMI is not set
 CONFIG_MFD_HI655X_PMIC=y
 # CONFIG_HTC_PASIC3 is not set
 # CONFIG_HTC_I2CPLD is not set
 # CONFIG_LPC_ICH is not set
 # CONFIG_LPC_SCH is not set
-# CONFIG_MFD_INTEL_PMT is not set
 # CONFIG_MFD_IQS62X is not set
 # CONFIG_MFD_JANZ_CMODIO is not set
 # CONFIG_MFD_KEMPLD is not set
@@ -4915,17 +5158,19 @@ CONFIG_MFD_MAX77620=y
 # CONFIG_MFD_MAX8997 is not set
 # CONFIG_MFD_MAX8998 is not set
 # CONFIG_MFD_MT6360 is not set
-# CONFIG_MFD_MT6397 is not set
+CONFIG_MFD_MT6397=y
 # CONFIG_MFD_MENF21BMC is not set
 # CONFIG_EZX_PCAP is not set
 # CONFIG_MFD_CPCAP is not set
 CONFIG_MFD_VIPERBOARD=m
+# CONFIG_MFD_NTXEC is not set
 # CONFIG_MFD_RETU is not set
 # CONFIG_MFD_PCF50633 is not set
 # CONFIG_UCB1400_CORE is not set
 CONFIG_MFD_QCOM_RPM=y
 CONFIG_MFD_SPMI_PMIC=y
 # CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RT4831 is not set
 # CONFIG_MFD_RT5033 is not set
 # CONFIG_MFD_RC5T583 is not set
 CONFIG_MFD_RK808=y
@@ -4937,7 +5182,6 @@ CONFIG_MFD_SL28CPLD=m
 CONFIG_MFD_SM501=m
 CONFIG_MFD_SM501_GPIO=y
 # CONFIG_MFD_SKY81452 is not set
-# CONFIG_ABX500_CORE is not set
 # CONFIG_MFD_STMPE is not set
 CONFIG_MFD_SUN6I_PRCM=y
 CONFIG_MFD_SYSCON=y
@@ -4945,22 +5189,20 @@ CONFIG_MFD_SYSCON=y
 # CONFIG_MFD_LP3943 is not set
 # CONFIG_MFD_LP8788 is not set
 # CONFIG_MFD_TI_LMU is not set
-# CONFIG_MFD_PALMAS is not set
+CONFIG_MFD_PALMAS=y
 # CONFIG_TPS6105X is not set
 # CONFIG_TPS65010 is not set
 # CONFIG_TPS6507X is not set
 # CONFIG_MFD_TPS65086 is not set
-# CONFIG_MFD_TPS65090 is not set
+CONFIG_MFD_TPS65090=y
 # CONFIG_MFD_TPS65217 is not set
-# CONFIG_MFD_TPS68470 is not set
 # CONFIG_MFD_TI_LP873X is not set
 # CONFIG_MFD_TI_LP87565 is not set
 # CONFIG_MFD_TPS65218 is not set
-# CONFIG_MFD_TPS6586X is not set
+CONFIG_MFD_TPS6586X=y
 # CONFIG_MFD_TPS65910 is not set
 # CONFIG_MFD_TPS65912_I2C is not set
 # CONFIG_MFD_TPS65912_SPI is not set
-# CONFIG_MFD_TPS80031 is not set
 # CONFIG_TWL4030_CORE is not set
 # CONFIG_TWL6040_CORE is not set
 CONFIG_MFD_WL1273_CORE=m
@@ -4975,17 +5217,21 @@ CONFIG_MFD_VX855=m
 # CONFIG_MFD_WM831X_I2C is not set
 # CONFIG_MFD_WM831X_SPI is not set
 # CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8994 is not set
+CONFIG_MFD_WM8994=m
 CONFIG_MFD_ROHM_BD718XX=y
-# CONFIG_MFD_ROHM_BD70528 is not set
 # CONFIG_MFD_ROHM_BD71828 is not set
+# CONFIG_MFD_ROHM_BD957XMUF is not set
 # CONFIG_MFD_STPMIC1 is not set
 # CONFIG_MFD_STMFX is not set
 CONFIG_MFD_WCD934X=m
+# CONFIG_MFD_ATC260X_I2C is not set
 # CONFIG_MFD_KHADAS_MCU is not set
+# CONFIG_MFD_QCOM_PM8008 is not set
 CONFIG_MFD_VEXPRESS_SYSREG=y
 # CONFIG_RAVE_SP_CORE is not set
 # CONFIG_MFD_INTEL_M10_BMC is not set
+# CONFIG_MFD_RSMU_I2C is not set
+# CONFIG_MFD_RSMU_SPI is not set
 # end of Multifunction device drivers
 
 CONFIG_REGULATOR=y
@@ -4998,12 +5244,13 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y
 # CONFIG_REGULATOR_AD5398 is not set
 # CONFIG_REGULATOR_ANATOP is not set
 # CONFIG_REGULATOR_ARM_SCMI is not set
+CONFIG_REGULATOR_AS3722=y
 CONFIG_REGULATOR_AXP20X=y
 CONFIG_REGULATOR_BD718XX=y
-# CONFIG_REGULATOR_CROS_EC is not set
+CONFIG_REGULATOR_CROS_EC=y
 # CONFIG_REGULATOR_DA9121 is not set
 # CONFIG_REGULATOR_DA9210 is not set
-# CONFIG_REGULATOR_DA9211 is not set
+CONFIG_REGULATOR_DA9211=y
 CONFIG_REGULATOR_FAN53555=y
 # CONFIG_REGULATOR_FAN53880 is not set
 CONFIG_REGULATOR_GPIO=y
@@ -5020,25 +5267,33 @@ CONFIG_REGULATOR_HI655X=y
 CONFIG_REGULATOR_MAX77620=y
 # CONFIG_REGULATOR_MAX8649 is not set
 # CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_MAX8893 is not set
 # CONFIG_REGULATOR_MAX8952 is not set
-# CONFIG_REGULATOR_MAX8973 is not set
+CONFIG_REGULATOR_MAX8973=y
+# CONFIG_REGULATOR_MAX20086 is not set
 # CONFIG_REGULATOR_MAX77826 is not set
 # CONFIG_REGULATOR_MCP16502 is not set
 # CONFIG_REGULATOR_MP5416 is not set
-# CONFIG_REGULATOR_MP8859 is not set
+CONFIG_REGULATOR_MP8859=y
 # CONFIG_REGULATOR_MP886X is not set
 # CONFIG_REGULATOR_MPQ7920 is not set
-# CONFIG_REGULATOR_MT6311 is not set
+CONFIG_REGULATOR_MT6311=y
+CONFIG_REGULATOR_MT6315=y
+# CONFIG_REGULATOR_MT6323 is not set
+CONFIG_REGULATOR_MT6358=y
+# CONFIG_REGULATOR_MT6359 is not set
 # CONFIG_REGULATOR_MT6380 is not set
+CONFIG_REGULATOR_MT6397=y
+CONFIG_REGULATOR_PALMAS=y
 CONFIG_REGULATOR_PCA9450=y
-# CONFIG_REGULATOR_PF8X00 is not set
+CONFIG_REGULATOR_PF8X00=y
 CONFIG_REGULATOR_PFUZE100=y
 # CONFIG_REGULATOR_PV88060 is not set
 # CONFIG_REGULATOR_PV88080 is not set
 # CONFIG_REGULATOR_PV88090 is not set
 CONFIG_REGULATOR_PWM=y
 CONFIG_REGULATOR_QCOM_RPM=y
-# CONFIG_REGULATOR_QCOM_RPMH is not set
+CONFIG_REGULATOR_QCOM_RPMH=y
 CONFIG_REGULATOR_QCOM_SMD_RPM=y
 CONFIG_REGULATOR_QCOM_SPMI=y
 # CONFIG_REGULATOR_QCOM_USB_VBUS is not set
@@ -5046,7 +5301,11 @@ CONFIG_REGULATOR_QCOM_SPMI=y
 CONFIG_REGULATOR_RK808=y
 CONFIG_REGULATOR_ROHM=y
 # CONFIG_REGULATOR_RT4801 is not set
+# CONFIG_REGULATOR_RT6160 is not set
+# CONFIG_REGULATOR_RT6245 is not set
+# CONFIG_REGULATOR_RTQ2134 is not set
 # CONFIG_REGULATOR_RTMV20 is not set
+# CONFIG_REGULATOR_RTQ6752 is not set
 # CONFIG_REGULATOR_S2MPA01 is not set
 CONFIG_REGULATOR_S2MPS11=y
 # CONFIG_REGULATOR_S5M8767 is not set
@@ -5054,15 +5313,18 @@ CONFIG_REGULATOR_S2MPS11=y
 # CONFIG_REGULATOR_SY8106A is not set
 # CONFIG_REGULATOR_SY8824X is not set
 # CONFIG_REGULATOR_SY8827N is not set
-# CONFIG_REGULATOR_TPS51632 is not set
-# CONFIG_REGULATOR_TPS62360 is not set
+CONFIG_REGULATOR_TPS51632=y
+CONFIG_REGULATOR_TPS62360=y
 # CONFIG_REGULATOR_TPS65023 is not set
 # CONFIG_REGULATOR_TPS6507X is not set
+# CONFIG_REGULATOR_TPS65090 is not set
 CONFIG_REGULATOR_TPS65132=m
 # CONFIG_REGULATOR_TPS6524X is not set
+CONFIG_REGULATOR_TPS6586X=y
 CONFIG_REGULATOR_VCTRL=y
 CONFIG_REGULATOR_VEXPRESS=y
 # CONFIG_REGULATOR_VQMMC_IPQ4019 is not set
+# CONFIG_REGULATOR_WM8994 is not set
 # CONFIG_REGULATOR_QCOM_LABIBB is not set
 CONFIG_RC_CORE=m
 CONFIG_RC_MAP=m
@@ -5089,6 +5351,7 @@ CONFIG_IR_MCEUSB=m
 CONFIG_IR_ITE_CIR=m
 CONFIG_IR_FINTEK=m
 CONFIG_IR_MESON=m
+# CONFIG_IR_MESON_TX is not set
 CONFIG_IR_MTK=m
 CONFIG_IR_NUVOTON=m
 CONFIG_IR_REDRAT3=m
@@ -5104,12 +5367,15 @@ CONFIG_IR_PWM_TX=m
 CONFIG_IR_SUNXI=m
 CONFIG_IR_SERIAL=m
 CONFIG_IR_SERIAL_TRANSMITTER=y
-CONFIG_IR_SIR=m
 # CONFIG_RC_XBOX_DVD is not set
 CONFIG_IR_TOY=m
 CONFIG_CEC_CORE=m
 CONFIG_CEC_NOTIFIER=y
 CONFIG_CEC_PIN=y
+
+#
+# CEC support
+#
 CONFIG_MEDIA_CEC_RC=y
 # CONFIG_CEC_PIN_ERROR_INJ is not set
 CONFIG_MEDIA_CEC_SUPPORT=y
@@ -5120,6 +5386,8 @@ CONFIG_CEC_MESON_G12A_AO=m
 CONFIG_CEC_TEGRA=m
 CONFIG_USB_PULSE8_CEC=m
 CONFIG_USB_RAINSHADOW_CEC=m
+# end of CEC support
+
 CONFIG_MEDIA_SUPPORT=m
 # CONFIG_MEDIA_SUPPORT_FILTER is not set
 CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
@@ -5154,9 +5422,11 @@ CONFIG_VIDEO_V4L2_SUBDEV_API=y
 # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
 CONFIG_VIDEO_TUNER=m
 CONFIG_V4L2_H264=m
+CONFIG_V4L2_VP9=m
 CONFIG_V4L2_MEM2MEM_DEV=m
 # CONFIG_V4L2_FLASH_LED_CLASS is not set
 CONFIG_V4L2_FWNODE=m
+CONFIG_V4L2_ASYNC=m
 CONFIG_VIDEOBUF_GEN=m
 CONFIG_VIDEOBUF_DMA_SG=m
 CONFIG_VIDEOBUF_VMALLOC=m
@@ -5167,10 +5437,6 @@ CONFIG_VIDEOBUF_VMALLOC=m
 #
 CONFIG_MEDIA_CONTROLLER_DVB=y
 CONFIG_MEDIA_CONTROLLER_REQUEST_API=y
-
-#
-# Please notice that the enabled Media controller Request API is EXPERIMENTAL
-#
 # end of Media controller options
 
 #
@@ -5187,7 +5453,6 @@ CONFIG_DVB_DYNAMIC_MINORS=y
 #
 # Media drivers
 #
-CONFIG_TTPCI_EEPROM=m
 CONFIG_MEDIA_USB_SUPPORT=y
 
 #
@@ -5364,7 +5629,6 @@ CONFIG_VIDEO_TW68=m
 # Media capture/analog TV support
 #
 CONFIG_VIDEO_IVTV=m
-# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
 CONFIG_VIDEO_IVTV_ALSA=m
 CONFIG_VIDEO_FB_IVTV=m
 CONFIG_VIDEO_HEXIUM_GEMINI=m
@@ -5400,14 +5664,10 @@ CONFIG_VIDEO_SAA7164=m
 #
 # Media digital TV PCI Adapters
 #
-CONFIG_DVB_AV7110_IR=y
-CONFIG_DVB_AV7110=m
-CONFIG_DVB_AV7110_OSD=y
 CONFIG_DVB_BUDGET_CORE=m
 CONFIG_DVB_BUDGET=m
 CONFIG_DVB_BUDGET_CI=m
 CONFIG_DVB_BUDGET_AV=m
-CONFIG_DVB_BUDGET_PATCH=m
 CONFIG_DVB_B2C2_FLEXCOP_PCI=m
 # CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set
 CONFIG_DVB_PLUTO2=m
@@ -5450,6 +5710,7 @@ CONFIG_MEDIA_COMMON_OPTIONS=y
 #
 CONFIG_VIDEO_CX2341X=m
 CONFIG_VIDEO_TVEEPROM=m
+CONFIG_TTPCI_EEPROM=m
 CONFIG_CYPRESS_FIRMWARE=m
 CONFIG_VIDEOBUF2_CORE=m
 CONFIG_VIDEOBUF2_V4L2=m
@@ -5477,6 +5738,7 @@ CONFIG_VIDEO_SUN6I_CSI=m
 CONFIG_V4L_MEM2MEM_DRIVERS=y
 # CONFIG_VIDEO_CODA is not set
 # CONFIG_VIDEO_IMX_PXP is not set
+# CONFIG_VIDEO_IMX8_JPEG is not set
 # CONFIG_VIDEO_MEDIATEK_JPEG is not set
 CONFIG_VIDEO_MEDIATEK_VPU=m
 CONFIG_VIDEO_MEDIATEK_MDP=m
@@ -5615,13 +5877,18 @@ CONFIG_VIDEO_M52790=m
 # Camera sensor devices
 #
 # CONFIG_VIDEO_HI556 is not set
+# CONFIG_VIDEO_HI846 is not set
+# CONFIG_VIDEO_IMX208 is not set
 # CONFIG_VIDEO_IMX214 is not set
 CONFIG_VIDEO_IMX219=m
 # CONFIG_VIDEO_IMX258 is not set
 # CONFIG_VIDEO_IMX274 is not set
 # CONFIG_VIDEO_IMX290 is not set
 # CONFIG_VIDEO_IMX319 is not set
+# CONFIG_VIDEO_IMX334 is not set
+# CONFIG_VIDEO_IMX335 is not set
 # CONFIG_VIDEO_IMX355 is not set
+# CONFIG_VIDEO_IMX412 is not set
 # CONFIG_VIDEO_OV02A10 is not set
 CONFIG_VIDEO_OV2640=m
 # CONFIG_VIDEO_OV2659 is not set
@@ -5631,20 +5898,25 @@ CONFIG_VIDEO_OV2640=m
 CONFIG_VIDEO_OV5640=m
 CONFIG_VIDEO_OV5645=m
 # CONFIG_VIDEO_OV5647 is not set
+# CONFIG_VIDEO_OV5648 is not set
 # CONFIG_VIDEO_OV6650 is not set
 # CONFIG_VIDEO_OV5670 is not set
 # CONFIG_VIDEO_OV5675 is not set
-# CONFIG_VIDEO_OV5695 is not set
+# CONFIG_VIDEO_OV5693 is not set
+CONFIG_VIDEO_OV5695=m
 # CONFIG_VIDEO_OV7251 is not set
 # CONFIG_VIDEO_OV772X is not set
 CONFIG_VIDEO_OV7640=m
 # CONFIG_VIDEO_OV7670 is not set
 # CONFIG_VIDEO_OV7740 is not set
-# CONFIG_VIDEO_OV8856 is not set
+CONFIG_VIDEO_OV8856=m
+# CONFIG_VIDEO_OV8865 is not set
+# CONFIG_VIDEO_OV9282 is not set
 # CONFIG_VIDEO_OV9640 is not set
 # CONFIG_VIDEO_OV9650 is not set
 # CONFIG_VIDEO_OV9734 is not set
 # CONFIG_VIDEO_OV13858 is not set
+# CONFIG_VIDEO_OV13B10 is not set
 # CONFIG_VIDEO_VS6624 is not set
 # CONFIG_VIDEO_MT9M001 is not set
 # CONFIG_VIDEO_MT9M032 is not set
@@ -5659,6 +5931,7 @@ CONFIG_VIDEO_MT9V011=m
 # CONFIG_VIDEO_NOON010PC30 is not set
 # CONFIG_VIDEO_M5MOLS is not set
 # CONFIG_VIDEO_RDACM20 is not set
+# CONFIG_VIDEO_RDACM21 is not set
 # CONFIG_VIDEO_RJ54N1 is not set
 # CONFIG_VIDEO_S5K6AA is not set
 # CONFIG_VIDEO_S5K6A3 is not set
@@ -5802,7 +6075,6 @@ CONFIG_DVB_TDA10071=m
 #
 # DVB-T (terrestrial) frontends
 #
-CONFIG_DVB_SP8870=m
 CONFIG_DVB_SP887X=m
 CONFIG_DVB_CX22700=m
 CONFIG_DVB_CX22702=m
@@ -5857,6 +6129,7 @@ CONFIG_DVB_AU8522=m
 CONFIG_DVB_AU8522_DTV=m
 CONFIG_DVB_AU8522_V4L=m
 CONFIG_DVB_S5H1411=m
+CONFIG_DVB_MXL692=m
 
 #
 # ISDB-T (terrestrial) frontends
@@ -5921,13 +6194,15 @@ CONFIG_VGA_ARB=y
 CONFIG_VGA_ARB_MAX_GPUS=16
 CONFIG_TEGRA_HOST1X=m
 CONFIG_TEGRA_HOST1X_FIREWALL=y
-CONFIG_DRM=m
+CONFIG_DRM=y
 CONFIG_DRM_MIPI_DSI=y
+CONFIG_DRM_DP_AUX_BUS=y
 # CONFIG_DRM_DP_AUX_CHARDEV is not set
+# CONFIG_DRM_DEBUG_MM is not set
 # CONFIG_DRM_DEBUG_SELFTEST is not set
-CONFIG_DRM_KMS_HELPER=m
-CONFIG_DRM_KMS_FB_HELPER=y
+CONFIG_DRM_KMS_HELPER=y
 # CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
+# CONFIG_DRM_DEBUG_MODESET_LOCK is not set
 CONFIG_DRM_FBDEV_EMULATION=y
 CONFIG_DRM_FBDEV_OVERALLOC=100
 # CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
@@ -5936,11 +6211,9 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
 CONFIG_DRM_TTM=m
 CONFIG_DRM_VRAM_HELPER=m
 CONFIG_DRM_TTM_HELPER=m
-CONFIG_DRM_GEM_CMA_HELPER=y
-CONFIG_DRM_KMS_CMA_HELPER=y
-CONFIG_DRM_GEM_SHMEM_HELPER=y
-CONFIG_DRM_VM=y
-CONFIG_DRM_SCHED=m
+CONFIG_DRM_GEM_CMA_HELPER=m
+CONFIG_DRM_GEM_SHMEM_HELPER=m
+CONFIG_DRM_SCHED=y
 
 #
 # I2C encoder or helper chips
@@ -5966,7 +6239,6 @@ CONFIG_DRM_AMDGPU=m
 # CONFIG_DRM_AMDGPU_SI is not set
 # CONFIG_DRM_AMDGPU_CIK is not set
 # CONFIG_DRM_AMDGPU_USERPTR is not set
-# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
 
 #
 # ACP (Audio CoProcessor) Configuration
@@ -5979,7 +6251,6 @@ CONFIG_DRM_AMDGPU=m
 #
 CONFIG_DRM_AMD_DC=y
 # CONFIG_DRM_AMD_DC_HDCP is not set
-# CONFIG_DRM_AMD_DC_SI is not set
 # CONFIG_DEBUG_KERNEL_DC is not set
 # end of Display Engine Configuration
 
@@ -6003,11 +6274,13 @@ CONFIG_ROCKCHIP_INNO_HDMI=y
 CONFIG_ROCKCHIP_LVDS=y
 CONFIG_ROCKCHIP_RGB=y
 # CONFIG_ROCKCHIP_RK3066_HDMI is not set
+# CONFIG_DRM_VMWGFX is not set
 CONFIG_DRM_UDL=m
 CONFIG_DRM_AST=m
 CONFIG_DRM_MGAG200=m
 # CONFIG_DRM_RCAR_DW_HDMI is not set
-# CONFIG_DRM_RCAR_LVDS is not set
+# CONFIG_DRM_RCAR_USE_LVDS is not set
+# CONFIG_DRM_RCAR_MIPI_DSI is not set
 CONFIG_DRM_SUN4I=m
 CONFIG_DRM_SUN4I_HDMI=m
 CONFIG_DRM_SUN4I_HDMI_CEC=y
@@ -6017,16 +6290,14 @@ CONFIG_DRM_SUN8I_DW_HDMI=m
 CONFIG_DRM_SUN8I_MIXER=m
 CONFIG_DRM_SUN8I_TCON_TOP=m
 CONFIG_DRM_QXL=m
-CONFIG_DRM_BOCHS=m
 CONFIG_DRM_VIRTIO_GPU=m
-CONFIG_DRM_MSM=m
+CONFIG_DRM_MSM=y
 CONFIG_DRM_MSM_GPU_STATE=y
 # CONFIG_DRM_MSM_REGISTER_LOGGING is not set
 # CONFIG_DRM_MSM_GPU_SUDO is not set
 CONFIG_DRM_MSM_HDMI_HDCP=y
 CONFIG_DRM_MSM_DP=y
 CONFIG_DRM_MSM_DSI=y
-CONFIG_DRM_MSM_DSI_PLL=y
 CONFIG_DRM_MSM_DSI_28NM_PHY=y
 CONFIG_DRM_MSM_DSI_20NM_PHY=y
 CONFIG_DRM_MSM_DSI_28NM_8960_PHY=y
@@ -6044,18 +6315,25 @@ CONFIG_DRM_PANEL=y
 # CONFIG_DRM_PANEL_ABT_Y030XX067A is not set
 # CONFIG_DRM_PANEL_ARM_VERSATILE is not set
 # CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set
+# CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0 is not set
 # CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
-# CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set
+CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=y
+# CONFIG_DRM_PANEL_DSI_CM is not set
 # CONFIG_DRM_PANEL_LVDS is not set
-CONFIG_DRM_PANEL_SIMPLE=m
+CONFIG_DRM_PANEL_SIMPLE=y
+CONFIG_DRM_PANEL_EDP=m
 # CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set
 # CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set
 # CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set
 # CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
+# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set
 # CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
-# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
+# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
+CONFIG_DRM_PANEL_INNOLUX_P079ZCA=m
 # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
-# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
+# CONFIG_DRM_PANEL_JDI_R63452 is not set
+# CONFIG_DRM_PANEL_KHADAS_TS050 is not set
+CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m
 # CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
 # CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
 # CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
@@ -6063,6 +6341,7 @@ CONFIG_DRM_PANEL_SIMPLE=m
 # CONFIG_DRM_PANEL_LG_LG4573 is not set
 # CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
 # CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT35950 is not set
 # CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set
 # CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
 CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=m
@@ -6074,7 +6353,10 @@ CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
 CONFIG_DRM_PANEL_RAYDIUM_RM67191=m
 # CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
 # CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set
 # CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set
 # CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
 # CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set
 # CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
@@ -6085,17 +6367,20 @@ CONFIG_DRM_PANEL_RAYDIUM_RM67191=m
 # CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
 # CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set
 # CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
+# CONFIG_DRM_PANEL_SHARP_LS060T1SX01 is not set
 # CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
 CONFIG_DRM_PANEL_SITRONIX_ST7703=m
 # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
 # CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
 # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
+# CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521 is not set
 # CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
 # CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
 # CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
 # CONFIG_DRM_PANEL_TPO_TPG110 is not set
 CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
-# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set
+CONFIG_DRM_PANEL_VISIONOX_RM69299=m
+# CONFIG_DRM_PANEL_WIDECHIPS_WS2401 is not set
 # CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
 # end of Display Panels
 
@@ -6106,16 +6391,20 @@ CONFIG_DRM_PANEL_BRIDGE=y
 # Display Interface Bridges
 #
 # CONFIG_DRM_CDNS_DSI is not set
+# CONFIG_DRM_CHIPONE_ICN6211 is not set
 # CONFIG_DRM_CHRONTEL_CH7033 is not set
-# CONFIG_DRM_DISPLAY_CONNECTOR is not set
+# CONFIG_DRM_CROS_EC_ANX7688 is not set
+CONFIG_DRM_DISPLAY_CONNECTOR=m
+CONFIG_DRM_LONTIUM_LT8912B=m
 CONFIG_DRM_LONTIUM_LT9611=m
-# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+CONFIG_DRM_LONTIUM_LT9611UXC=m
+# CONFIG_DRM_ITE_IT66121 is not set
 # CONFIG_DRM_LVDS_CODEC is not set
 # CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
 CONFIG_DRM_NWL_MIPI_DSI=m
 CONFIG_DRM_NXP_PTN3460=m
 CONFIG_DRM_PARADE_PS8622=m
-# CONFIG_DRM_PARADE_PS8640 is not set
+CONFIG_DRM_PARADE_PS8640=m
 CONFIG_DRM_SIL_SII8620=m
 CONFIG_DRM_SII902X=m
 # CONFIG_DRM_SII9234 is not set
@@ -6127,7 +6416,8 @@ CONFIG_DRM_TOSHIBA_TC358767=m
 # CONFIG_DRM_TOSHIBA_TC358768 is not set
 # CONFIG_DRM_TOSHIBA_TC358775 is not set
 CONFIG_DRM_TI_TFP410=m
-CONFIG_DRM_TI_SN65DSI86=m
+# CONFIG_DRM_TI_SN65DSI83 is not set
+CONFIG_DRM_TI_SN65DSI86=y
 # CONFIG_DRM_TI_TPD12S015 is not set
 CONFIG_DRM_ANALOGIX_ANX6345=m
 CONFIG_DRM_ANALOGIX_ANX78XX=m
@@ -6149,7 +6439,6 @@ CONFIG_DRM_VC4=m
 CONFIG_DRM_VC4_HDMI_CEC=y
 CONFIG_DRM_ETNAVIV=m
 CONFIG_DRM_ETNAVIV_THERMAL=y
-# CONFIG_DRM_ARCPGU is not set
 # CONFIG_DRM_HISI_HIBMC is not set
 CONFIG_DRM_HISI_KIRIN=m
 CONFIG_DRM_MEDIATEK=m
@@ -6158,9 +6447,13 @@ CONFIG_DRM_MXS=y
 CONFIG_DRM_MXSFB=m
 CONFIG_DRM_MESON=m
 CONFIG_DRM_MESON_DW_HDMI=m
+# CONFIG_DRM_ARCPGU is not set
+CONFIG_DRM_BOCHS=m
 CONFIG_DRM_CIRRUS_QEMU=m
 # CONFIG_DRM_GM12U320 is not set
+# CONFIG_DRM_SIMPLEDRM is not set
 # CONFIG_TINYDRM_HX8357D is not set
+# CONFIG_TINYDRM_ILI9163 is not set
 # CONFIG_TINYDRM_ILI9225 is not set
 # CONFIG_TINYDRM_ILI9341 is not set
 # CONFIG_TINYDRM_ILI9486 is not set
@@ -6172,6 +6465,7 @@ CONFIG_DRM_PL111=m
 CONFIG_DRM_LIMA=m
 CONFIG_DRM_PANFROST=m
 # CONFIG_DRM_TIDSS is not set
+# CONFIG_DRM_GUD is not set
 CONFIG_DRM_LEGACY=y
 # CONFIG_DRM_TDFX is not set
 # CONFIG_DRM_R128 is not set
@@ -6179,6 +6473,7 @@ CONFIG_DRM_LEGACY=y
 # CONFIG_DRM_VIA is not set
 # CONFIG_DRM_SAVAGE is not set
 CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
+CONFIG_DRM_NOMODESET=y
 
 #
 # Frame buffer Devices
@@ -6190,11 +6485,11 @@ CONFIG_FIRMWARE_EDID=y
 CONFIG_FB_CFB_FILLRECT=y
 CONFIG_FB_CFB_COPYAREA=y
 CONFIG_FB_CFB_IMAGEBLIT=y
-CONFIG_FB_SYS_FILLRECT=m
-CONFIG_FB_SYS_COPYAREA=m
-CONFIG_FB_SYS_IMAGEBLIT=m
+CONFIG_FB_SYS_FILLRECT=y
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_IMAGEBLIT=y
 # CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_SYS_FOPS=y
 CONFIG_FB_DEFERRED_IO=y
 CONFIG_FB_BACKLIGHT=m
 CONFIG_FB_MODE_HELPERS=y
@@ -6264,7 +6559,7 @@ CONFIG_LCD_PLATFORM=m
 # CONFIG_LCD_OTM3225A is not set
 CONFIG_BACKLIGHT_CLASS_DEVICE=y
 # CONFIG_BACKLIGHT_KTD253 is not set
-CONFIG_BACKLIGHT_PWM=m
+CONFIG_BACKLIGHT_PWM=y
 # CONFIG_BACKLIGHT_QCOM_WLED is not set
 # CONFIG_BACKLIGHT_ADP8860 is not set
 # CONFIG_BACKLIGHT_ADP8870 is not set
@@ -6274,7 +6569,7 @@ CONFIG_BACKLIGHT_LP855X=m
 CONFIG_BACKLIGHT_GPIO=m
 # CONFIG_BACKLIGHT_LV5207LP is not set
 # CONFIG_BACKLIGHT_BD6107 is not set
-# CONFIG_BACKLIGHT_ARCXCNN is not set
+CONFIG_BACKLIGHT_ARCXCNN=m
 # CONFIG_BACKLIGHT_LED is not set
 # end of Backlight & LCD device support
 
@@ -6288,6 +6583,7 @@ CONFIG_DUMMY_CONSOLE=y
 CONFIG_DUMMY_CONSOLE_COLUMNS=80
 CONFIG_DUMMY_CONSOLE_ROWS=25
 CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION=y
 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
 CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
 # CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
@@ -6328,6 +6624,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
 # CONFIG_SND_VERBOSE_PRINTK is not set
 # CONFIG_SND_DEBUG is not set
 CONFIG_SND_VMASTER=y
+CONFIG_SND_CTL_LED=m
 CONFIG_SND_SEQUENCER=m
 CONFIG_SND_SEQ_DUMMY=m
 CONFIG_SND_SEQUENCER_OSS=m
@@ -6340,7 +6637,7 @@ CONFIG_SND_MPU401_UART=m
 CONFIG_SND_OPL3_LIB=m
 CONFIG_SND_OPL3_LIB_SEQ=m
 CONFIG_SND_VX_LIB=m
-CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_AC97_CODEC=y
 CONFIG_SND_DRIVERS=y
 CONFIG_SND_DUMMY=m
 CONFIG_SND_ALOOP=m
@@ -6430,12 +6727,15 @@ CONFIG_SND_HDA_RECONFIG=y
 CONFIG_SND_HDA_INPUT_BEEP=y
 CONFIG_SND_HDA_INPUT_BEEP_MODE=0
 CONFIG_SND_HDA_PATCH_LOADER=y
+# CONFIG_SND_HDA_SCODEC_CS35L41_I2C is not set
+# CONFIG_SND_HDA_SCODEC_CS35L41_SPI is not set
 CONFIG_SND_HDA_CODEC_REALTEK=m
 CONFIG_SND_HDA_CODEC_ANALOG=m
 CONFIG_SND_HDA_CODEC_SIGMATEL=m
 CONFIG_SND_HDA_CODEC_VIA=m
 CONFIG_SND_HDA_CODEC_HDMI=m
 CONFIG_SND_HDA_CODEC_CIRRUS=m
+# CONFIG_SND_HDA_CODEC_CS8409 is not set
 CONFIG_SND_HDA_CODEC_CONEXANT=m
 CONFIG_SND_HDA_CODEC_CA0110=m
 CONFIG_SND_HDA_CODEC_CA0132=m
@@ -6454,6 +6754,7 @@ CONFIG_SND_HDA_COMPONENT=y
 CONFIG_SND_HDA_PREALLOC_SIZE=4096
 CONFIG_SND_INTEL_NHLT=y
 CONFIG_SND_INTEL_DSP_CONFIG=m
+CONFIG_SND_INTEL_SOUNDWIRE_ACPI=m
 CONFIG_SND_SPI=y
 CONFIG_SND_USB=y
 CONFIG_SND_USB_AUDIO=m
@@ -6470,12 +6771,15 @@ CONFIG_SND_USB_PODHD=m
 CONFIG_SND_USB_TONEPORT=m
 CONFIG_SND_USB_VARIAX=m
 CONFIG_SND_SOC=y
+CONFIG_SND_SOC_AC97_BUS=y
 CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
 CONFIG_SND_SOC_COMPRESS=y
+CONFIG_SND_SOC_TOPOLOGY=y
 # CONFIG_SND_SOC_ADI is not set
 CONFIG_SND_SOC_AMD_ACP=m
 # CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH is not set
 # CONFIG_SND_SOC_AMD_CZ_RT5645_MACH is not set
+# CONFIG_SND_AMD_ACP_CONFIG is not set
 # CONFIG_SND_ATMEL_SOC is not set
 CONFIG_SND_BCM2835_SOC_I2S=m
 # CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
@@ -6492,26 +6796,29 @@ CONFIG_SND_SOC_FSL_ASRC=m
 CONFIG_SND_SOC_FSL_SAI=m
 # CONFIG_SND_SOC_FSL_MQS is not set
 CONFIG_SND_SOC_FSL_AUDMIX=m
-# CONFIG_SND_SOC_FSL_SSI is not set
+CONFIG_SND_SOC_FSL_SSI=m
 CONFIG_SND_SOC_FSL_SPDIF=m
-# CONFIG_SND_SOC_FSL_ESAI is not set
+CONFIG_SND_SOC_FSL_ESAI=m
 CONFIG_SND_SOC_FSL_MICFIL=m
 CONFIG_SND_SOC_FSL_EASRC=m
 # CONFIG_SND_SOC_FSL_XCVR is not set
 # CONFIG_SND_SOC_FSL_AUD2HTX is not set
+# CONFIG_SND_SOC_FSL_RPMSG is not set
 CONFIG_SND_SOC_IMX_PCM_DMA=m
-# CONFIG_SND_SOC_IMX_AUDMUX is not set
+CONFIG_SND_SOC_IMX_AUDMUX=m
 CONFIG_SND_IMX_SOC=m
 
 #
 # SoC Audio support for Freescale i.MX boards:
 #
 # CONFIG_SND_SOC_IMX_ES8328 is not set
-# CONFIG_SND_SOC_IMX_SGTL5000 is not set
+CONFIG_SND_SOC_IMX_SGTL5000=m
 CONFIG_SND_SOC_IMX_SPDIF=m
-# CONFIG_SND_SOC_FSL_ASOC_CARD is not set
+CONFIG_SND_SOC_FSL_ASOC_CARD=m
 CONFIG_SND_SOC_IMX_AUDMIX=m
 # CONFIG_SND_SOC_IMX_HDMI is not set
+# CONFIG_SND_SOC_IMX_RPMSG is not set
+# CONFIG_SND_SOC_IMX_CARD is not set
 # end of SoC Audio for Freescale CPUs
 
 CONFIG_SND_I2S_HI6210_I2S=m
@@ -6525,20 +6832,25 @@ CONFIG_SND_SOC_MT8173_MAX98090=m
 CONFIG_SND_SOC_MT8173_RT5650=m
 CONFIG_SND_SOC_MT8173_RT5650_RT5514=m
 CONFIG_SND_SOC_MT8173_RT5650_RT5676=m
-# CONFIG_SND_SOC_MT8183 is not set
+CONFIG_SND_SOC_MT8183=m
+CONFIG_SND_SOC_MT8183_MT6358_TS3A227E_MAX98357A=m
+CONFIG_SND_SOC_MT8183_DA7219_MAX98357A=m
 # CONFIG_SND_SOC_MTK_BTCVSD is not set
-# CONFIG_SND_SOC_MT8192 is not set
+CONFIG_SND_SOC_MT8192=m
+CONFIG_SND_SOC_MT8192_MT6359_RT1015_RT5682=m
+# CONFIG_SND_SOC_MT8195 is not set
 
 #
 # ASoC support for Amlogic platforms
 #
 CONFIG_SND_MESON_AIU=m
-# CONFIG_SND_MESON_AXG_FRDDR is not set
-# CONFIG_SND_MESON_AXG_TODDR is not set
+CONFIG_SND_MESON_AXG_FIFO=m
+CONFIG_SND_MESON_AXG_FRDDR=m
+CONFIG_SND_MESON_AXG_TODDR=m
 CONFIG_SND_MESON_AXG_TDM_FORMATTER=m
 CONFIG_SND_MESON_AXG_TDM_INTERFACE=m
-# CONFIG_SND_MESON_AXG_TDMIN is not set
-# CONFIG_SND_MESON_AXG_TDMOUT is not set
+CONFIG_SND_MESON_AXG_TDMIN=m
+CONFIG_SND_MESON_AXG_TDMOUT=m
 CONFIG_SND_MESON_AXG_SOUND_CARD=m
 # CONFIG_SND_MESON_AXG_SPDIFOUT is not set
 # CONFIG_SND_MESON_AXG_SPDIFIN is not set
@@ -6546,15 +6858,17 @@ CONFIG_SND_MESON_AXG_SOUND_CARD=m
 CONFIG_SND_MESON_CARD_UTILS=m
 CONFIG_SND_MESON_CODEC_GLUE=m
 CONFIG_SND_MESON_GX_SOUND_CARD=m
-# CONFIG_SND_MESON_G12A_TOACODEC is not set
+CONFIG_SND_MESON_G12A_TOACODEC=m
 CONFIG_SND_MESON_G12A_TOHDMITX=m
 CONFIG_SND_SOC_MESON_T9015=m
 # end of ASoC support for Amlogic platforms
 
 CONFIG_SND_SOC_QCOM=m
 CONFIG_SND_SOC_LPASS_CPU=m
+CONFIG_SND_SOC_LPASS_HDMI=m
 CONFIG_SND_SOC_LPASS_PLATFORM=m
 CONFIG_SND_SOC_LPASS_APQ8016=m
+CONFIG_SND_SOC_LPASS_SC7180=m
 # CONFIG_SND_SOC_STORM is not set
 CONFIG_SND_SOC_APQ8016_SBC=m
 CONFIG_SND_SOC_QCOM_COMMON=m
@@ -6567,13 +6881,19 @@ CONFIG_SND_SOC_QDSP6_ADM=m
 CONFIG_SND_SOC_QDSP6_ROUTING=m
 CONFIG_SND_SOC_QDSP6_ASM=m
 CONFIG_SND_SOC_QDSP6_ASM_DAI=m
+CONFIG_SND_SOC_QDSP6_APM_DAI=m
+CONFIG_SND_SOC_QDSP6_APM_LPASS_DAI=m
+CONFIG_SND_SOC_QDSP6_APM=m
+CONFIG_SND_SOC_QDSP6_PRM_LPASS_CLOCKS=m
+CONFIG_SND_SOC_QDSP6_PRM=m
 CONFIG_SND_SOC_QDSP6=m
 CONFIG_SND_SOC_MSM8996=m
 CONFIG_SND_SOC_SDM845=m
-# CONFIG_SND_SOC_SM8250 is not set
-# CONFIG_SND_SOC_SC7180 is not set
+CONFIG_SND_SOC_SM8250=m
+CONFIG_SND_SOC_SC7180=m
 CONFIG_SND_SOC_ROCKCHIP=m
 CONFIG_SND_SOC_ROCKCHIP_I2S=m
+CONFIG_SND_SOC_ROCKCHIP_I2S_TDM=m
 CONFIG_SND_SOC_ROCKCHIP_PDM=m
 CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
 CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
@@ -6611,6 +6931,12 @@ CONFIG_SND_SOC_TEGRA210_DMIC=m
 CONFIG_SND_SOC_TEGRA210_I2S=m
 CONFIG_SND_SOC_TEGRA186_DSPK=m
 CONFIG_SND_SOC_TEGRA210_ADMAIF=m
+CONFIG_SND_SOC_TEGRA210_MVC=m
+CONFIG_SND_SOC_TEGRA210_SFC=m
+CONFIG_SND_SOC_TEGRA210_AMX=m
+CONFIG_SND_SOC_TEGRA210_ADX=m
+CONFIG_SND_SOC_TEGRA210_MIXER=m
+# CONFIG_SND_SOC_TEGRA_AUDIO_GRAPH_CARD is not set
 # CONFIG_SND_SOC_TEGRA_RT5640 is not set
 # CONFIG_SND_SOC_TEGRA_WM8753 is not set
 # CONFIG_SND_SOC_TEGRA_WM8903 is not set
@@ -6624,23 +6950,24 @@ CONFIG_SND_SOC_TEGRA210_ADMAIF=m
 # CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
 # CONFIG_SND_SOC_XILINX_SPDIF is not set
 # CONFIG_SND_SOC_XTFPGA_I2S is not set
-# CONFIG_ZX_TDM is not set
 CONFIG_SND_SOC_I2C_AND_SPI=y
 
 #
 # CODEC drivers
 #
-# CONFIG_SND_SOC_AC97_CODEC is not set
+CONFIG_SND_SOC_WM_HUBS=m
+CONFIG_SND_SOC_AC97_CODEC=y
 # CONFIG_SND_SOC_ADAU1372_I2C is not set
 # CONFIG_SND_SOC_ADAU1372_SPI is not set
 # CONFIG_SND_SOC_ADAU1701 is not set
 # CONFIG_SND_SOC_ADAU1761_I2C is not set
 # CONFIG_SND_SOC_ADAU1761_SPI is not set
-# CONFIG_SND_SOC_ADAU7002 is not set
+CONFIG_SND_SOC_ADAU7002=m
 # CONFIG_SND_SOC_ADAU7118_HW is not set
 # CONFIG_SND_SOC_ADAU7118_I2C is not set
 # CONFIG_SND_SOC_AK4104 is not set
 # CONFIG_SND_SOC_AK4118 is not set
+# CONFIG_SND_SOC_AK4375 is not set
 # CONFIG_SND_SOC_AK4458 is not set
 # CONFIG_SND_SOC_AK4554 is not set
 # CONFIG_SND_SOC_AK4613 is not set
@@ -6649,13 +6976,15 @@ CONFIG_SND_SOC_I2C_AND_SPI=y
 # CONFIG_SND_SOC_AK5558 is not set
 # CONFIG_SND_SOC_ALC5623 is not set
 # CONFIG_SND_SOC_BD28623 is not set
-# CONFIG_SND_SOC_BT_SCO is not set
+CONFIG_SND_SOC_BT_SCO=m
 CONFIG_SND_SOC_CROS_EC_CODEC=m
 # CONFIG_SND_SOC_CS35L32 is not set
 # CONFIG_SND_SOC_CS35L33 is not set
 # CONFIG_SND_SOC_CS35L34 is not set
 # CONFIG_SND_SOC_CS35L35 is not set
 # CONFIG_SND_SOC_CS35L36 is not set
+# CONFIG_SND_SOC_CS35L41_SPI is not set
+# CONFIG_SND_SOC_CS35L41_I2C is not set
 # CONFIG_SND_SOC_CS42L42 is not set
 # CONFIG_SND_SOC_CS42L51_I2C is not set
 # CONFIG_SND_SOC_CS42L52 is not set
@@ -6675,14 +7004,15 @@ CONFIG_SND_SOC_CROS_EC_CODEC=m
 # CONFIG_SND_SOC_DA7213 is not set
 CONFIG_SND_SOC_DA7219=m
 CONFIG_SND_SOC_DMIC=m
-CONFIG_SND_SOC_HDMI_CODEC=m
+CONFIG_SND_SOC_HDMI_CODEC=y
 # CONFIG_SND_SOC_ES7134 is not set
 # CONFIG_SND_SOC_ES7241 is not set
 # CONFIG_SND_SOC_ES8316 is not set
 CONFIG_SND_SOC_ES8328=m
 CONFIG_SND_SOC_ES8328_I2C=m
 CONFIG_SND_SOC_ES8328_SPI=m
-# CONFIG_SND_SOC_GTM601 is not set
+CONFIG_SND_SOC_GTM601=m
+# CONFIG_SND_SOC_ICS43432 is not set
 # CONFIG_SND_SOC_INNO_RK3036 is not set
 # CONFIG_SND_SOC_MAX98088 is not set
 CONFIG_SND_SOC_MAX98090=m
@@ -6690,12 +7020,13 @@ CONFIG_SND_SOC_MAX98357A=m
 # CONFIG_SND_SOC_MAX98504 is not set
 # CONFIG_SND_SOC_MAX9867 is not set
 CONFIG_SND_SOC_MAX98927=m
+# CONFIG_SND_SOC_MAX98520 is not set
 # CONFIG_SND_SOC_MAX98373_I2C is not set
 # CONFIG_SND_SOC_MAX98373_SDW is not set
 # CONFIG_SND_SOC_MAX98390 is not set
 # CONFIG_SND_SOC_MAX9860 is not set
-CONFIG_SND_SOC_MSM8916_WCD_ANALOG=y
-CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=y
+CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
+CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
 # CONFIG_SND_SOC_PCM1681 is not set
 # CONFIG_SND_SOC_PCM1789_I2C is not set
 # CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -6711,29 +7042,42 @@ CONFIG_SND_SOC_PCM3168A_I2C=m
 # CONFIG_SND_SOC_PCM512x_I2C is not set
 # CONFIG_SND_SOC_PCM512x_SPI is not set
 CONFIG_SND_SOC_RK3328=m
+# CONFIG_SND_SOC_RK817 is not set
 CONFIG_SND_SOC_RL6231=m
+CONFIG_SND_SOC_RT1015=m
+CONFIG_SND_SOC_RT1015P=m
 # CONFIG_SND_SOC_RT1308_SDW is not set
+# CONFIG_SND_SOC_RT1316_SDW is not set
 CONFIG_SND_SOC_RT5514=m
 CONFIG_SND_SOC_RT5514_SPI=m
 # CONFIG_SND_SOC_RT5616 is not set
 # CONFIG_SND_SOC_RT5631 is not set
+# CONFIG_SND_SOC_RT5640 is not set
 CONFIG_SND_SOC_RT5645=m
+CONFIG_SND_SOC_RT5659=m
 CONFIG_SND_SOC_RT5663=m
 CONFIG_SND_SOC_RT5677=m
 CONFIG_SND_SOC_RT5677_SPI=m
+CONFIG_SND_SOC_RT5682=m
+CONFIG_SND_SOC_RT5682_I2C=m
 # CONFIG_SND_SOC_RT5682_SDW is not set
+CONFIG_SND_SOC_RT5682S=m
 # CONFIG_SND_SOC_RT700_SDW is not set
 # CONFIG_SND_SOC_RT711_SDW is not set
+# CONFIG_SND_SOC_RT711_SDCA_SDW is not set
 # CONFIG_SND_SOC_RT715_SDW is not set
-# CONFIG_SND_SOC_SGTL5000 is not set
+# CONFIG_SND_SOC_RT715_SDCA_SDW is not set
+# CONFIG_SND_SOC_RT9120 is not set
+# CONFIG_SND_SOC_SDW_MOCKUP is not set
+CONFIG_SND_SOC_SGTL5000=m
 CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
-# CONFIG_SND_SOC_SIMPLE_MUX is not set
-# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
+CONFIG_SND_SOC_SIMPLE_MUX=m
 # CONFIG_SND_SOC_SPDIF is not set
 # CONFIG_SND_SOC_SSM2305 is not set
+# CONFIG_SND_SOC_SSM2518 is not set
 # CONFIG_SND_SOC_SSM2602_SPI is not set
 # CONFIG_SND_SOC_SSM2602_I2C is not set
-# CONFIG_SND_SOC_SSM4567 is not set
+CONFIG_SND_SOC_SSM4567=m
 # CONFIG_SND_SOC_STA32X is not set
 # CONFIG_SND_SOC_STA350 is not set
 # CONFIG_SND_SOC_STI_SAS is not set
@@ -6747,19 +7091,25 @@ CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
 # CONFIG_SND_SOC_TAS6424 is not set
 # CONFIG_SND_SOC_TDA7419 is not set
 # CONFIG_SND_SOC_TFA9879 is not set
+# CONFIG_SND_SOC_TFA989X is not set
+# CONFIG_SND_SOC_TLV320ADC3XXX is not set
 # CONFIG_SND_SOC_TLV320AIC23_I2C is not set
 # CONFIG_SND_SOC_TLV320AIC23_SPI is not set
-# CONFIG_SND_SOC_TLV320AIC31XX is not set
-# CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set
+CONFIG_SND_SOC_TLV320AIC31XX=m
+CONFIG_SND_SOC_TLV320AIC32X4=m
+CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
 # CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set
-# CONFIG_SND_SOC_TLV320AIC3X is not set
+# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
 # CONFIG_SND_SOC_TLV320ADCX140 is not set
 CONFIG_SND_SOC_TS3A227E=m
 # CONFIG_SND_SOC_TSCS42XX is not set
 # CONFIG_SND_SOC_TSCS454 is not set
 # CONFIG_SND_SOC_UDA1334 is not set
 # CONFIG_SND_SOC_WCD9335 is not set
+CONFIG_SND_SOC_WCD_MBHC=m
 CONFIG_SND_SOC_WCD934X=m
+# CONFIG_SND_SOC_WCD938X_SDW is not set
 # CONFIG_SND_SOC_WM8510 is not set
 # CONFIG_SND_SOC_WM8523 is not set
 # CONFIG_SND_SOC_WM8524 is not set
@@ -6778,33 +7128,40 @@ CONFIG_SND_SOC_WCD934X=m
 # CONFIG_SND_SOC_WM8804_SPI is not set
 # CONFIG_SND_SOC_WM8903 is not set
 CONFIG_SND_SOC_WM8904=m
-# CONFIG_SND_SOC_WM8960 is not set
-# CONFIG_SND_SOC_WM8962 is not set
+CONFIG_SND_SOC_WM8960=m
+CONFIG_SND_SOC_WM8962=m
 # CONFIG_SND_SOC_WM8974 is not set
-# CONFIG_SND_SOC_WM8978 is not set
+CONFIG_SND_SOC_WM8978=m
 # CONFIG_SND_SOC_WM8985 is not set
+CONFIG_SND_SOC_WM8994=m
 CONFIG_SND_SOC_WSA881X=m
 # CONFIG_SND_SOC_ZL38060 is not set
-# CONFIG_SND_SOC_ZX_AUD96P22 is not set
 # CONFIG_SND_SOC_MAX9759 is not set
 # CONFIG_SND_SOC_MT6351 is not set
-# CONFIG_SND_SOC_MT6358 is not set
-# CONFIG_SND_SOC_MT6359 is not set
+CONFIG_SND_SOC_MT6358=m
+CONFIG_SND_SOC_MT6359=m
+# CONFIG_SND_SOC_MT6359_ACCDET is not set
 # CONFIG_SND_SOC_MT6660 is not set
 # CONFIG_SND_SOC_NAU8315 is not set
 # CONFIG_SND_SOC_NAU8540 is not set
 # CONFIG_SND_SOC_NAU8810 is not set
+# CONFIG_SND_SOC_NAU8821 is not set
 # CONFIG_SND_SOC_NAU8822 is not set
 # CONFIG_SND_SOC_NAU8824 is not set
 # CONFIG_SND_SOC_TPA6130A2 is not set
-# CONFIG_SND_SOC_LPASS_WSA_MACRO is not set
-# CONFIG_SND_SOC_LPASS_VA_MACRO is not set
+CONFIG_SND_SOC_LPASS_WSA_MACRO=m
+CONFIG_SND_SOC_LPASS_VA_MACRO=m
+# CONFIG_SND_SOC_LPASS_RX_MACRO is not set
+# CONFIG_SND_SOC_LPASS_TX_MACRO is not set
 # end of CODEC drivers
 
 CONFIG_SND_SIMPLE_CARD_UTILS=m
 CONFIG_SND_SIMPLE_CARD=m
 CONFIG_SND_AUDIO_GRAPH_CARD=m
-CONFIG_AC97_BUS=m
+# CONFIG_SND_AUDIO_GRAPH_CARD2 is not set
+# CONFIG_SND_TEST_COMPONENT is not set
+# CONFIG_SND_VIRTIO is not set
+CONFIG_AC97_BUS=y
 
 #
 # HID support
@@ -6846,12 +7203,13 @@ CONFIG_HID_EMS_FF=m
 CONFIG_HID_ELECOM=m
 CONFIG_HID_ELO=m
 CONFIG_HID_EZKEY=m
+CONFIG_HID_FT260=m
 CONFIG_HID_GEMBIRD=m
 CONFIG_HID_GFRM=m
 CONFIG_HID_GLORIOUS=m
 CONFIG_HID_HOLTEK=m
 CONFIG_HOLTEK_FF=y
-# CONFIG_HID_GOOGLE_HAMMER is not set
+CONFIG_HID_GOOGLE_HAMMER=m
 # CONFIG_HID_VIVALDI is not set
 CONFIG_HID_GT683R=m
 CONFIG_HID_KEYTOUCH=m
@@ -6859,6 +7217,7 @@ CONFIG_HID_KYE=m
 CONFIG_HID_UCLOGIC=m
 CONFIG_HID_WALTOP=m
 CONFIG_HID_VIEWSONIC=m
+CONFIG_HID_XIAOMI=m
 CONFIG_HID_GYRATION=m
 CONFIG_HID_ICADE=m
 CONFIG_HID_ITE=m
@@ -6868,6 +7227,7 @@ CONFIG_HID_KENSINGTON=m
 CONFIG_HID_LCPOWER=m
 CONFIG_HID_LED=m
 CONFIG_HID_LENOVO=m
+CONFIG_HID_LETSKETCH=m
 CONFIG_HID_LOGITECH=m
 CONFIG_HID_LOGITECH_DJ=m
 CONFIG_HID_LOGITECH_HIDPP=m
@@ -6882,6 +7242,8 @@ CONFIG_HID_REDRAGON=m
 CONFIG_HID_MICROSOFT=m
 CONFIG_HID_MONTEREY=m
 CONFIG_HID_MULTITOUCH=m
+CONFIG_HID_NINTENDO=m
+CONFIG_NINTENDO_FF=y
 CONFIG_HID_NTI=m
 CONFIG_HID_NTRIG=m
 CONFIG_HID_ORTEK=m
@@ -6901,6 +7263,7 @@ CONFIG_HID_RETRODE=m
 CONFIG_HID_ROCCAT=m
 CONFIG_HID_SAITEK=m
 CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SEMITEK=m
 CONFIG_HID_SONY=m
 CONFIG_SONY_FF=y
 CONFIG_HID_SPEEDLINK=m
@@ -6942,8 +7305,12 @@ CONFIG_USB_HIDDEV=y
 #
 # I2C HID support
 #
-CONFIG_I2C_HID=m
+CONFIG_I2C_HID_ACPI=m
+CONFIG_I2C_HID_OF=m
+CONFIG_I2C_HID_OF_GOODIX=m
 # end of I2C HID support
+
+CONFIG_I2C_HID_CORE=m
 # end of HID support
 
 CONFIG_USB_OHCI_LITTLE_ENDIAN=y
@@ -6978,7 +7345,7 @@ CONFIG_USB_MON=y
 CONFIG_USB_XHCI_HCD=y
 # CONFIG_USB_XHCI_DBGCAP is not set
 CONFIG_USB_XHCI_PCI=y
-# CONFIG_USB_XHCI_PCI_RENESAS is not set
+CONFIG_USB_XHCI_PCI_RENESAS=y
 CONFIG_USB_XHCI_PLATFORM=y
 # CONFIG_USB_XHCI_HISTB is not set
 CONFIG_USB_XHCI_MTK=y
@@ -7053,8 +7420,12 @@ CONFIG_USBIP_VHCI_NR_HCS=1
 CONFIG_USBIP_HOST=m
 CONFIG_USBIP_VUDC=m
 # CONFIG_USBIP_DEBUG is not set
-# CONFIG_USB_CDNS3 is not set
-# CONFIG_USB_MTU3 is not set
+# CONFIG_USB_CDNS_SUPPORT is not set
+CONFIG_USB_MTU3=y
+CONFIG_USB_MTU3_HOST=y
+# CONFIG_USB_MTU3_GADGET is not set
+# CONFIG_USB_MTU3_DUAL_ROLE is not set
+# CONFIG_USB_MTU3_DEBUG is not set
 CONFIG_USB_MUSB_HDRC=y
 # CONFIG_USB_MUSB_HOST is not set
 # CONFIG_USB_MUSB_GADGET is not set
@@ -7084,6 +7455,7 @@ CONFIG_USB_DWC3_HAPS=y
 CONFIG_USB_DWC3_MESON_G12A=y
 CONFIG_USB_DWC3_OF_SIMPLE=y
 CONFIG_USB_DWC3_QCOM=y
+CONFIG_USB_DWC3_IMX8MP=y
 CONFIG_USB_DWC2=y
 # CONFIG_USB_DWC2_HOST is not set
 
@@ -7167,6 +7539,7 @@ CONFIG_USB_SERIAL_WISHBONE=m
 CONFIG_USB_SERIAL_SSU100=m
 CONFIG_USB_SERIAL_QT2=m
 CONFIG_USB_SERIAL_UPD78F0730=m
+CONFIG_USB_SERIAL_XR=m
 CONFIG_USB_SERIAL_DEBUG=m
 
 #
@@ -7183,7 +7556,7 @@ CONFIG_USB_LCD=m
 CONFIG_USB_IDMOUSE=m
 CONFIG_USB_FTDI_ELAN=m
 CONFIG_USB_APPLEDISPLAY=m
-# CONFIG_APPLE_MFI_FASTCHARGE is not set
+CONFIG_APPLE_MFI_FASTCHARGE=m
 CONFIG_USB_SISUSBVGA=m
 CONFIG_USB_LD=m
 CONFIG_USB_TRANCEVIBRATOR=m
@@ -7330,8 +7703,8 @@ CONFIG_TYPEC_TCPCI=y
 # CONFIG_TYPEC_TCPCI_MAXIM is not set
 CONFIG_TYPEC_FUSB302=y
 # CONFIG_TYPEC_UCSI is not set
-CONFIG_TYPEC_HD3SS3220=m
 CONFIG_TYPEC_TPS6598X=m
+CONFIG_TYPEC_HD3SS3220=m
 # CONFIG_TYPEC_STUSB160X is not set
 # CONFIG_TYPEC_QCOM_PMIC is not set
 
@@ -7435,9 +7808,7 @@ CONFIG_LEDS_CLASS_FLASH=m
 #
 # LED drivers
 #
-# CONFIG_LEDS_AAT1290 is not set
 # CONFIG_LEDS_AN30259A is not set
-# CONFIG_LEDS_AS3645A is not set
 # CONFIG_LEDS_AW2013 is not set
 # CONFIG_LEDS_BCM6328 is not set
 # CONFIG_LEDS_BCM6358 is not set
@@ -7447,8 +7818,9 @@ CONFIG_LEDS_LM3530=m
 # CONFIG_LEDS_LM3532 is not set
 # CONFIG_LEDS_LM3642 is not set
 CONFIG_LEDS_LM3692X=m
-# CONFIG_LEDS_LM3601X is not set
-# CONFIG_LEDS_PCA9532 is not set
+# CONFIG_LEDS_MT6323 is not set
+CONFIG_LEDS_PCA9532=m
+# CONFIG_LEDS_PCA9532_GPIO is not set
 CONFIG_LEDS_GPIO=y
 CONFIG_LEDS_LP3944=m
 # CONFIG_LEDS_LP3952 is not set
@@ -7466,7 +7838,6 @@ CONFIG_LEDS_LT3593=m
 # CONFIG_LEDS_TCA6507 is not set
 # CONFIG_LEDS_TLC591XX is not set
 # CONFIG_LEDS_LM355x is not set
-# CONFIG_LEDS_KTD2692 is not set
 # CONFIG_LEDS_IS31FL319X is not set
 # CONFIG_LEDS_IS31FL32XX is not set
 
@@ -7479,12 +7850,17 @@ CONFIG_LEDS_SYSCON=y
 CONFIG_LEDS_USER=m
 # CONFIG_LEDS_SPI_BYTE is not set
 # CONFIG_LEDS_TI_LMU_COMMON is not set
-# CONFIG_LEDS_SGM3140 is not set
 
 #
 # Flash and Torch LED drivers
 #
+# CONFIG_LEDS_AAT1290 is not set
+# CONFIG_LEDS_AS3645A is not set
+# CONFIG_LEDS_KTD2692 is not set
+# CONFIG_LEDS_LM3601X is not set
+# CONFIG_LEDS_RT4505 is not set
 # CONFIG_LEDS_RT8515 is not set
+# CONFIG_LEDS_SGM3140 is not set
 
 #
 # LED Triggers
@@ -7510,13 +7886,29 @@ CONFIG_LEDS_TRIGGER_PANIC=y
 CONFIG_LEDS_TRIGGER_NETDEV=y
 CONFIG_LEDS_TRIGGER_PATTERN=m
 CONFIG_LEDS_TRIGGER_AUDIO=m
+CONFIG_LEDS_TRIGGER_TTY=m
+
+#
+# Simple LED drivers
+#
 CONFIG_ACCESSIBILITY=y
 CONFIG_A11Y_BRAILLE_CONSOLE=y
 
 #
 # Speakup console speech
 #
-# CONFIG_SPEAKUP is not set
+CONFIG_SPEAKUP=m
+CONFIG_SPEAKUP_SYNTH_ACNTSA=m
+CONFIG_SPEAKUP_SYNTH_APOLLO=m
+CONFIG_SPEAKUP_SYNTH_AUDPTR=m
+CONFIG_SPEAKUP_SYNTH_BNS=m
+CONFIG_SPEAKUP_SYNTH_DECTLK=m
+CONFIG_SPEAKUP_SYNTH_DECEXT=m
+CONFIG_SPEAKUP_SYNTH_LTLK=m
+CONFIG_SPEAKUP_SYNTH_SOFT=m
+CONFIG_SPEAKUP_SYNTH_SPKOUT=m
+CONFIG_SPEAKUP_SYNTH_TXPRT=m
+CONFIG_SPEAKUP_SYNTH_DUMMY=m
 # end of Speakup console speech
 
 # CONFIG_INFINIBAND is not set
@@ -7527,6 +7919,7 @@ CONFIG_EDAC_LEGACY_SYSFS=y
 CONFIG_EDAC_LAYERSCAPE=m
 # CONFIG_EDAC_THUNDERX is not set
 CONFIG_EDAC_XGENE=m
+CONFIG_EDAC_QCOM=m
 # CONFIG_EDAC_DMC520 is not set
 CONFIG_RTC_LIB=y
 CONFIG_RTC_CLASS=y
@@ -7551,6 +7944,7 @@ CONFIG_RTC_INTF_DEV_UIE_EMUL=y
 # CONFIG_RTC_DRV_ABB5ZES3 is not set
 # CONFIG_RTC_DRV_ABEOZ9 is not set
 CONFIG_RTC_DRV_ABX80X=m
+CONFIG_RTC_DRV_AS3722=m
 CONFIG_RTC_DRV_DS1307=m
 # CONFIG_RTC_DRV_DS1307_CENTURY is not set
 CONFIG_RTC_DRV_DS1374=m
@@ -7573,13 +7967,15 @@ CONFIG_RTC_DRV_PCF8583=m
 CONFIG_RTC_DRV_M41T80=m
 CONFIG_RTC_DRV_M41T80_WDT=y
 CONFIG_RTC_DRV_BQ32K=m
+CONFIG_RTC_DRV_PALMAS=m
+CONFIG_RTC_DRV_TPS6586X=m
 # CONFIG_RTC_DRV_S35390A is not set
 CONFIG_RTC_DRV_FM3130=m
 # CONFIG_RTC_DRV_RX8010 is not set
 CONFIG_RTC_DRV_RX8581=m
 CONFIG_RTC_DRV_RX8025=m
 CONFIG_RTC_DRV_EM3027=m
-# CONFIG_RTC_DRV_RV3028 is not set
+CONFIG_RTC_DRV_RV3028=m
 # CONFIG_RTC_DRV_RV3032 is not set
 CONFIG_RTC_DRV_RV8803=m
 # CONFIG_RTC_DRV_S5M is not set
@@ -7660,6 +8056,7 @@ CONFIG_RTC_DRV_PM8XXX=y
 CONFIG_RTC_DRV_SNVS=m
 CONFIG_RTC_DRV_IMX_SC=y
 # CONFIG_RTC_DRV_MT2712 is not set
+CONFIG_RTC_DRV_MT6397=y
 CONFIG_RTC_DRV_MT7622=y
 CONFIG_RTC_DRV_XGENE=m
 # CONFIG_RTC_DRV_R7301 is not set
@@ -7708,6 +8105,7 @@ CONFIG_XGENE_DMA=m
 # CONFIG_XILINX_ZYNQMP_DPDMA is not set
 # CONFIG_MTK_HSDMA is not set
 # CONFIG_MTK_CQDMA is not set
+# CONFIG_MTK_UART_APDMA is not set
 CONFIG_QCOM_BAM_DMA=y
 # CONFIG_QCOM_GPI_DMA is not set
 CONFIG_QCOM_HIDMA_MGMT=y
@@ -7734,8 +8132,10 @@ CONFIG_SYNC_FILE=y
 # CONFIG_SW_SYNC is not set
 # CONFIG_UDMABUF is not set
 # CONFIG_DMABUF_MOVE_NOTIFY is not set
+# CONFIG_DMABUF_DEBUG is not set
 # CONFIG_DMABUF_SELFTESTS is not set
 # CONFIG_DMABUF_HEAPS is not set
+# CONFIG_DMABUF_SYSFS_STATS is not set
 # end of DMABUF options
 
 CONFIG_AUXDISPLAY=y
@@ -7756,13 +8156,14 @@ CONFIG_UIO_PCI_GENERIC=m
 # CONFIG_UIO_NETX is not set
 # CONFIG_UIO_PRUSS is not set
 # CONFIG_UIO_MF624 is not set
+CONFIG_VFIO=m
 CONFIG_VFIO_IOMMU_TYPE1=m
 CONFIG_VFIO_VIRQFD=m
-CONFIG_VFIO=m
 # CONFIG_VFIO_NOIOMMU is not set
-CONFIG_VFIO_PCI=m
+CONFIG_VFIO_PCI_CORE=m
 CONFIG_VFIO_PCI_MMAP=y
 CONFIG_VFIO_PCI_INTX=y
+CONFIG_VFIO_PCI=m
 CONFIG_VFIO_PLATFORM=m
 CONFIG_VFIO_AMBA=m
 CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET=m
@@ -7771,6 +8172,8 @@ CONFIG_VFIO_PLATFORM_AMDXGBE_RESET=m
 CONFIG_VFIO_FSL_MC=m
 # CONFIG_VIRT_DRIVERS is not set
 CONFIG_VIRTIO=y
+CONFIG_VIRTIO_PCI_LIB=y
+CONFIG_VIRTIO_PCI_LIB_LEGACY=y
 CONFIG_VIRTIO_MENU=y
 CONFIG_VIRTIO_PCI=y
 CONFIG_VIRTIO_PCI_LEGACY=y
@@ -7792,12 +8195,13 @@ CONFIG_VHOST_VSOCK=m
 #
 # Microsoft Hyper-V guest support
 #
+# CONFIG_HYPERV is not set
 # end of Microsoft Hyper-V guest support
 
 # CONFIG_GREYBUS is not set
+# CONFIG_COMEDI is not set
 CONFIG_STAGING=y
 CONFIG_PRISM2_USB=m
-# CONFIG_COMEDI is not set
 CONFIG_RTL8192U=m
 CONFIG_RTLLIB=m
 CONFIG_RTLLIB_CRYPTO_CCMP=m
@@ -7807,7 +8211,6 @@ CONFIG_RTL8192E=m
 # CONFIG_RTL8723BS is not set
 CONFIG_R8712U=m
 CONFIG_R8188EU=m
-CONFIG_88EU_AP_MODE=y
 # CONFIG_RTS5208 is not set
 # CONFIG_VT6655 is not set
 # CONFIG_VT6656 is not set
@@ -7841,7 +8244,6 @@ CONFIG_ADT7316_I2C=m
 #
 # Capacitance to digital converters
 #
-CONFIG_AD7150=m
 CONFIG_AD7746=m
 # end of Capacitance to digital converters
 
@@ -7879,6 +8281,16 @@ CONFIG_STAGING_MEDIA=y
 CONFIG_VIDEO_HANTRO=m
 CONFIG_VIDEO_HANTRO_IMX8M=y
 CONFIG_VIDEO_HANTRO_ROCKCHIP=y
+CONFIG_VIDEO_HANTRO_SUNXI=y
+CONFIG_VIDEO_IMX_MEDIA=m
+
+#
+# i.MX5/6/7/8 Media Sub devices
+#
+CONFIG_VIDEO_IMX7_CSI=m
+# end of i.MX5/6/7/8 Media Sub devices
+
+# CONFIG_VIDEO_MAX96712 is not set
 CONFIG_VIDEO_MESON_VDEC=m
 CONFIG_VIDEO_ROCKCHIP_VDEC=m
 CONFIG_VIDEO_SUNXI=y
@@ -7886,6 +8298,11 @@ CONFIG_VIDEO_SUNXI_CEDRUS=m
 # CONFIG_TEGRA_VDE is not set
 # CONFIG_VIDEO_ZORAN is not set
 # CONFIG_VIDEO_TEGRA is not set
+CONFIG_DVB_AV7110_IR=y
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_PATCH=m
+CONFIG_DVB_SP8870=m
 
 #
 # Android
@@ -7896,6 +8313,7 @@ CONFIG_VIDEO_SUNXI_CEDRUS=m
 # CONFIG_LTE_GDM724X is not set
 # CONFIG_GS_FPGABOOT is not set
 # CONFIG_UNISYSSPAR is not set
+# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
 CONFIG_FB_TFT=m
 CONFIG_FB_TFT_AGM1264K_FL=m
 CONFIG_FB_TFT_BD663474=m
@@ -7928,32 +8346,18 @@ CONFIG_FB_TFT_TLS8204=m
 CONFIG_FB_TFT_UC1611=m
 CONFIG_FB_TFT_UC1701=m
 CONFIG_FB_TFT_UPD161704=m
-CONFIG_FB_TFT_WATTEROTT=m
-CONFIG_FSL_DPAA2=y
-CONFIG_FSL_DPAA2_ETHSW=m
 # CONFIG_KS7010 is not set
 CONFIG_BCM_VIDEOCORE=y
 CONFIG_BCM2835_VCHIQ=y
+CONFIG_VCHIQ_CDEV=y
 CONFIG_SND_BCM2835=m
 CONFIG_VIDEO_BCM2835=m
 CONFIG_BCM2835_VCHIQ_MMAL=m
 # CONFIG_PI433 is not set
-
-#
-# Gasket devices
-#
-# CONFIG_STAGING_GASKET_FRAMEWORK is not set
-# end of Gasket devices
-
 # CONFIG_XIL_AXIS_FIFO is not set
 # CONFIG_FIELDBUS_DEV is not set
-# CONFIG_KPC2000 is not set
 # CONFIG_QLGE is not set
-# CONFIG_WIMAX is not set
 # CONFIG_WFX is not set
-# CONFIG_PHY_HI3670_USB is not set
-# CONFIG_SPMI_HISI3670 is not set
-# CONFIG_MFD_HI6421_SPMI is not set
 # CONFIG_GOLDFISH is not set
 CONFIG_CHROME_PLATFORMS=y
 CONFIG_CHROMEOS_TBMC=m
@@ -7975,18 +8379,18 @@ CONFIG_CROS_USBPD_NOTIFY=y
 # CONFIG_MELLANOX_PLATFORM is not set
 # CONFIG_SURFACE_PLATFORMS is not set
 CONFIG_HAVE_CLK=y
-CONFIG_CLKDEV_LOOKUP=y
 CONFIG_HAVE_CLK_PREPARE=y
 CONFIG_COMMON_CLK=y
 
 #
 # Clock driver for ARM Reference designs
 #
-# CONFIG_ICST is not set
+# CONFIG_CLK_ICST is not set
 CONFIG_CLK_SP810=y
 CONFIG_CLK_VEXPRESS_OSC=y
 # end of Clock driver for ARM Reference designs
 
+# CONFIG_LMK04832 is not set
 # CONFIG_COMMON_CLK_MAX77686 is not set
 # CONFIG_COMMON_CLK_MAX9485 is not set
 CONFIG_COMMON_CLK_RK808=y
@@ -8003,10 +8407,13 @@ CONFIG_COMMON_CLK_SCPI=y
 # CONFIG_COMMON_CLK_CS2000_CP is not set
 CONFIG_COMMON_CLK_FSL_FLEXSPI=m
 # CONFIG_COMMON_CLK_FSL_SAI is not set
+# CONFIG_COMMON_CLK_LAN966X is not set
 # CONFIG_COMMON_CLK_S2MPS11 is not set
+# CONFIG_COMMON_CLK_AXI_CLKGEN is not set
 CONFIG_CLK_QORIQ=y
 CONFIG_CLK_LS1028A_PLLDIG=m
 CONFIG_COMMON_CLK_XGENE=y
+CONFIG_COMMON_CLK_PALMAS=y
 CONFIG_COMMON_CLK_PWM=y
 # CONFIG_COMMON_CLK_VC5 is not set
 CONFIG_COMMON_CLK_BD718XX=m
@@ -8016,6 +8423,7 @@ CONFIG_CLK_BCM2835=y
 CONFIG_CLK_RASPBERRYPI=y
 CONFIG_COMMON_CLK_HI3516CV300=y
 CONFIG_COMMON_CLK_HI3519=y
+CONFIG_COMMON_CLK_HI3559A=y
 CONFIG_COMMON_CLK_HI3660=y
 CONFIG_COMMON_CLK_HI3670=y
 CONFIG_COMMON_CLK_HI3798CV200=y
@@ -8030,6 +8438,7 @@ CONFIG_CLK_IMX8MN=y
 CONFIG_CLK_IMX8MP=y
 CONFIG_CLK_IMX8MQ=y
 CONFIG_CLK_IMX8QXP=y
+CONFIG_CLK_IMX8ULP=y
 
 #
 # Clock driver for MediaTek SoC
@@ -8075,6 +8484,8 @@ CONFIG_COMMON_CLK_MT7622=y
 # CONFIG_COMMON_CLK_MT7622_ETHSYS is not set
 # CONFIG_COMMON_CLK_MT7622_HIFSYS is not set
 # CONFIG_COMMON_CLK_MT7622_AUDSYS is not set
+CONFIG_COMMON_CLK_MT7986=y
+CONFIG_COMMON_CLK_MT7986_ETHSYS=y
 CONFIG_COMMON_CLK_MT8167=y
 CONFIG_COMMON_CLK_MT8167_AUDSYS=y
 CONFIG_COMMON_CLK_MT8167_IMGSYS=y
@@ -8084,17 +8495,31 @@ CONFIG_COMMON_CLK_MT8167_VDECSYS=y
 CONFIG_COMMON_CLK_MT8173=y
 CONFIG_COMMON_CLK_MT8173_MMSYS=y
 CONFIG_COMMON_CLK_MT8183=y
-# CONFIG_COMMON_CLK_MT8183_AUDIOSYS is not set
-# CONFIG_COMMON_CLK_MT8183_CAMSYS is not set
-# CONFIG_COMMON_CLK_MT8183_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT8183_IPU_CORE0 is not set
-# CONFIG_COMMON_CLK_MT8183_IPU_CORE1 is not set
-# CONFIG_COMMON_CLK_MT8183_IPU_ADL is not set
-# CONFIG_COMMON_CLK_MT8183_IPU_CONN is not set
-# CONFIG_COMMON_CLK_MT8183_MFGCFG is not set
-# CONFIG_COMMON_CLK_MT8183_MMSYS is not set
-# CONFIG_COMMON_CLK_MT8183_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8183_VENCSYS is not set
+CONFIG_COMMON_CLK_MT8183_AUDIOSYS=y
+CONFIG_COMMON_CLK_MT8183_CAMSYS=y
+CONFIG_COMMON_CLK_MT8183_IMGSYS=y
+CONFIG_COMMON_CLK_MT8183_IPU_CORE0=y
+CONFIG_COMMON_CLK_MT8183_IPU_CORE1=y
+CONFIG_COMMON_CLK_MT8183_IPU_ADL=y
+CONFIG_COMMON_CLK_MT8183_IPU_CONN=y
+CONFIG_COMMON_CLK_MT8183_MFGCFG=y
+CONFIG_COMMON_CLK_MT8183_MMSYS=y
+CONFIG_COMMON_CLK_MT8183_VDECSYS=y
+CONFIG_COMMON_CLK_MT8183_VENCSYS=y
+CONFIG_COMMON_CLK_MT8192=y
+# CONFIG_COMMON_CLK_MT8192_AUDSYS is not set
+# CONFIG_COMMON_CLK_MT8192_CAMSYS is not set
+# CONFIG_COMMON_CLK_MT8192_IMGSYS is not set
+# CONFIG_COMMON_CLK_MT8192_IMP_IIC_WRAP is not set
+# CONFIG_COMMON_CLK_MT8192_IPESYS is not set
+# CONFIG_COMMON_CLK_MT8192_MDPSYS is not set
+# CONFIG_COMMON_CLK_MT8192_MFGCFG is not set
+# CONFIG_COMMON_CLK_MT8192_MMSYS is not set
+# CONFIG_COMMON_CLK_MT8192_MSDC is not set
+# CONFIG_COMMON_CLK_MT8192_SCP_ADSP is not set
+# CONFIG_COMMON_CLK_MT8192_VDECSYS is not set
+# CONFIG_COMMON_CLK_MT8192_VENCSYS is not set
+CONFIG_COMMON_CLK_MT8195=y
 CONFIG_COMMON_CLK_MT8516=y
 # CONFIG_COMMON_CLK_MT8516_AUDSYS is not set
 # end of Clock driver for MediaTek SoC
@@ -8105,14 +8530,16 @@ CONFIG_COMMON_CLK_MT8516=y
 CONFIG_COMMON_CLK_MESON_REGMAP=y
 CONFIG_COMMON_CLK_MESON_DUALDIV=y
 CONFIG_COMMON_CLK_MESON_MPLL=y
+CONFIG_COMMON_CLK_MESON_PHASE=y
 CONFIG_COMMON_CLK_MESON_PLL=y
+CONFIG_COMMON_CLK_MESON_SCLK_DIV=y
 CONFIG_COMMON_CLK_MESON_VID_PLL_DIV=y
 CONFIG_COMMON_CLK_MESON_AO_CLKC=y
 CONFIG_COMMON_CLK_MESON_EE_CLKC=y
 CONFIG_COMMON_CLK_MESON_CPU_DYNDIV=y
 CONFIG_COMMON_CLK_GXBB=y
 CONFIG_COMMON_CLK_AXG=y
-# CONFIG_COMMON_CLK_AXG_AUDIO is not set
+CONFIG_COMMON_CLK_AXG_AUDIO=y
 CONFIG_COMMON_CLK_G12A=y
 # end of Clock support for Amlogic platforms
 
@@ -8125,11 +8552,13 @@ CONFIG_QCOM_GDSC=y
 CONFIG_QCOM_RPMCC=y
 CONFIG_COMMON_CLK_QCOM=y
 CONFIG_QCOM_A53PLL=y
+# CONFIG_QCOM_A7PLL is not set
 CONFIG_QCOM_CLK_APCS_MSM8916=y
-# CONFIG_QCOM_CLK_APCC_MSM8996 is not set
+CONFIG_QCOM_CLK_APCC_MSM8996=y
+# CONFIG_QCOM_CLK_APCS_SDX55 is not set
 CONFIG_QCOM_CLK_RPM=y
 CONFIG_QCOM_CLK_SMD_RPM=y
-# CONFIG_QCOM_CLK_RPMH is not set
+CONFIG_QCOM_CLK_RPMH=y
 # CONFIG_APQ_GCC_8084 is not set
 # CONFIG_APQ_MMCC_8084 is not set
 # CONFIG_IPQ_APSS_PLL is not set
@@ -8144,38 +8573,59 @@ CONFIG_MSM_GCC_8916=y
 # CONFIG_MSM_GCC_8939 is not set
 CONFIG_MSM_GCC_8960=y
 CONFIG_MSM_LCC_8960=y
+# CONFIG_MDM_GCC_9607 is not set
 # CONFIG_MDM_GCC_9615 is not set
 # CONFIG_MDM_LCC_9615 is not set
 # CONFIG_MSM_MMCC_8960 is not set
+# CONFIG_MSM_GCC_8953 is not set
 # CONFIG_MSM_GCC_8974 is not set
 # CONFIG_MSM_MMCC_8974 is not set
+# CONFIG_MSM_GCC_8976 is not set
+# CONFIG_MSM_MMCC_8994 is not set
 CONFIG_MSM_GCC_8994=y
 CONFIG_MSM_GCC_8996=y
 CONFIG_MSM_MMCC_8996=y
 # CONFIG_MSM_GCC_8998 is not set
 # CONFIG_MSM_GPUCC_8998 is not set
 # CONFIG_MSM_MMCC_8998 is not set
+# CONFIG_QCM_GCC_2290 is not set
 # CONFIG_QCS_GCC_404 is not set
-# CONFIG_SC_CAMCC_7180 is not set
-# CONFIG_SC_DISPCC_7180 is not set
+CONFIG_SC_CAMCC_7180=y
+# CONFIG_SC_CAMCC_7280 is not set
+CONFIG_SC_DISPCC_7180=y
+# CONFIG_SC_DISPCC_7280 is not set
 CONFIG_SC_GCC_7180=y
-# CONFIG_SC_LPASS_CORECC_7180 is not set
-# CONFIG_SC_GPUCC_7180 is not set
-# CONFIG_SC_MSS_7180 is not set
-# CONFIG_SC_VIDEOCC_7180 is not set
+CONFIG_SC_GCC_7280=y
+# CONFIG_SC_GCC_8180X is not set
+CONFIG_SC_GPUCC_7180=y
+# CONFIG_SC_GPUCC_7280 is not set
+# CONFIG_SC_LPASSCC_7280 is not set
+CONFIG_SC_LPASS_CORECC_7180=y
+CONFIG_SC_MSS_7180=y
+CONFIG_SC_VIDEOCC_7180=y
+# CONFIG_SC_VIDEOCC_7280 is not set
 CONFIG_SDM_CAMCC_845=m
 # CONFIG_SDM_GCC_660 is not set
+# CONFIG_SDM_MMCC_660 is not set
+# CONFIG_SDM_GPUCC_660 is not set
 # CONFIG_QCS_TURING_404 is not set
 # CONFIG_QCS_Q6SSTOP_404 is not set
 CONFIG_SDM_GCC_845=y
 CONFIG_SDM_GPUCC_845=y
 CONFIG_SDM_VIDEOCC_845=y
 CONFIG_SDM_DISPCC_845=y
-# CONFIG_SDM_LPASSCC_845 is not set
+CONFIG_SDM_LPASSCC_845=y
 # CONFIG_SDX_GCC_55 is not set
-# CONFIG_SM_DISPCC_8250 is not set
+# CONFIG_SM_CAMCC_8250 is not set
+# CONFIG_SDX_GCC_65 is not set
+CONFIG_SM_DISPCC_8250=y
+# CONFIG_SM_GCC_6115 is not set
+# CONFIG_SM_GCC_6125 is not set
+# CONFIG_SM_GCC_6350 is not set
 CONFIG_SM_GCC_8150=y
 CONFIG_SM_GCC_8250=y
+CONFIG_SM_GCC_8350=y
+# CONFIG_SM_GCC_8450 is not set
 CONFIG_SM_GPUCC_8150=y
 CONFIG_SM_GPUCC_8250=y
 # CONFIG_SM_VIDEOCC_8150 is not set
@@ -8183,13 +8633,14 @@ CONFIG_SM_GPUCC_8250=y
 CONFIG_SPMI_PMIC_CLKDIV=y
 CONFIG_QCOM_HFPLL=y
 # CONFIG_KPSS_XCC is not set
-# CONFIG_CLK_GFM_LPASS_SM8250 is not set
+CONFIG_CLK_GFM_LPASS_SM8250=m
 CONFIG_COMMON_CLK_ROCKCHIP=y
 CONFIG_CLK_PX30=y
 CONFIG_CLK_RK3308=y
 CONFIG_CLK_RK3328=y
 CONFIG_CLK_RK3368=y
 CONFIG_CLK_RK3399=y
+CONFIG_CLK_RK3568=y
 CONFIG_CLK_SUNXI=y
 CONFIG_CLK_SUNXI_CLOCKS=y
 CONFIG_CLK_SUNXI_PRCM_SUN6I=y
@@ -8200,15 +8651,17 @@ CONFIG_SUN50I_A64_CCU=y
 CONFIG_SUN50I_A100_CCU=y
 CONFIG_SUN50I_A100_R_CCU=y
 CONFIG_SUN50I_H6_CCU=y
+CONFIG_SUN50I_H616_CCU=y
 CONFIG_SUN50I_H6_R_CCU=y
-# CONFIG_SUN8I_A83T_CCU is not set
 CONFIG_SUN8I_H3_CCU=y
 CONFIG_SUN8I_DE2_CCU=y
 CONFIG_SUN8I_R_CCU=y
 CONFIG_CLK_TEGRA_BPMP=y
 CONFIG_TEGRA_CLK_DFLL=y
+# CONFIG_XILINX_VCU is not set
 CONFIG_HWSPINLOCK=y
 CONFIG_HWSPINLOCK_QCOM=y
+# CONFIG_HWSPINLOCK_SUN6I is not set
 
 #
 # Clock Source drivers
@@ -8218,6 +8671,7 @@ CONFIG_TIMER_ACPI=y
 CONFIG_TIMER_PROBE=y
 CONFIG_CLKSRC_MMIO=y
 CONFIG_ROCKCHIP_TIMER=y
+CONFIG_SUN4I_TIMER=y
 CONFIG_TEGRA_TIMER=y
 CONFIG_ARM_ARCH_TIMER=y
 CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
@@ -8233,6 +8687,7 @@ CONFIG_TIMER_IMX_SYS_CTR=y
 # end of Clock Source drivers
 
 CONFIG_MAILBOX=y
+CONFIG_APPLE_MAILBOX=y
 CONFIG_ARM_MHU=y
 # CONFIG_ARM_MHU_V2 is not set
 CONFIG_IMX_MBOX=y
@@ -8249,7 +8704,7 @@ CONFIG_HI6220_MBOX=y
 CONFIG_QCOM_APCS_IPC=y
 CONFIG_TEGRA_HSP_MBOX=y
 # CONFIG_XGENE_SLIMPRO_MBOX is not set
-# CONFIG_MTK_CMDQ_MBOX is not set
+CONFIG_MTK_CMDQ_MBOX=y
 CONFIG_SUN6I_MSGBOX=y
 CONFIG_QCOM_IPCC=y
 CONFIG_IOMMU_IOVA=y
@@ -8267,15 +8722,19 @@ CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y
 # end of Generic IOMMU Pagetable Support
 
 # CONFIG_IOMMU_DEBUGFS is not set
+CONFIG_IOMMU_DEFAULT_DMA_STRICT=y
+# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set
 # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
 CONFIG_OF_IOMMU=y
 CONFIG_IOMMU_DMA=y
 CONFIG_ROCKCHIP_IOMMU=y
 # CONFIG_SUN50I_IOMMU is not set
 CONFIG_TEGRA_IOMMU_SMMU=y
+CONFIG_APPLE_DART=y
 CONFIG_ARM_SMMU=y
 # CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set
 CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y
+CONFIG_ARM_SMMU_QCOM=y
 CONFIG_ARM_SMMU_V3=y
 # CONFIG_ARM_SMMU_V3_SVA is not set
 CONFIG_MTK_IOMMU=y
@@ -8288,6 +8747,7 @@ CONFIG_QCOM_IOMMU=y
 CONFIG_REMOTEPROC=y
 # CONFIG_REMOTEPROC_CDEV is not set
 # CONFIG_IMX_REMOTEPROC is not set
+# CONFIG_IMX_DSP_REMOTEPROC is not set
 # CONFIG_MTK_SCP is not set
 CONFIG_QCOM_PIL_INFO=m
 CONFIG_QCOM_RPROC_COMMON=m
@@ -8337,11 +8797,18 @@ CONFIG_MESON_SECURE_PM_DOMAINS=y
 # end of Amlogic SoC drivers
 
 #
+# Apple SoC drivers
+#
+CONFIG_APPLE_PMGR_PWRSTATE=y
+# end of Apple SoC drivers
+
+#
 # Broadcom SoC drivers
 #
 CONFIG_BCM2835_POWER=y
 CONFIG_RASPBERRYPI_POWER=y
-# CONFIG_SOC_BRCMSTB is not set
+CONFIG_SOC_BRCMSTB=y
+CONFIG_BCM_PMB=y
 # end of Broadcom SoC drivers
 
 #
@@ -8354,7 +8821,7 @@ CONFIG_FSL_DPAA=y
 # CONFIG_QUICC_ENGINE is not set
 CONFIG_FSL_MC_DPIO=y
 CONFIG_DPAA2_CONSOLE=m
-# CONFIG_FSL_RCPM is not set
+CONFIG_FSL_RCPM=y
 # end of NXP/Freescale QorIQ SoC drivers
 
 #
@@ -8373,8 +8840,8 @@ CONFIG_SOC_IMX8M=y
 #
 # MediaTek SoC drivers
 #
-# CONFIG_MTK_CMDQ is not set
-# CONFIG_MTK_DEVAPC is not set
+CONFIG_MTK_CMDQ=y
+CONFIG_MTK_DEVAPC=m
 CONFIG_MTK_INFRACFG=y
 CONFIG_MTK_PMIC_WRAP=y
 CONFIG_MTK_SCPSYS=y
@@ -8388,11 +8855,11 @@ CONFIG_MTK_MMSYS=y
 CONFIG_QCOM_AOSS_QMP=y
 CONFIG_QCOM_COMMAND_DB=y
 CONFIG_QCOM_CPR=y
-CONFIG_QCOM_GENI_SE=m
+CONFIG_QCOM_GENI_SE=y
 CONFIG_QCOM_GSBI=y
-# CONFIG_QCOM_LLCC is not set
+CONFIG_QCOM_LLCC=y
 CONFIG_QCOM_KRYO_L2_ACCESSORS=y
-CONFIG_QCOM_MDT_LOADER=m
+CONFIG_QCOM_MDT_LOADER=y
 # CONFIG_QCOM_OCMEM is not set
 CONFIG_QCOM_PDR_HELPERS=m
 CONFIG_QCOM_QMI_HELPERS=m
@@ -8406,6 +8873,8 @@ CONFIG_QCOM_SMEM_STATE=y
 CONFIG_QCOM_SMP2P=y
 CONFIG_QCOM_SMSM=y
 CONFIG_QCOM_SOCINFO=m
+# CONFIG_QCOM_SPM is not set
+CONFIG_QCOM_STATS=m
 CONFIG_QCOM_WCNSS_CTRL=y
 CONFIG_QCOM_APR=m
 # end of Qualcomm SoC drivers
@@ -8429,7 +8898,6 @@ CONFIG_SOC_TEGRA_POWERGATE_BPMP=y
 #
 # Xilinx SoC drivers
 #
-# CONFIG_XILINX_VCU is not set
 # end of Xilinx SoC drivers
 # end of SOC (System On Chip) specific Drivers
 
@@ -8439,18 +8907,19 @@ CONFIG_PM_DEVFREQ=y
 # DEVFREQ Governors
 #
 CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
-# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set
-# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
-# CONFIG_DEVFREQ_GOV_USERSPACE is not set
-# CONFIG_DEVFREQ_GOV_PASSIVE is not set
+CONFIG_DEVFREQ_GOV_PERFORMANCE=y
+CONFIG_DEVFREQ_GOV_POWERSAVE=y
+CONFIG_DEVFREQ_GOV_USERSPACE=y
+CONFIG_DEVFREQ_GOV_PASSIVE=y
 
 #
 # DEVFREQ Drivers
 #
-# CONFIG_ARM_IMX_BUS_DEVFREQ is not set
-# CONFIG_ARM_IMX8M_DDRC_DEVFREQ is not set
+CONFIG_ARM_IMX_BUS_DEVFREQ=m
+CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m
 # CONFIG_ARM_TEGRA_DEVFREQ is not set
 CONFIG_ARM_RK3399_DMC_DEVFREQ=y
+# CONFIG_ARM_SUN8I_A33_MBUS_DEVFREQ is not set
 CONFIG_PM_DEVFREQ_EVENT=y
 CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI=y
 CONFIG_EXTCON=y
@@ -8462,6 +8931,7 @@ CONFIG_EXTCON_ADC_JACK=m
 # CONFIG_EXTCON_FSA9480 is not set
 CONFIG_EXTCON_GPIO=y
 # CONFIG_EXTCON_MAX3355 is not set
+CONFIG_EXTCON_PALMAS=y
 # CONFIG_EXTCON_PTN5150 is not set
 CONFIG_EXTCON_QCOM_SPMI_MISC=y
 # CONFIG_EXTCON_RT8973A is not set
@@ -8494,9 +8964,15 @@ CONFIG_IIO_TRIGGERED_EVENT=m
 #
 CONFIG_ADIS16201=m
 CONFIG_ADIS16209=m
+CONFIG_ADXL313=m
+CONFIG_ADXL313_I2C=m
+CONFIG_ADXL313_SPI=m
 CONFIG_ADXL345=m
 CONFIG_ADXL345_I2C=m
 CONFIG_ADXL345_SPI=m
+CONFIG_ADXL355=m
+CONFIG_ADXL355_I2C=m
+CONFIG_ADXL355_SPI=m
 CONFIG_ADXL372=m
 CONFIG_ADXL372_SPI=m
 CONFIG_ADXL372_I2C=m
@@ -8508,11 +8984,16 @@ CONFIG_BMA400_SPI=m
 CONFIG_BMC150_ACCEL=m
 CONFIG_BMC150_ACCEL_I2C=m
 CONFIG_BMC150_ACCEL_SPI=m
+CONFIG_BMI088_ACCEL=m
+CONFIG_BMI088_ACCEL_SPI=m
 CONFIG_DA280=m
 CONFIG_DA311=m
 CONFIG_DMARD06=m
 CONFIG_DMARD09=m
 CONFIG_DMARD10=m
+CONFIG_FXLS8962AF=m
+CONFIG_FXLS8962AF_I2C=m
+CONFIG_FXLS8962AF_SPI=m
 CONFIG_HID_SENSOR_ACCEL_3D=m
 CONFIG_IIO_CROS_EC_ACCEL_LEGACY=m
 CONFIG_IIO_ST_ACCEL_3AXIS=m
@@ -8534,6 +9015,7 @@ CONFIG_MMA9553=m
 CONFIG_MXC4005=m
 CONFIG_MXC6255=m
 CONFIG_SCA3000=m
+CONFIG_SCA3300=m
 CONFIG_STK8312=m
 CONFIG_STK8BA50=m
 # end of Accelerometers
@@ -8572,6 +9054,7 @@ CONFIG_HI8435=m
 CONFIG_HX711=m
 CONFIG_INA2XX_ADC=m
 CONFIG_IMX7D_ADC=m
+CONFIG_IMX8QXP_ADC=m
 CONFIG_LTC2471=m
 CONFIG_LTC2485=m
 CONFIG_LTC2496=m
@@ -8588,6 +9071,7 @@ CONFIG_MCP3911=m
 CONFIG_MEDIATEK_MT6577_AUXADC=m
 CONFIG_MESON_SARADC=y
 CONFIG_NAU7802=m
+CONFIG_PALMAS_GPADC=m
 CONFIG_QCOM_VADC_COMMON=y
 CONFIG_QCOM_SPMI_IADC=m
 CONFIG_QCOM_SPMI_VADC=y
@@ -8606,13 +9090,21 @@ CONFIG_TI_ADS7950=m
 CONFIG_TI_ADS8344=m
 CONFIG_TI_ADS8688=m
 CONFIG_TI_ADS124S08=m
+CONFIG_TI_ADS131E08=m
 CONFIG_TI_TLC4541=m
+CONFIG_TI_TSC2046=m
 CONFIG_VF610_ADC=m
 CONFIG_VIPERBOARD_ADC=m
 # CONFIG_XILINX_XADC is not set
 # end of Analog to digital converters
 
 #
+# Analog to digital and digital to analog converters
+#
+CONFIG_AD74413R=m
+# end of Analog to digital and digital to analog converters
+
+#
 # Analog Front Ends
 #
 CONFIG_IIO_RESCALE=m
@@ -8626,6 +9118,12 @@ CONFIG_HMC425=m
 # end of Amplifiers
 
 #
+# Capacitance to digital converters
+#
+CONFIG_AD7150=m
+# end of Capacitance to digital converters
+
+#
 # Chemical Sensors
 #
 CONFIG_ATLAS_PH_SENSOR=m
@@ -8639,8 +9137,13 @@ CONFIG_PMS7003=m
 CONFIG_SCD30_CORE=m
 CONFIG_SCD30_I2C=m
 CONFIG_SCD30_SERIAL=m
+CONFIG_SCD4X=m
 CONFIG_SENSIRION_SGP30=m
+CONFIG_SENSIRION_SGP40=m
 CONFIG_SPS30=m
+CONFIG_SPS30_I2C=m
+CONFIG_SPS30_SERIAL=m
+CONFIG_SENSEAIR_SUNRISE_CO2=m
 CONFIG_VZ89X=m
 # end of Chemical Sensors
 
@@ -8658,6 +9161,12 @@ CONFIG_HID_SENSOR_IIO_TRIGGER=m
 CONFIG_IIO_MS_SENSORS_I2C=m
 
 #
+# IIO SCMI Sensors
+#
+CONFIG_IIO_SCMI=m
+# end of IIO SCMI Sensors
+
+#
 # SSP Sensor Common
 #
 # CONFIG_IIO_SSP_SENSORHUB is not set
@@ -8670,6 +9179,7 @@ CONFIG_IIO_ST_SENSORS_CORE=m
 #
 # Digital to analog converters
 #
+CONFIG_AD3552R=m
 CONFIG_AD5064=m
 CONFIG_AD5360=m
 CONFIG_AD5380=m
@@ -8688,8 +9198,10 @@ CONFIG_AD5755=m
 CONFIG_AD5758=m
 CONFIG_AD5761=m
 CONFIG_AD5764=m
+CONFIG_AD5766=m
 CONFIG_AD5770R=m
 CONFIG_AD5791=m
+CONFIG_AD7293=m
 CONFIG_AD7303=m
 CONFIG_AD8801=m
 CONFIG_DPOT_DAC=m
@@ -8715,6 +9227,12 @@ CONFIG_VF610_DAC=m
 # end of IIO dummy driver
 
 #
+# Filters
+#
+CONFIG_ADMV8818=m
+# end of Filters
+
+#
 # Frequency Synthesizers DDS/PLL
 #
 
@@ -8729,6 +9247,8 @@ CONFIG_AD9523=m
 #
 CONFIG_ADF4350=m
 CONFIG_ADF4371=m
+CONFIG_ADMV1013=m
+CONFIG_ADRF6780=m
 # end of Phase-Locked Loop (PLL) frequency synthesizers
 # end of Frequency Synthesizers DDS/PLL
 
@@ -8809,6 +9329,9 @@ CONFIG_INV_MPU6050_SPI=m
 CONFIG_IIO_ST_LSM6DSX=m
 CONFIG_IIO_ST_LSM6DSX_I2C=m
 CONFIG_IIO_ST_LSM6DSX_SPI=m
+CONFIG_IIO_ST_LSM9DS0=m
+CONFIG_IIO_ST_LSM9DS0_I2C=m
+CONFIG_IIO_ST_LSM9DS0_SPI=m
 # end of Inertial measurement units
 
 CONFIG_IIO_ADIS_LIB=m
@@ -8859,6 +9382,7 @@ CONFIG_TCS3414=m
 CONFIG_TCS3472=m
 CONFIG_SENSORS_TSL2563=m
 CONFIG_TSL2583=m
+CONFIG_TSL2591=m
 CONFIG_TSL2772=m
 CONFIG_TSL4531=m
 CONFIG_US5182D=m
@@ -8891,6 +9415,7 @@ CONFIG_SENSORS_HMC5843_SPI=m
 CONFIG_SENSORS_RM3100=m
 CONFIG_SENSORS_RM3100_I2C=m
 CONFIG_SENSORS_RM3100_SPI=m
+CONFIG_YAMAHA_YAS530=m
 # end of Magnetometer sensors
 
 #
@@ -8918,11 +9443,13 @@ CONFIG_IIO_SYSFS_TRIGGER=m
 #
 # Linear and angular position sensors
 #
+# CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE is not set
 # end of Linear and angular position sensors
 
 #
 # Digital potentiometers
 #
+CONFIG_AD5110=m
 CONFIG_AD5272=m
 CONFIG_DS1803=m
 CONFIG_MAX5432=m
@@ -8981,6 +9508,7 @@ CONFIG_AS3935=m
 #
 # Proximity and distance sensors
 #
+CONFIG_CROS_EC_MKBP_PROXIMITY=m
 CONFIG_ISL29501=m
 CONFIG_LIDAR_LITE_V2=m
 CONFIG_MB1232=m
@@ -9011,9 +9539,11 @@ CONFIG_MLX90614=m
 CONFIG_MLX90632=m
 CONFIG_TMP006=m
 CONFIG_TMP007=m
+CONFIG_TMP117=m
 CONFIG_TSYS01=m
 CONFIG_TSYS02D=m
 CONFIG_MAX31856=m
+CONFIG_MAX31865=m
 # end of Temperature sensors
 
 # CONFIG_NTB is not set
@@ -9023,17 +9553,18 @@ CONFIG_PWM_SYSFS=y
 # CONFIG_PWM_DEBUG is not set
 # CONFIG_PWM_ATMEL_TCB is not set
 CONFIG_PWM_BCM2835=m
-CONFIG_PWM_CROS_EC=m
+CONFIG_PWM_CROS_EC=y
 # CONFIG_PWM_DWC is not set
 # CONFIG_PWM_FSL_FTM is not set
 # CONFIG_PWM_HIBVT is not set
 # CONFIG_PWM_IMX1 is not set
-# CONFIG_PWM_IMX27 is not set
+CONFIG_PWM_IMX27=m
 # CONFIG_PWM_IMX_TPM is not set
 CONFIG_PWM_MESON=y
 CONFIG_PWM_MTK_DISP=m
 CONFIG_PWM_MEDIATEK=m
 # CONFIG_PWM_PCA9685 is not set
+CONFIG_PWM_RASPBERRYPI_POE=m
 CONFIG_PWM_ROCKCHIP=y
 CONFIG_PWM_SL28CPLD=m
 CONFIG_PWM_SUN4I=m
@@ -9052,6 +9583,7 @@ CONFIG_ARM_GIC_V3_ITS=y
 CONFIG_ARM_GIC_V3_ITS_PCI=y
 CONFIG_ARM_GIC_V3_ITS_FSL_MC=y
 # CONFIG_AL_FIC is not set
+CONFIG_BRCMSTB_L2_IRQ=y
 CONFIG_HISILICON_IRQ_MBIGEN=y
 CONFIG_IMX_GPCV2=y
 CONFIG_MVEBU_GICP=y
@@ -9068,23 +9600,22 @@ CONFIG_QCOM_PDC=y
 CONFIG_IMX_IRQSTEER=y
 CONFIG_IMX_INTMUX=y
 CONFIG_MST_IRQ=y
+CONFIG_APPLE_AIC=y
 # end of IRQ chip support
 
 # CONFIG_IPACK_BUS is not set
 CONFIG_ARCH_HAS_RESET_CONTROLLER=y
 CONFIG_RESET_CONTROLLER=y
-# CONFIG_RESET_BRCMSTB_RESCAL is not set
 CONFIG_RESET_IMX7=y
-# CONFIG_RESET_INTEL_GW is not set
 CONFIG_RESET_MESON=y
-# CONFIG_RESET_MESON_AUDIO_ARB is not set
+CONFIG_RESET_MESON_AUDIO_ARB=m
 CONFIG_RESET_QCOM_AOSS=y
-CONFIG_RESET_QCOM_PDC=m
+CONFIG_RESET_QCOM_PDC=y
 CONFIG_RESET_RASPBERRYPI=y
 CONFIG_RESET_SCMI=y
 CONFIG_RESET_SIMPLE=y
 CONFIG_RESET_SUNXI=y
-# CONFIG_RESET_TI_SYSCON is not set
+CONFIG_RESET_TI_SYSCON=y
 CONFIG_COMMON_RESET_HI3660=y
 CONFIG_COMMON_RESET_HI6220=y
 CONFIG_RESET_TEGRA_BPMP=y
@@ -9095,6 +9626,7 @@ CONFIG_RESET_TEGRA_BPMP=y
 CONFIG_GENERIC_PHY=y
 CONFIG_GENERIC_PHY_MIPI_DPHY=y
 CONFIG_PHY_XGENE=y
+# CONFIG_PHY_CAN_TRANSCEIVER is not set
 CONFIG_PHY_SUN4I_USB=y
 CONFIG_PHY_SUN6I_MIPI_DPHY=m
 # CONFIG_PHY_SUN9I_USB is not set
@@ -9106,32 +9638,45 @@ CONFIG_PHY_MESON_G12A_USB3_PCIE=y
 CONFIG_PHY_MESON_AXG_PCIE=y
 CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG=y
 CONFIG_PHY_MESON_AXG_MIPI_DPHY=y
+
+#
+# PHY drivers for Broadcom platforms
+#
 # CONFIG_BCM_KONA_USB2_PHY is not set
+CONFIG_PHY_BRCM_USB=y
+# end of PHY drivers for Broadcom platforms
+
 # CONFIG_PHY_CADENCE_TORRENT is not set
 # CONFIG_PHY_CADENCE_DPHY is not set
 # CONFIG_PHY_CADENCE_SIERRA is not set
 # CONFIG_PHY_CADENCE_SALVO is not set
 # CONFIG_PHY_FSL_IMX8MQ_USB is not set
 CONFIG_PHY_MIXEL_MIPI_DPHY=m
+# CONFIG_PHY_FSL_IMX8M_PCIE is not set
 CONFIG_PHY_HI6220_USB=y
 # CONFIG_PHY_HI3660_USB is not set
+# CONFIG_PHY_HI3670_USB is not set
+# CONFIG_PHY_HI3670_PCIE is not set
 # CONFIG_PHY_HISTB_COMBPHY is not set
 # CONFIG_PHY_HISI_INNO_USB2 is not set
 CONFIG_PHY_MVEBU_A3700_COMPHY=y
 CONFIG_PHY_MVEBU_A3700_UTMI=y
 # CONFIG_PHY_MVEBU_A38X_COMPHY is not set
 CONFIG_PHY_MVEBU_CP110_COMPHY=y
+# CONFIG_PHY_MVEBU_CP110_UTMI is not set
 # CONFIG_PHY_PXA_28NM_HSIC is not set
 # CONFIG_PHY_PXA_28NM_USB2 is not set
-# CONFIG_PHY_MTK_TPHY is not set
+CONFIG_PHY_MTK_TPHY=y
 # CONFIG_PHY_MTK_UFS is not set
 # CONFIG_PHY_MTK_XSPHY is not set
 CONFIG_PHY_MTK_HDMI=m
 CONFIG_PHY_MTK_MIPI_DSI=m
+# CONFIG_PHY_LAN966X_SERDES is not set
 # CONFIG_PHY_CPCAP_USB is not set
 # CONFIG_PHY_MAPPHONE_MDM6600 is not set
 # CONFIG_PHY_OCELOT_SERDES is not set
 # CONFIG_PHY_QCOM_APQ8064_SATA is not set
+# CONFIG_PHY_QCOM_EDP is not set
 # CONFIG_PHY_QCOM_IPQ4019_USB is not set
 # CONFIG_PHY_QCOM_IPQ806X_SATA is not set
 # CONFIG_PHY_QCOM_PCIE2 is not set
@@ -9148,10 +9693,11 @@ CONFIG_PHY_ROCKCHIP_DPHY_RX0=m
 CONFIG_PHY_ROCKCHIP_EMMC=y
 CONFIG_PHY_ROCKCHIP_INNO_HDMI=y
 CONFIG_PHY_ROCKCHIP_INNO_USB2=y
+# CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY is not set
 CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m
 CONFIG_PHY_ROCKCHIP_PCIE=y
 CONFIG_PHY_ROCKCHIP_TYPEC=y
-# CONFIG_PHY_ROCKCHIP_USB is not set
+CONFIG_PHY_ROCKCHIP_USB=y
 # CONFIG_PHY_SAMSUNG_USB2 is not set
 CONFIG_PHY_TEGRA_XUSB=y
 # CONFIG_PHY_TEGRA194_P2U is not set
@@ -9160,6 +9706,7 @@ CONFIG_PHY_TEGRA_XUSB=y
 
 CONFIG_POWERCAP=y
 # CONFIG_IDLE_INJECT is not set
+# CONFIG_DTPM is not set
 # CONFIG_MCB is not set
 
 #
@@ -9180,7 +9727,9 @@ CONFIG_QCOM_L3_PMU=y
 # CONFIG_XGENE_PMU is not set
 # CONFIG_ARM_SPE_PMU is not set
 # CONFIG_ARM_DMC620_PMU is not set
+# CONFIG_MARVELL_CN10K_TAD_PMU is not set
 CONFIG_HISI_PMU=y
+# CONFIG_HISI_PCIE_PMU is not set
 # end of Performance monitor support
 
 CONFIG_RAS=y
@@ -9200,14 +9749,13 @@ CONFIG_ND_BTT=m
 CONFIG_BTT=y
 CONFIG_OF_PMEM=y
 CONFIG_NVDIMM_KEYS=y
-CONFIG_DAX_DRIVER=y
 CONFIG_DAX=y
 CONFIG_NVMEM=y
 CONFIG_NVMEM_SYSFS=y
 # CONFIG_NVMEM_IMX_IIM is not set
 CONFIG_NVMEM_IMX_OCOTP=y
 CONFIG_NVMEM_IMX_OCOTP_SCU=y
-CONFIG_MTK_EFUSE=m
+CONFIG_MTK_EFUSE=y
 CONFIG_QCOM_QFPROM=y
 # CONFIG_NVMEM_SPMI_SDAM is not set
 CONFIG_ROCKCHIP_EFUSE=y
@@ -9216,6 +9764,7 @@ CONFIG_NVMEM_SUNXI_SID=m
 CONFIG_MESON_EFUSE=m
 # CONFIG_MESON_MX_EFUSE is not set
 # CONFIG_NVMEM_SNVS_LPGPR is not set
+CONFIG_NVMEM_RMEM=m
 
 #
 # HW tracing support
@@ -9244,19 +9793,31 @@ CONFIG_SLIMBUS=m
 CONFIG_SLIM_QCOM_CTRL=m
 CONFIG_SLIM_QCOM_NGD_CTRL=m
 CONFIG_INTERCONNECT=y
-# CONFIG_INTERCONNECT_IMX is not set
+CONFIG_INTERCONNECT_IMX=m
+CONFIG_INTERCONNECT_IMX8MM=m
+CONFIG_INTERCONNECT_IMX8MN=m
+CONFIG_INTERCONNECT_IMX8MQ=m
 CONFIG_INTERCONNECT_QCOM=y
-CONFIG_INTERCONNECT_QCOM_BCM_VOTER=m
+CONFIG_INTERCONNECT_QCOM_BCM_VOTER=y
 CONFIG_INTERCONNECT_QCOM_MSM8916=m
+# CONFIG_INTERCONNECT_QCOM_MSM8939 is not set
 # CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
+# CONFIG_INTERCONNECT_QCOM_MSM8996 is not set
 CONFIG_INTERCONNECT_QCOM_OSM_L3=m
+# CONFIG_INTERCONNECT_QCOM_QCM2290 is not set
 # CONFIG_INTERCONNECT_QCOM_QCS404 is not set
 CONFIG_INTERCONNECT_QCOM_RPMH_POSSIBLE=y
-CONFIG_INTERCONNECT_QCOM_RPMH=m
-# CONFIG_INTERCONNECT_QCOM_SC7180 is not set
-CONFIG_INTERCONNECT_QCOM_SDM845=m
+CONFIG_INTERCONNECT_QCOM_RPMH=y
+CONFIG_INTERCONNECT_QCOM_SC7180=y
+CONFIG_INTERCONNECT_QCOM_SC7280=y
+# CONFIG_INTERCONNECT_QCOM_SC8180X is not set
+# CONFIG_INTERCONNECT_QCOM_SDM660 is not set
+CONFIG_INTERCONNECT_QCOM_SDM845=y
+# CONFIG_INTERCONNECT_QCOM_SDX55 is not set
 CONFIG_INTERCONNECT_QCOM_SM8150=m
 CONFIG_INTERCONNECT_QCOM_SM8250=m
+CONFIG_INTERCONNECT_QCOM_SM8350=m
+# CONFIG_INTERCONNECT_QCOM_SM8450 is not set
 CONFIG_INTERCONNECT_QCOM_SMD_RPM=m
 # CONFIG_COUNTER is not set
 # CONFIG_MOST is not set
@@ -9305,7 +9866,7 @@ CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
 # CONFIG_OCFS2_FS_STATS is not set
 # CONFIG_OCFS2_DEBUG_MASKLOG is not set
 # CONFIG_OCFS2_DEBUG_FS is not set
-CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS=y
 CONFIG_BTRFS_FS_POSIX_ACL=y
 # CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
 # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
@@ -9321,13 +9882,13 @@ CONFIG_F2FS_FS_SECURITY=y
 # CONFIG_F2FS_CHECK_FS is not set
 # CONFIG_F2FS_FAULT_INJECTION is not set
 # CONFIG_F2FS_FS_COMPRESSION is not set
+CONFIG_F2FS_IOSTAT=y
 # CONFIG_ZONEFS_FS is not set
 # CONFIG_FS_DAX is not set
 CONFIG_FS_POSIX_ACL=y
 CONFIG_EXPORTFS=y
 CONFIG_EXPORTFS_BLOCK_OPS=y
 CONFIG_FILE_LOCKING=y
-CONFIG_MANDATORY_FILE_LOCKING=y
 CONFIG_FS_ENCRYPTION=y
 CONFIG_FS_ENCRYPTION_ALGS=y
 # CONFIG_FS_VERITY is not set
@@ -9359,14 +9920,14 @@ CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
 #
 # Caches
 #
+CONFIG_NETFS_SUPPORT=m
+CONFIG_NETFS_STATS=y
 CONFIG_FSCACHE=m
 CONFIG_FSCACHE_STATS=y
-# CONFIG_FSCACHE_HISTOGRAM is not set
 # CONFIG_FSCACHE_DEBUG is not set
-CONFIG_FSCACHE_OBJECT_LIST=y
 CONFIG_CACHEFILES=m
 # CONFIG_CACHEFILES_DEBUG is not set
-# CONFIG_CACHEFILES_HISTOGRAM is not set
+# CONFIG_CACHEFILES_ERROR_INJECTION is not set
 # end of Caches
 
 #
@@ -9390,6 +9951,10 @@ CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
 CONFIG_EXFAT_FS=m
 CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
 # CONFIG_NTFS_FS is not set
+CONFIG_NTFS3_FS=y
+# CONFIG_NTFS3_64BIT_CLUSTER is not set
+CONFIG_NTFS3_LZX_XPRESS=y
+# CONFIG_NTFS3_FS_POSIX_ACL is not set
 # end of DOS/FAT/EXFAT/NT Filesystems
 
 #
@@ -9406,6 +9971,7 @@ CONFIG_TMPFS=y
 CONFIG_TMPFS_POSIX_ACL=y
 CONFIG_TMPFS_XATTR=y
 # CONFIG_TMPFS_INODE64 is not set
+CONFIG_ARCH_SUPPORTS_HUGETLBFS=y
 CONFIG_HUGETLBFS=y
 CONFIG_HUGETLB_PAGE=y
 CONFIG_MEMFD_CREATE=y
@@ -9496,7 +10062,7 @@ CONFIG_NFS_V4_1=y
 CONFIG_NFS_V4_2=y
 CONFIG_PNFS_FILE_LAYOUT=y
 CONFIG_PNFS_BLOCK=y
-CONFIG_PNFS_FLEXFILE_LAYOUT=m
+CONFIG_PNFS_FLEXFILE_LAYOUT=y
 CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
 # CONFIG_NFS_V4_1_MIGRATION is not set
 CONFIG_NFS_V4_SECURITY_LABEL=y
@@ -9521,6 +10087,7 @@ CONFIG_LOCKD=y
 CONFIG_LOCKD_V4=y
 CONFIG_NFS_ACL_SUPPORT=y
 CONFIG_NFS_COMMON=y
+CONFIG_NFS_V4_2_SSC_HELPER=y
 CONFIG_SUNRPC=y
 CONFIG_SUNRPC_GSS=y
 CONFIG_SUNRPC_BACKCHANNEL=y
@@ -9535,7 +10102,6 @@ CONFIG_CEPH_FS_POSIX_ACL=y
 CONFIG_CIFS=m
 # CONFIG_CIFS_STATS2 is not set
 CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
-CONFIG_CIFS_WEAK_PW_HASH=y
 CONFIG_CIFS_UPCALL=y
 CONFIG_CIFS_XATTR=y
 CONFIG_CIFS_POSIX=y
@@ -9545,6 +10111,8 @@ CONFIG_CIFS_DEBUG=y
 CONFIG_CIFS_DFS_UPCALL=y
 # CONFIG_CIFS_SWN_UPCALL is not set
 CONFIG_CIFS_FSCACHE=y
+# CONFIG_SMB_SERVER is not set
+CONFIG_SMBFS_COMMON=m
 CONFIG_CODA_FS=m
 # CONFIG_AFS_FS is not set
 CONFIG_9P_FS=m
@@ -9604,7 +10172,8 @@ CONFIG_NLS_MAC_TURKISH=m
 CONFIG_NLS_UTF8=m
 CONFIG_DLM=m
 CONFIG_DLM_DEBUG=y
-# CONFIG_UNICODE is not set
+CONFIG_UNICODE=m
+# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
 CONFIG_IO_WQ=y
 # end of File systems
 
@@ -9636,6 +10205,7 @@ CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
 CONFIG_SECURITY_YAMA=y
 # CONFIG_SECURITY_SAFESETID is not set
 # CONFIG_SECURITY_LOCKDOWN_LSM is not set
+# CONFIG_SECURITY_LANDLOCK is not set
 # CONFIG_INTEGRITY is not set
 # CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
 CONFIG_DEFAULT_SECURITY_DAC=y
@@ -9655,11 +10225,13 @@ CONFIG_INIT_STACK_NONE=y
 # CONFIG_GCC_PLUGIN_STACKLEAK is not set
 # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
 # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
+# CONFIG_ZERO_CALL_USED_REGS is not set
 # end of Memory initialization
 # end of Kernel hardening options
 # end of Security options
 
-CONFIG_XOR_BLOCKS=m
+CONFIG_XOR_BLOCKS=y
 CONFIG_ASYNC_CORE=m
 CONFIG_ASYNC_MEMCPY=m
 CONFIG_ASYNC_XOR=m
@@ -9698,7 +10270,6 @@ CONFIG_CRYPTO_PCRYPT=m
 CONFIG_CRYPTO_CRYPTD=y
 CONFIG_CRYPTO_AUTHENC=m
 # CONFIG_CRYPTO_TEST is not set
-CONFIG_CRYPTO_SIMD=y
 CONFIG_CRYPTO_ENGINE=y
 
 #
@@ -9708,6 +10279,7 @@ CONFIG_CRYPTO_RSA=y
 CONFIG_CRYPTO_DH=m
 CONFIG_CRYPTO_ECC=m
 CONFIG_CRYPTO_ECDH=m
+# CONFIG_CRYPTO_ECDSA is not set
 # CONFIG_CRYPTO_ECRDSA is not set
 # CONFIG_CRYPTO_SM2 is not set
 # CONFIG_CRYPTO_CURVE25519 is not set
@@ -9753,8 +10325,8 @@ CONFIG_CRYPTO_VMAC=m
 #
 CONFIG_CRYPTO_CRC32C=y
 CONFIG_CRYPTO_CRC32=y
-CONFIG_CRYPTO_XXHASH=m
-CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_XXHASH=y
+CONFIG_CRYPTO_BLAKE2B=y
 # CONFIG_CRYPTO_BLAKE2S is not set
 CONFIG_CRYPTO_CRCT10DIF=y
 CONFIG_CRYPTO_GHASH=y
@@ -9762,17 +10334,13 @@ CONFIG_CRYPTO_POLY1305=y
 CONFIG_CRYPTO_MD4=m
 CONFIG_CRYPTO_MD5=y
 CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_RMD128=m
 CONFIG_CRYPTO_RMD160=m
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
 CONFIG_CRYPTO_SHA1=y
 CONFIG_CRYPTO_SHA256=y
 CONFIG_CRYPTO_SHA512=y
 CONFIG_CRYPTO_SHA3=y
 CONFIG_CRYPTO_SM3=y
 # CONFIG_CRYPTO_STREEBOG is not set
-CONFIG_CRYPTO_TGR192=m
 CONFIG_CRYPTO_WP512=m
 
 #
@@ -9791,7 +10359,6 @@ CONFIG_CRYPTO_CAST6=m
 CONFIG_CRYPTO_DES=m
 CONFIG_CRYPTO_FCRYPT=m
 CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_SALSA20=m
 CONFIG_CRYPTO_CHACHA20=y
 CONFIG_CRYPTO_SEED=m
 CONFIG_CRYPTO_SERPENT=m
@@ -9829,26 +10396,6 @@ CONFIG_CRYPTO_USER_API_AEAD=y
 CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
 # CONFIG_CRYPTO_STATS is not set
 CONFIG_CRYPTO_HASH_INFO=y
-
-#
-# Crypto library routines
-#
-CONFIG_CRYPTO_LIB_AES=y
-CONFIG_CRYPTO_LIB_ARC4=m
-CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m
-CONFIG_CRYPTO_LIB_BLAKE2S=m
-CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=y
-CONFIG_CRYPTO_LIB_CHACHA_GENERIC=y
-CONFIG_CRYPTO_LIB_CHACHA=m
-CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
-CONFIG_CRYPTO_LIB_CURVE25519=m
-CONFIG_CRYPTO_LIB_DES=m
-CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9
-CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=y
-CONFIG_CRYPTO_LIB_POLY1305_GENERIC=y
-CONFIG_CRYPTO_LIB_POLY1305=m
-CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
-CONFIG_CRYPTO_LIB_SHA256=y
 CONFIG_CRYPTO_HW=y
 CONFIG_CRYPTO_DEV_ALLWINNER=y
 # CONFIG_CRYPTO_DEV_SUN4I_SS is not set
@@ -9891,9 +10438,11 @@ CONFIG_CRYPTO_DEV_MARVELL_CESA=m
 CONFIG_CRYPTO_DEV_QCE=m
 CONFIG_CRYPTO_DEV_QCE_SKCIPHER=y
 CONFIG_CRYPTO_DEV_QCE_SHA=y
+CONFIG_CRYPTO_DEV_QCE_AEAD=y
 CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y
 # CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set
 # CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set
+# CONFIG_CRYPTO_DEV_QCE_ENABLE_AEAD is not set
 CONFIG_CRYPTO_DEV_QCE_SW_MAX_LEN=512
 CONFIG_CRYPTO_DEV_QCOM_RNG=m
 CONFIG_CRYPTO_DEV_ROCKCHIP=m
@@ -9926,10 +10475,12 @@ CONFIG_SYSTEM_TRUSTED_KEYS=""
 # CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
 # end of Certificates for signature checking
 
+CONFIG_BINARY_PRINTF=y
+
 #
 # Library routines
 #
-CONFIG_RAID6_PQ=m
+CONFIG_RAID6_PQ=y
 CONFIG_RAID6_PQ_BENCHMARK=y
 CONFIG_LINEAR_RANGES=y
 # CONFIG_PACKING is not set
@@ -9946,6 +10497,28 @@ CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
 CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
 CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
 # CONFIG_INDIRECT_PIO is not set
+
+#
+# Crypto library routines
+#
+CONFIG_CRYPTO_LIB_AES=y
+CONFIG_CRYPTO_LIB_ARC4=m
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
+CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=y
+CONFIG_CRYPTO_LIB_CHACHA_GENERIC=y
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_DES=m
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9
+CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=y
+CONFIG_CRYPTO_LIB_POLY1305_GENERIC=y
+CONFIG_CRYPTO_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_SHA256=y
+CONFIG_CRYPTO_LIB_SM4=y
+# end of Crypto library routines
+
 CONFIG_CRC_CCITT=y
 CONFIG_CRC16=y
 CONFIG_CRC_T10DIF=y
@@ -9975,7 +10548,7 @@ CONFIG_LZO_DECOMPRESS=y
 CONFIG_LZ4_COMPRESS=m
 CONFIG_LZ4HC_COMPRESS=m
 CONFIG_LZ4_DECOMPRESS=y
-CONFIG_ZSTD_COMPRESS=m
+CONFIG_ZSTD_COMPRESS=y
 CONFIG_ZSTD_DECOMPRESS=y
 CONFIG_XZ_DEC=y
 # CONFIG_XZ_DEC_X86 is not set
@@ -9984,6 +10557,7 @@ CONFIG_XZ_DEC=y
 CONFIG_XZ_DEC_ARM=y
 CONFIG_XZ_DEC_ARMTHUMB=y
 # CONFIG_XZ_DEC_SPARC is not set
+# CONFIG_XZ_DEC_MICROLZMA is not set
 CONFIG_XZ_DEC_BCJ=y
 # CONFIG_XZ_DEC_TEST is not set
 CONFIG_DECOMPRESS_GZIP=y
@@ -10019,6 +10593,7 @@ CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
 CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y
 CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y
 CONFIG_SWIOTLB=y
+# CONFIG_DMA_RESTRICTED_POOL is not set
 CONFIG_DMA_NONCOHERENT_MMAP=y
 CONFIG_DMA_COHERENT_POOL=y
 CONFIG_DMA_REMAP=y
@@ -10063,10 +10638,10 @@ CONFIG_SG_POOL=y
 CONFIG_MEMREGION=y
 CONFIG_ARCH_STACKWALK=y
 CONFIG_SBITMAP=y
-# CONFIG_STRING_SELFTEST is not set
 # end of Library routines
 
 CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
+CONFIG_ASN1_ENCODER=m
 
 #
 # Kernel hacking
@@ -10077,6 +10652,7 @@ CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
 #
 CONFIG_PRINTK_TIME=y
 # CONFIG_PRINTK_CALLER is not set
+# CONFIG_STACKTRACE_BUILD_ID is not set
 CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
 CONFIG_CONSOLE_LOGLEVEL_QUIET=4
 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -10097,9 +10673,10 @@ CONFIG_STRIP_ASM_SYMS=y
 # CONFIG_HEADERS_INSTALL is not set
 CONFIG_DEBUG_SECTION_MISMATCH=y
 CONFIG_SECTION_MISMATCH_WARN_ONLY=y
-# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set
+# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set
 CONFIG_ARCH_WANT_FRAME_POINTERS=y
 CONFIG_FRAME_POINTER=y
+# CONFIG_VMLINUX_MAP is not set
 # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
 # end of Compile-time checks and compiler options
 
@@ -10123,12 +10700,22 @@ CONFIG_KGDB_TESTS=y
 # CONFIG_KGDB_KDB is not set
 CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
 # CONFIG_UBSAN is not set
+CONFIG_HAVE_ARCH_KCSAN=y
+CONFIG_HAVE_KCSAN_COMPILER=y
+# CONFIG_KCSAN is not set
 # end of Generic Kernel Debugging Instruments
 
 CONFIG_DEBUG_KERNEL=y
 CONFIG_DEBUG_MISC=y
 
 #
+# Networking Debugging
+#
+# CONFIG_NET_DEV_REFCNT_TRACKER is not set
+# CONFIG_NET_NS_REFCNT_TRACKER is not set
+# end of Networking Debugging
+
+#
 # Memory Debugging
 #
 # CONFIG_PAGE_EXTENSION is not set
@@ -10160,9 +10747,13 @@ CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
 CONFIG_HAVE_ARCH_KASAN=y
 CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y
 CONFIG_HAVE_ARCH_KASAN_HW_TAGS=y
+CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
 CONFIG_CC_HAS_KASAN_GENERIC=y
+CONFIG_CC_HAS_KASAN_SW_TAGS=y
 CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
 # CONFIG_KASAN is not set
+CONFIG_HAVE_ARCH_KFENCE=y
+# CONFIG_KFENCE is not set
 # end of Memory Debugging
 
 # CONFIG_DEBUG_SHIRQ is not set
@@ -10215,10 +10806,10 @@ CONFIG_LOCK_DEBUGGING_SUPPORT=y
 # CONFIG_CSD_LOCK_WAIT_DEBUG is not set
 # end of Lock Debugging (spinlocks, mutexes, etc...)
 
+# CONFIG_DEBUG_IRQFLAGS is not set
 CONFIG_STACKTRACE=y
 # CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
 # CONFIG_DEBUG_KOBJECT is not set
-CONFIG_HAVE_DEBUG_BUGVERBOSE=y
 
 #
 # Debug kernel data structures
@@ -10245,7 +10836,6 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60
 # end of RCU Debugging
 
 # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
 # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
 # CONFIG_LATENCYTOP is not set
 CONFIG_HAVE_FUNCTION_TRACER=y
@@ -10278,8 +10868,8 @@ CONFIG_FUNCTION_ERROR_INJECTION=y
 # CONFIG_FAULT_INJECTION is not set
 CONFIG_ARCH_HAS_KCOV=y
 CONFIG_CC_HAS_SANCOV_TRACE_PC=y
-# CONFIG_KCOV is not set
 # CONFIG_RUNTIME_TESTING_MENU is not set
+CONFIG_ARCH_USE_MEMTEST=y
 # CONFIG_MEMTEST is not set
 # end of Kernel Testing and Coverage
 # end of Kernel hacking
diff --git a/libre/linux-libre-64/config.i686 b/libre/linux-libre-64/config.i686
index c82f9b2..8b188d7 100644
--- a/libre/linux-libre-64/config.i686
+++ b/libre/linux-libre-64/config.i686
@@ -1,17 +1,22 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.11.9-gnu Kernel Configuration
+# Linux/x86 5.15.12-gnu Kernel Configuration
 #
-CONFIG_CC_VERSION_TEXT="gcc (GCC) 10.2.0"
+CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.1.0"
 CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=100200
-CONFIG_LD_VERSION=236010000
+CONFIG_GCC_VERSION=110100
 CONFIG_CLANG_VERSION=0
+CONFIG_AS_IS_GNU=y
+CONFIG_AS_VERSION=23601
+CONFIG_LD_IS_BFD=y
+CONFIG_LD_VERSION=23601
 CONFIG_LLD_VERSION=0
 CONFIG_CC_CAN_LINK=y
 CONFIG_CC_CAN_LINK_STATIC=y
 CONFIG_CC_HAS_ASM_GOTO=y
+CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
 CONFIG_CC_HAS_ASM_INLINE=y
+CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
 CONFIG_IRQ_WORK=y
 CONFIG_BUILDTIME_TABLE_SORT=y
 CONFIG_THREAD_INFO_IN_TASK=y
@@ -21,6 +26,7 @@ CONFIG_THREAD_INFO_IN_TASK=y
 #
 CONFIG_INIT_ENV_ARG_LIMIT=32
 # CONFIG_COMPILE_TEST is not set
+# CONFIG_WERROR is not set
 CONFIG_LOCALVERSION=""
 CONFIG_LOCALVERSION_AUTO=y
 CONFIG_BUILD_SALT=""
@@ -98,11 +104,25 @@ CONFIG_NO_HZ=y
 CONFIG_HIGH_RES_TIMERS=y
 # end of Timers subsystem
 
+CONFIG_BPF=y
+CONFIG_HAVE_EBPF_JIT=y
+
+#
+# BPF subsystem
+#
+CONFIG_BPF_SYSCALL=y
+# CONFIG_BPF_JIT is not set
+# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
+# CONFIG_BPF_PRELOAD is not set
+# end of BPF subsystem
+
 # CONFIG_PREEMPT_NONE is not set
 # CONFIG_PREEMPT_VOLUNTARY is not set
 CONFIG_PREEMPT=y
 CONFIG_PREEMPT_COUNT=y
 CONFIG_PREEMPTION=y
+CONFIG_PREEMPT_DYNAMIC=y
+CONFIG_SCHED_CORE=y
 
 #
 # CPU/Task time and stats accounting
@@ -152,6 +172,7 @@ CONFIG_IKHEADERS=m
 CONFIG_LOG_BUF_SHIFT=17
 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
 CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
+CONFIG_PRINTK_INDEX=y
 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
 
 #
@@ -184,6 +205,7 @@ CONFIG_CGROUP_DEVICE=y
 CONFIG_CGROUP_CPUACCT=y
 CONFIG_CGROUP_PERF=y
 # CONFIG_CGROUP_BPF is not set
+CONFIG_CGROUP_MISC=y
 # CONFIG_CGROUP_DEBUG is not set
 CONFIG_SOCK_CGROUP_DATA=y
 CONFIG_NAMESPACES=y
@@ -215,7 +237,6 @@ CONFIG_SYSCTL=y
 CONFIG_HAVE_UID16=y
 CONFIG_SYSCTL_EXCEPTION_TRACE=y
 CONFIG_HAVE_PCSPKR_PLATFORM=y
-CONFIG_BPF=y
 # CONFIG_EXPERT is not set
 CONFIG_UID16=y
 CONFIG_MULTIUSER=y
@@ -224,7 +245,6 @@ CONFIG_SYSFS_SYSCALL=y
 CONFIG_FHANDLE=y
 CONFIG_POSIX_TIMERS=y
 CONFIG_PRINTK=y
-CONFIG_PRINTK_NMI=y
 CONFIG_BUG=y
 CONFIG_ELF_CORE=y
 CONFIG_PCSPKR_PLATFORM=y
@@ -243,8 +263,6 @@ CONFIG_MEMBARRIER=y
 CONFIG_KALLSYMS=y
 CONFIG_KALLSYMS_ALL=y
 CONFIG_KALLSYMS_BASE_RELATIVE=y
-CONFIG_BPF_SYSCALL=y
-# CONFIG_BPF_PRELOAD is not set
 # CONFIG_USERFAULTFD is not set
 CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
 CONFIG_KCMP=y
@@ -292,12 +310,12 @@ CONFIG_GENERIC_BUG=y
 CONFIG_ARCH_MAY_HAVE_PC_FDC=y
 CONFIG_GENERIC_CALIBRATE_DELAY=y
 CONFIG_ARCH_HAS_CPU_RELAX=y
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
 CONFIG_ARCH_HAS_FILTER_PGPROT=y
 CONFIG_HAVE_SETUP_PER_CPU_AREA=y
 CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
 CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
 CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_NR_GPIO=512
 CONFIG_ARCH_SUSPEND_POSSIBLE=y
 CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
 CONFIG_HAVE_INTEL_TXT=y
@@ -310,7 +328,6 @@ CONFIG_CC_HAS_SANE_STACKPROTECTOR=y
 #
 # Processor type and features
 #
-CONFIG_ZONE_DMA=y
 CONFIG_SMP=y
 CONFIG_X86_FEATURE_NAMES=y
 CONFIG_X86_MPPARSE=y
@@ -399,7 +416,6 @@ CONFIG_X86_MCE_AMD=y
 # CONFIG_X86_ANCIENT_MCE is not set
 CONFIG_X86_MCE_THRESHOLD=y
 CONFIG_X86_MCE_INJECT=m
-CONFIG_X86_THERMAL_VECTOR=y
 
 #
 # Performance monitoring
@@ -408,6 +424,7 @@ CONFIG_PERF_EVENTS_INTEL_UNCORE=m
 CONFIG_PERF_EVENTS_INTEL_RAPL=m
 CONFIG_PERF_EVENTS_INTEL_CSTATE=m
 CONFIG_PERF_EVENTS_AMD_POWER=m
+CONFIG_PERF_EVENTS_AMD_UNCORE=m
 # end of Performance monitoring
 
 # CONFIG_X86_LEGACY_VM86 is not set
@@ -436,7 +453,6 @@ CONFIG_ILLEGAL_POINTER_VALUE=0
 # CONFIG_HIGHPTE is not set
 CONFIG_X86_CHECK_BIOS_CORRUPTION=y
 CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
-CONFIG_X86_RESERVE_LOW=64
 CONFIG_MTRR=y
 CONFIG_MTRR_SANITIZER=y
 CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
@@ -473,7 +489,7 @@ CONFIG_HOTPLUG_CPU=y
 CONFIG_MODIFY_LDT_SYSCALL=y
 # end of Processor type and features
 
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
 
 #
 # Power management and ACPI options
@@ -527,6 +543,7 @@ CONFIG_ACPI_IPMI=m
 CONFIG_ACPI_HOTPLUG_CPU=y
 CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
 CONFIG_ACPI_THERMAL=y
+CONFIG_ACPI_PLATFORM_PROFILE=m
 CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
 CONFIG_ACPI_TABLE_UPGRADE=y
 CONFIG_ACPI_DEBUG=y
@@ -558,8 +575,8 @@ CONFIG_XPOWER_PMIC_OPREGION=y
 CONFIG_CHT_WC_PMIC_OPREGION=y
 CONFIG_CHT_DC_TI_PMIC_OPREGION=y
 CONFIG_TPS68470_PMIC_OPREGION=y
+CONFIG_ACPI_VIOT=y
 CONFIG_X86_PM_TIMER=y
-# CONFIG_SFI is not set
 CONFIG_X86_APM_BOOT=y
 CONFIG_APM=y
 # CONFIG_APM_IGNORE_USER_SUSPEND is not set
@@ -651,7 +668,6 @@ CONFIG_ALIX=y
 # CONFIG_NET5501 is not set
 # CONFIG_GEOS is not set
 CONFIG_AMD_NB=y
-# CONFIG_X86_SYSFB is not set
 # end of Bus options (PCI etc.)
 
 #
@@ -661,63 +677,6 @@ CONFIG_COMPAT_32=y
 # end of Binary Emulations
 
 CONFIG_HAVE_ATOMIC_IOMAP=y
-
-#
-# Firmware Drivers
-#
-CONFIG_EDD=m
-# CONFIG_EDD_OFF is not set
-CONFIG_FIRMWARE_MEMMAP=y
-CONFIG_DMIID=y
-CONFIG_DMI_SYSFS=y
-CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
-CONFIG_ISCSI_IBFT_FIND=y
-CONFIG_ISCSI_IBFT=m
-CONFIG_FW_CFG_SYSFS=m
-# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-CONFIG_GOOGLE_FIRMWARE=y
-# CONFIG_GOOGLE_SMI is not set
-CONFIG_GOOGLE_COREBOOT_TABLE=m
-CONFIG_GOOGLE_MEMCONSOLE=m
-# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
-CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
-CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=m
-CONFIG_GOOGLE_VPD=m
-
-#
-# EFI (Extensible Firmware Interface) Support
-#
-# CONFIG_EFI_VARS is not set
-CONFIG_EFI_ESRT=y
-CONFIG_EFI_VARS_PSTORE=y
-CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
-CONFIG_EFI_RUNTIME_MAP=y
-# CONFIG_EFI_FAKE_MEMMAP is not set
-CONFIG_EFI_RUNTIME_WRAPPERS=y
-CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
-CONFIG_EFI_BOOTLOADER_CONTROL=m
-CONFIG_EFI_CAPSULE_LOADER=y
-CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH=y
-# CONFIG_EFI_TEST is not set
-CONFIG_APPLE_PROPERTIES=y
-# CONFIG_RESET_ATTACK_MITIGATION is not set
-CONFIG_EFI_RCI2_TABLE=y
-# CONFIG_EFI_DISABLE_PCI_DMA is not set
-# end of EFI (Extensible Firmware Interface) Support
-
-CONFIG_EFI_EMBEDDED_FIRMWARE=y
-CONFIG_UEFI_CPER=y
-CONFIG_UEFI_CPER_X86=y
-CONFIG_EFI_DEV_PATH_PARSER=y
-CONFIG_EFI_EARLYCON=y
-CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
-
-#
-# Tegra firmware driver
-#
-# end of Tegra firmware driver
-# end of Firmware Drivers
-
 CONFIG_HAVE_KVM=y
 CONFIG_HAVE_KVM_IRQCHIP=y
 CONFIG_HAVE_KVM_IRQFD=y
@@ -732,10 +691,12 @@ CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
 CONFIG_HAVE_KVM_IRQ_BYPASS=y
 CONFIG_HAVE_KVM_NO_POLL=y
 CONFIG_KVM_XFER_TO_GUEST_WORK=y
+CONFIG_HAVE_KVM_PM_NOTIFIER=y
 CONFIG_VIRTUALIZATION=y
 CONFIG_KVM=m
 CONFIG_KVM_INTEL=m
 CONFIG_KVM_AMD=m
+CONFIG_KVM_XEN=y
 CONFIG_KVM_MMU_AUDIT=y
 CONFIG_AS_AVX512=y
 CONFIG_AS_SHA1_NI=y
@@ -749,10 +710,6 @@ CONFIG_CRASH_CORE=y
 CONFIG_KEXEC_CORE=y
 CONFIG_HOTPLUG_SMT=y
 CONFIG_GENERIC_ENTRY=y
-CONFIG_OPROFILE=m
-# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_OPROFILE_NMI_TIMER=y
 CONFIG_KPROBES=y
 CONFIG_JUMP_LABEL=y
 # CONFIG_STATIC_KEYS_SELFTEST is not set
@@ -771,6 +728,7 @@ CONFIG_HAVE_OPTPROBES=y
 CONFIG_HAVE_KPROBES_ON_FTRACE=y
 CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
 CONFIG_HAVE_NMI=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
 CONFIG_HAVE_ARCH_TRACEHOOK=y
 CONFIG_HAVE_DMA_CONTIGUOUS=y
 CONFIG_GENERIC_SMP_IDLE_THREAD=y
@@ -779,6 +737,7 @@ CONFIG_ARCH_HAS_SET_MEMORY=y
 CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
 CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
 CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
+CONFIG_ARCH_WANTS_NO_INSTR=y
 CONFIG_ARCH_32BIT_OFF_T=y
 CONFIG_HAVE_ASM_MODVERSIONS=y
 CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
@@ -809,6 +768,9 @@ CONFIG_HAVE_ARCH_STACKLEAK=y
 CONFIG_HAVE_STACKPROTECTOR=y
 CONFIG_STACKPROTECTOR=y
 CONFIG_STACKPROTECTOR_STRONG=y
+CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
+CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
+CONFIG_LTO_NONE=y
 CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
 CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
 CONFIG_HAVE_MOVE_PUD=y
@@ -817,6 +779,7 @@ CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
 CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
 CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
 CONFIG_MODULES_USE_ELF_REL=y
+CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
 CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
 CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
 CONFIG_HAVE_EXIT_THREAD=y
@@ -826,6 +789,8 @@ CONFIG_CLONE_BACKWARDS=y
 CONFIG_OLD_SIGSUSPEND3=y
 CONFIG_OLD_SIGACTION=y
 CONFIG_COMPAT_32BIT_TIME=y
+CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
+CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
 CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
 CONFIG_STRICT_KERNEL_RWX=y
 CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
@@ -835,9 +800,11 @@ CONFIG_ARCH_USE_MEMREMAP_PROT=y
 CONFIG_LOCK_EVENT_COUNTS=y
 CONFIG_ARCH_HAS_MEM_ENCRYPT=y
 CONFIG_HAVE_STATIC_CALL=y
+CONFIG_HAVE_PREEMPT_DYNAMIC=y
 CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
 CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
 CONFIG_ARCH_SPLIT_ARG64=y
+CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
 
 #
 # GCOV-based kernel profiling
@@ -870,28 +837,29 @@ CONFIG_MODULE_SIG_ALL=y
 # CONFIG_MODULE_SIG_SHA384 is not set
 CONFIG_MODULE_SIG_SHA512=y
 CONFIG_MODULE_SIG_HASH="sha512"
-CONFIG_MODULE_COMPRESS=y
+# CONFIG_MODULE_COMPRESS_NONE is not set
 # CONFIG_MODULE_COMPRESS_GZIP is not set
-CONFIG_MODULE_COMPRESS_XZ=y
+# CONFIG_MODULE_COMPRESS_XZ is not set
+CONFIG_MODULE_COMPRESS_ZSTD=y
 CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS=y
-CONFIG_UNUSED_SYMBOLS=y
+CONFIG_MODPROBE_PATH="/sbin/modprobe"
 CONFIG_MODULES_TREE_LOOKUP=y
 CONFIG_BLOCK=y
 CONFIG_BLK_RQ_ALLOC_TIME=y
-CONFIG_BLK_SCSI_REQUEST=y
 CONFIG_BLK_CGROUP_RWSTAT=y
-CONFIG_BLK_DEV_BSG=y
+CONFIG_BLK_DEV_BSG_COMMON=y
 CONFIG_BLK_DEV_BSGLIB=y
 CONFIG_BLK_DEV_INTEGRITY=y
 CONFIG_BLK_DEV_INTEGRITY_T10=y
 CONFIG_BLK_DEV_ZONED=y
 CONFIG_BLK_DEV_THROTTLING=y
 CONFIG_BLK_DEV_THROTTLING_LOW=y
-# CONFIG_BLK_CMDLINE_PARSER is not set
 CONFIG_BLK_WBT=y
+CONFIG_BLK_WBT_MQ=y
 CONFIG_BLK_CGROUP_IOLATENCY=y
+CONFIG_BLK_CGROUP_FC_APPID=y
 CONFIG_BLK_CGROUP_IOCOST=y
-CONFIG_BLK_WBT_MQ=y
+CONFIG_BLK_CGROUP_IOPRIO=y
 CONFIG_BLK_DEBUG_FS=y
 CONFIG_BLK_DEBUG_FS_ZONED=y
 CONFIG_BLK_SED_OPAL=y
@@ -927,6 +895,7 @@ CONFIG_BLK_MQ_PCI=y
 CONFIG_BLK_MQ_VIRTIO=y
 CONFIG_BLK_MQ_RDMA=y
 CONFIG_BLK_PM=y
+CONFIG_BLOCK_HOLDER_DEPRECATED=y
 
 #
 # IO Schedulers
@@ -973,10 +942,10 @@ CONFIG_SELECT_MEMORY_MODEL=y
 CONFIG_FLATMEM_MANUAL=y
 # CONFIG_SPARSEMEM_MANUAL is not set
 CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
 CONFIG_SPARSEMEM_STATIC=y
 CONFIG_HAVE_FAST_GUP=y
 CONFIG_MEMORY_ISOLATION=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
 CONFIG_SPLIT_PTLOCK_CPUS=4
 CONFIG_MEMORY_BALLOON=y
 CONFIG_BALLOON_COMPACTION=y
@@ -1000,6 +969,7 @@ CONFIG_FRONTSWAP=y
 CONFIG_CMA=y
 # CONFIG_CMA_DEBUG is not set
 CONFIG_CMA_DEBUGFS=y
+CONFIG_CMA_SYSFS=y
 CONFIG_CMA_AREAS=7
 CONFIG_ZSWAP=y
 # CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
@@ -1020,16 +990,25 @@ CONFIG_Z3FOLD=y
 CONFIG_ZSMALLOC=y
 # CONFIG_ZSMALLOC_STAT is not set
 CONFIG_GENERIC_EARLY_IOREMAP=y
-# CONFIG_IDLE_PAGE_TRACKING is not set
+CONFIG_PAGE_IDLE_FLAG=y
+CONFIG_IDLE_PAGE_TRACKING=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ZONE_DMA=y
 CONFIG_HMM_MIRROR=y
 CONFIG_VMAP_PFN=y
-CONFIG_FRAME_VECTOR=y
 # CONFIG_PERCPU_STATS is not set
 # CONFIG_GUP_TEST is not set
 CONFIG_READ_ONLY_THP_FOR_FS=y
 CONFIG_ARCH_HAS_PTE_SPECIAL=y
 CONFIG_MAPPING_DIRTY_HELPERS=y
 CONFIG_KMAP_LOCAL=y
+CONFIG_SECRETMEM=y
+
+#
+# Data Access Monitoring
+#
+# CONFIG_DAMON is not set
+# end of Data Access Monitoring
 # end of Memory Management options
 
 CONFIG_NET=y
@@ -1045,6 +1024,7 @@ CONFIG_PACKET=y
 CONFIG_PACKET_DIAG=m
 CONFIG_UNIX=y
 CONFIG_UNIX_SCM=y
+CONFIG_AF_UNIX_OOB=y
 CONFIG_UNIX_DIAG=m
 CONFIG_TLS=m
 # CONFIG_TLS_DEVICE is not set
@@ -1153,6 +1133,7 @@ CONFIG_IPV6_SEG6_LWTUNNEL=y
 CONFIG_IPV6_SEG6_HMAC=y
 CONFIG_IPV6_SEG6_BPF=y
 CONFIG_IPV6_RPL_LWTUNNEL=y
+CONFIG_IPV6_IOAM6_LWTUNNEL=y
 CONFIG_NETLABEL=y
 CONFIG_MPTCP=y
 CONFIG_INET_MPTCP_DIAG=m
@@ -1171,13 +1152,13 @@ CONFIG_NETFILTER_INGRESS=y
 CONFIG_NETFILTER_NETLINK=m
 CONFIG_NETFILTER_FAMILY_BRIDGE=y
 CONFIG_NETFILTER_FAMILY_ARP=y
+CONFIG_NETFILTER_NETLINK_HOOK=m
 CONFIG_NETFILTER_NETLINK_ACCT=m
 CONFIG_NETFILTER_NETLINK_QUEUE=m
 CONFIG_NETFILTER_NETLINK_LOG=m
 CONFIG_NETFILTER_NETLINK_OSF=m
 CONFIG_NF_CONNTRACK=m
-CONFIG_NF_LOG_COMMON=m
-CONFIG_NF_LOG_NETDEV=m
+CONFIG_NF_LOG_SYSLOG=m
 CONFIG_NETFILTER_CONNCOUNT=m
 CONFIG_NF_CONNTRACK_MARK=y
 CONFIG_NF_CONNTRACK_SECMARK=y
@@ -1390,6 +1371,7 @@ CONFIG_IP_VS_SH=m
 # CONFIG_IP_VS_MH is not set
 CONFIG_IP_VS_SED=m
 CONFIG_IP_VS_NQ=m
+CONFIG_IP_VS_TWOS=m
 
 #
 # IPVS SH scheduler
@@ -1490,7 +1472,6 @@ CONFIG_NF_DEFRAG_IPV6=m
 CONFIG_NF_TABLES_BRIDGE=m
 CONFIG_NFT_BRIDGE_META=m
 CONFIG_NFT_BRIDGE_REJECT=m
-CONFIG_NF_LOG_BRIDGE=m
 CONFIG_NF_CONNTRACK_BRIDGE=m
 CONFIG_BRIDGE_NF_EBTABLES=m
 CONFIG_BRIDGE_EBT_BROUTE=m
@@ -1552,12 +1533,11 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y
 CONFIG_BRIDGE_VLAN_FILTERING=y
 # CONFIG_BRIDGE_MRP is not set
 CONFIG_BRIDGE_CFM=y
-CONFIG_HAVE_NET_DSA=y
 CONFIG_NET_DSA=m
-CONFIG_NET_DSA_TAG_8021Q=m
 CONFIG_NET_DSA_TAG_AR9331=m
 CONFIG_NET_DSA_TAG_BRCM_COMMON=m
 CONFIG_NET_DSA_TAG_BRCM=m
+CONFIG_NET_DSA_TAG_BRCM_LEGACY=m
 CONFIG_NET_DSA_TAG_BRCM_PREPEND=m
 CONFIG_NET_DSA_TAG_HELLCREEK=m
 CONFIG_NET_DSA_TAG_GSWIP=m
@@ -1568,10 +1548,12 @@ CONFIG_NET_DSA_TAG_MTK=m
 CONFIG_NET_DSA_TAG_KSZ=m
 CONFIG_NET_DSA_TAG_RTL4_A=m
 CONFIG_NET_DSA_TAG_OCELOT=m
+CONFIG_NET_DSA_TAG_OCELOT_8021Q=m
 CONFIG_NET_DSA_TAG_QCA=m
 CONFIG_NET_DSA_TAG_LAN9303=m
 CONFIG_NET_DSA_TAG_SJA1105=m
 CONFIG_NET_DSA_TAG_TRAILER=m
+CONFIG_NET_DSA_TAG_XRS700X=m
 CONFIG_VLAN_8021Q=m
 CONFIG_VLAN_8021Q_GVRP=y
 CONFIG_VLAN_8021Q_MVRP=y
@@ -1745,14 +1727,16 @@ CONFIG_QRTR=m
 CONFIG_QRTR_MHI=m
 CONFIG_NET_NCSI=y
 CONFIG_NCSI_OEM_CMD_GET_MAC=y
+CONFIG_NCSI_OEM_CMD_KEEP_PHY=y
+CONFIG_PCPU_DEV_REFCNT=y
 CONFIG_RPS=y
 CONFIG_RFS_ACCEL=y
+CONFIG_SOCK_RX_QUEUE_MAPPING=y
 CONFIG_XPS=y
 CONFIG_CGROUP_NET_PRIO=y
 CONFIG_CGROUP_NET_CLASSID=y
 CONFIG_NET_RX_BUSY_POLL=y
 CONFIG_BQL=y
-# CONFIG_BPF_JIT is not set
 CONFIG_NET_FLOW_LIMIT=y
 
 #
@@ -1851,6 +1835,7 @@ CONFIG_CAN_MCP251XFD=m
 CONFIG_CAN_8DEV_USB=m
 CONFIG_CAN_EMS_USB=m
 CONFIG_CAN_ESD_USB2=m
+CONFIG_CAN_ETAS_ES58X=m
 CONFIG_CAN_GS_USB=m
 CONFIG_CAN_KVASER_USB=m
 CONFIG_CAN_MCBA_USB=m
@@ -1870,11 +1855,12 @@ CONFIG_BT_BNEP_MC_FILTER=y
 CONFIG_BT_BNEP_PROTO_FILTER=y
 CONFIG_BT_CMTP=m
 CONFIG_BT_HIDP=m
-CONFIG_BT_HS=y
+# CONFIG_BT_HS is not set
 CONFIG_BT_LE=y
 CONFIG_BT_6LOWPAN=m
 CONFIG_BT_LEDS=y
 # CONFIG_BT_MSFTEXT is not set
+CONFIG_BT_AOSPEXT=y
 CONFIG_BT_DEBUGFS=y
 # CONFIG_BT_SELFTEST is not set
 
@@ -1918,6 +1904,7 @@ CONFIG_BT_ATH3K=m
 CONFIG_BT_MTKSDIO=m
 CONFIG_BT_MTKUART=m
 CONFIG_BT_HCIRSI=m
+CONFIG_BT_VIRTIO=m
 # end of Bluetooth device drivers
 
 CONFIG_AF_RXRPC=m
@@ -1927,6 +1914,7 @@ CONFIG_AF_RXRPC_DEBUG=y
 CONFIG_RXKAD=y
 CONFIG_AF_KCM=m
 CONFIG_STREAM_PARSER=y
+CONFIG_MCTP=m
 CONFIG_FIB_RULES=y
 CONFIG_WIRELESS=y
 CONFIG_WIRELESS_EXT=y
@@ -1987,6 +1975,7 @@ CONFIG_NFC_TRF7970A=m
 CONFIG_NFC_MEI_PHY=m
 CONFIG_NFC_SIM=m
 CONFIG_NFC_PORT100=m
+CONFIG_NFC_VIRTUAL_NCI=m
 CONFIG_NFC_FDP=m
 CONFIG_NFC_FDP_I2C=m
 CONFIG_NFC_PN544=m
@@ -2023,12 +2012,12 @@ CONFIG_LWTUNNEL=y
 CONFIG_LWTUNNEL_BPF=y
 CONFIG_DST_CACHE=y
 CONFIG_GRO_CELLS=y
+CONFIG_NET_SELFTESTS=m
 CONFIG_NET_SOCK_MSG=y
 CONFIG_NET_DEVLINK=y
 CONFIG_PAGE_POOL=y
 CONFIG_FAILOVER=m
 CONFIG_ETHTOOL_NETLINK=y
-CONFIG_HAVE_EBPF_JIT=y
 
 #
 # Device Drivers
@@ -2082,6 +2071,7 @@ CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
 # CONFIG_PCI_FTPCI100 is not set
 # CONFIG_PCI_HOST_GENERIC is not set
 # CONFIG_PCIE_XILINX is not set
+# CONFIG_PCIE_MICROCHIP_HOST is not set
 
 #
 # DesignWare PCI Core Support
@@ -2118,6 +2108,10 @@ CONFIG_PCI_MESON=y
 CONFIG_PCI_SW_SWITCHTEC=m
 # end of PCI switch controller drivers
 
+CONFIG_CXL_BUS=m
+CONFIG_CXL_MEM=m
+# CONFIG_CXL_MEM_RAW_COMMANDS is not set
+CONFIG_CXL_ACPI=m
 CONFIG_PCCARD=m
 CONFIG_PCMCIA=m
 CONFIG_PCMCIA_LOAD_CIS=y
@@ -2178,6 +2172,7 @@ CONFIG_REGMAP_W1=m
 CONFIG_REGMAP_MMIO=y
 CONFIG_REGMAP_IRQ=y
 CONFIG_REGMAP_SOUNDWIRE=m
+CONFIG_REGMAP_SOUNDWIRE_MBQ=m
 CONFIG_REGMAP_SCCB=m
 CONFIG_REGMAP_SPI_AVMM=m
 CONFIG_DMA_SHARED_BUFFER=y
@@ -2188,7 +2183,6 @@ CONFIG_DMA_SHARED_BUFFER=y
 # Bus devices
 #
 # CONFIG_MOXTET is not set
-# CONFIG_SIMPLE_PM_BUS is not set
 CONFIG_MHI_BUS=m
 # CONFIG_MHI_BUS_DEBUG is not set
 CONFIG_MHI_BUS_PCI_GENERIC=m
@@ -2196,6 +2190,70 @@ CONFIG_MHI_BUS_PCI_GENERIC=m
 
 CONFIG_CONNECTOR=y
 CONFIG_PROC_EVENTS=y
+
+#
+# Firmware Drivers
+#
+
+#
+# ARM System Control and Management Interface Protocol
+#
+# end of ARM System Control and Management Interface Protocol
+
+CONFIG_EDD=m
+# CONFIG_EDD_OFF is not set
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_DMIID=y
+CONFIG_DMI_SYSFS=y
+CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
+CONFIG_ISCSI_IBFT_FIND=y
+CONFIG_ISCSI_IBFT=m
+CONFIG_FW_CFG_SYSFS=m
+# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
+CONFIG_SYSFB=y
+# CONFIG_SYSFB_SIMPLEFB is not set
+CONFIG_GOOGLE_FIRMWARE=y
+# CONFIG_GOOGLE_SMI is not set
+CONFIG_GOOGLE_COREBOOT_TABLE=m
+CONFIG_GOOGLE_MEMCONSOLE=m
+# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
+CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=m
+CONFIG_GOOGLE_VPD=m
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+# CONFIG_EFI_VARS is not set
+CONFIG_EFI_ESRT=y
+CONFIG_EFI_VARS_PSTORE=y
+CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
+CONFIG_EFI_RUNTIME_MAP=y
+# CONFIG_EFI_FAKE_MEMMAP is not set
+CONFIG_EFI_RUNTIME_WRAPPERS=y
+CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
+CONFIG_EFI_BOOTLOADER_CONTROL=m
+CONFIG_EFI_CAPSULE_LOADER=y
+CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH=y
+# CONFIG_EFI_TEST is not set
+CONFIG_APPLE_PROPERTIES=y
+# CONFIG_RESET_ATTACK_MITIGATION is not set
+CONFIG_EFI_RCI2_TABLE=y
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
+# end of EFI (Extensible Firmware Interface) Support
+
+CONFIG_EFI_EMBEDDED_FIRMWARE=y
+CONFIG_UEFI_CPER=y
+CONFIG_UEFI_CPER_X86=y
+CONFIG_EFI_DEV_PATH_PARSER=y
+CONFIG_EFI_EARLYCON=y
+CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
+
+#
+# Tegra firmware driver
+#
+# end of Tegra firmware driver
+# end of Firmware Drivers
+
 CONFIG_GNSS=m
 CONFIG_GNSS_SERIAL=m
 CONFIG_GNSS_MTK_SERIAL=m
@@ -2219,6 +2277,10 @@ CONFIG_MTD_OF_PARTS=m
 CONFIG_MTD_BLKDEVS=m
 CONFIG_MTD_BLOCK=m
 # CONFIG_MTD_BLOCK_RO is not set
+
+#
+# Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK.
+#
 # CONFIG_FTL is not set
 # CONFIG_NFTL is not set
 # CONFIG_INFTL is not set
@@ -2226,8 +2288,9 @@ CONFIG_MTD_BLOCK=m
 # CONFIG_SSFDC is not set
 # CONFIG_SM_FTL is not set
 # CONFIG_MTD_OOPS is not set
+CONFIG_MTD_PSTORE=m
 # CONFIG_MTD_SWAP is not set
-# CONFIG_MTD_PARTITIONED_MASTER is not set
+CONFIG_MTD_PARTITIONED_MASTER=y
 
 #
 # RAM/ROM/Flash chip drivers
@@ -2240,7 +2303,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y
 CONFIG_MTD_CFI_I1=y
 CONFIG_MTD_CFI_I2=y
 # CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
+CONFIG_MTD_ROM=m
 # CONFIG_MTD_ABSENT is not set
 # end of RAM/ROM/Flash chip drivers
 
@@ -2248,6 +2311,7 @@ CONFIG_MTD_CFI_I2=y
 # Mapping drivers for chip access
 #
 # CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
 # CONFIG_MTD_INTEL_VR_NOR is not set
 # CONFIG_MTD_PLATRAM is not set
 # end of Mapping drivers for chip access
@@ -2258,10 +2322,13 @@ CONFIG_MTD_CFI_I2=y
 # CONFIG_MTD_PMC551 is not set
 # CONFIG_MTD_DATAFLASH is not set
 # CONFIG_MTD_MCHP23K256 is not set
+# CONFIG_MTD_MCHP48L640 is not set
 # CONFIG_MTD_SST25L is not set
 # CONFIG_MTD_SLRAM is not set
 CONFIG_MTD_PHRAM=m
-# CONFIG_MTD_MTDRAM is not set
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
 CONFIG_MTD_BLOCK2MTD=m
 
 #
@@ -2303,8 +2370,9 @@ CONFIG_MTD_NAND_NANDSIM=m
 # ECC engine support
 #
 CONFIG_MTD_NAND_ECC=y
-# CONFIG_MTD_NAND_ECC_SW_HAMMING is not set
-# CONFIG_MTD_NAND_ECC_SW_BCH is not set
+CONFIG_MTD_NAND_ECC_SW_HAMMING=y
+CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC=y
+CONFIG_MTD_NAND_ECC_SW_BCH=y
 # end of ECC engine support
 # end of NAND
 
@@ -2314,7 +2382,14 @@ CONFIG_MTD_NAND_ECC=y
 # CONFIG_MTD_LPDDR is not set
 # end of LPDDR & LPDDR2 PCM memory drivers
 
-# CONFIG_MTD_SPI_NOR is not set
+CONFIG_MTD_SPI_NOR=m
+CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
+# CONFIG_MTD_SPI_NOR_SWP_DISABLE is not set
+CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y
+# CONFIG_MTD_SPI_NOR_SWP_KEEP is not set
+CONFIG_SPI_INTEL_SPI=m
+CONFIG_SPI_INTEL_SPI_PCI=m
+CONFIG_SPI_INTEL_SPI_PLATFORM=m
 CONFIG_MTD_UBI=m
 CONFIG_MTD_UBI_WL_THRESHOLD=4096
 CONFIG_MTD_UBI_BEB_LIMIT=20
@@ -2365,7 +2440,6 @@ CONFIG_ZRAM_DEF_COMP_LZORLE=y
 CONFIG_ZRAM_DEF_COMP="lzo-rle"
 CONFIG_ZRAM_WRITEBACK=y
 # CONFIG_ZRAM_MEMORY_TRACKING is not set
-CONFIG_BLK_DEV_UMEM=m
 CONFIG_BLK_DEV_LOOP=m
 CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
 CONFIG_BLK_DEV_CRYPTOLOOP=m
@@ -2434,10 +2508,10 @@ CONFIG_VMWARE_BALLOON=m
 CONFIG_PCH_PHUB=m
 CONFIG_LATTICE_ECP3_CONFIG=m
 # CONFIG_SRAM is not set
+CONFIG_DW_XDATA_PCIE=m
 CONFIG_PCI_ENDPOINT_TEST=m
 CONFIG_XILINX_SDFEC=m
 CONFIG_MISC_RTSX=m
-CONFIG_PVPANIC=m
 # CONFIG_HISI_HIKEY_USB is not set
 CONFIG_C2PORT=m
 CONFIG_C2PORT_DURAMAR_2150=m
@@ -2473,21 +2547,24 @@ CONFIG_INTEL_MEI_ME=m
 CONFIG_INTEL_MEI_HDCP=m
 CONFIG_VMWARE_VMCI=m
 CONFIG_ECHO=m
+CONFIG_BCM_VK=m
+CONFIG_BCM_VK_TTY=y
 CONFIG_MISC_ALCOR_PCI=m
 CONFIG_MISC_RTSX_PCI=m
 CONFIG_MISC_RTSX_USB=m
 CONFIG_HABANA_AI=m
 CONFIG_UACCE=m
+CONFIG_PVPANIC=y
+CONFIG_PVPANIC_MMIO=m
+CONFIG_PVPANIC_PCI=m
 # end of Misc devices
 
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
 #
 # SCSI device support
 #
 CONFIG_SCSI_MOD=y
 CONFIG_RAID_ATTRS=m
+CONFIG_SCSI_COMMON=y
 CONFIG_SCSI=y
 CONFIG_SCSI_DMA=y
 CONFIG_SCSI_NETLINK=y
@@ -2500,6 +2577,7 @@ CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=m
 CONFIG_CHR_DEV_SG=m
+CONFIG_BLK_DEV_BSG=y
 CONFIG_CHR_DEV_SCH=m
 CONFIG_SCSI_ENCLOSURE=m
 CONFIG_SCSI_CONSTANTS=y
@@ -2566,6 +2644,7 @@ CONFIG_SCSI_MPT3SAS=m
 CONFIG_SCSI_MPT2SAS_MAX_SGE=128
 CONFIG_SCSI_MPT3SAS_MAX_SGE=128
 CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPI3MR=m
 CONFIG_SCSI_SMARTPQI=m
 CONFIG_SCSI_UFSHCD=m
 CONFIG_SCSI_UFSHCD_PCI=m
@@ -2574,6 +2653,7 @@ CONFIG_SCSI_UFSHCD_PLATFORM=m
 CONFIG_SCSI_UFS_CDNS_PLATFORM=m
 # CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set
 CONFIG_SCSI_UFS_BSG=y
+CONFIG_SCSI_UFS_HPB=y
 CONFIG_SCSI_HPTIOP=m
 CONFIG_SCSI_BUSLOGIC=m
 CONFIG_SCSI_FLASHPOINT=y
@@ -2591,7 +2671,6 @@ CONFIG_SCSI_DMX3191D=m
 CONFIG_SCSI_FDOMAIN=m
 CONFIG_SCSI_FDOMAIN_PCI=m
 # CONFIG_SCSI_FDOMAIN_ISA is not set
-CONFIG_SCSI_GDTH=m
 CONFIG_SCSI_ISCI=m
 CONFIG_SCSI_GENERIC_NCR5380=m
 CONFIG_SCSI_IPS=m
@@ -2620,6 +2699,7 @@ CONFIG_QEDI=m
 CONFIG_QEDF=m
 CONFIG_SCSI_LPFC=m
 # CONFIG_SCSI_LPFC_DEBUG_FS is not set
+CONFIG_SCSI_EFCT=m
 CONFIG_SCSI_DC395x=m
 CONFIG_SCSI_AM53C974=m
 CONFIG_SCSI_NSP32=m
@@ -2781,7 +2861,6 @@ CONFIG_DM_THIN_PROVISIONING=m
 CONFIG_DM_CACHE=m
 CONFIG_DM_CACHE_SMQ=m
 # CONFIG_DM_WRITECACHE is not set
-# CONFIG_DM_EBS is not set
 CONFIG_DM_ERA=m
 CONFIG_DM_CLONE=m
 CONFIG_DM_MIRROR=m
@@ -2930,8 +3009,8 @@ CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C=m
 CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
 CONFIG_NET_DSA_MICROCHIP_KSZ8795=m
 CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI=m
+CONFIG_NET_DSA_MICROCHIP_KSZ8863_SMI=m
 CONFIG_NET_DSA_MV88E6XXX=m
-CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
 CONFIG_NET_DSA_MV88E6XXX_PTP=y
 CONFIG_NET_DSA_MSCC_SEVILLE=m
 CONFIG_NET_DSA_AR9331=m
@@ -2939,6 +3018,9 @@ CONFIG_NET_DSA_SJA1105=m
 CONFIG_NET_DSA_SJA1105_PTP=y
 CONFIG_NET_DSA_SJA1105_TAS=y
 # CONFIG_NET_DSA_SJA1105_VL is not set
+CONFIG_NET_DSA_XRS700X=m
+CONFIG_NET_DSA_XRS700X_I2C=m
+CONFIG_NET_DSA_XRS700X_MDIO=m
 CONFIG_NET_DSA_QCA8K=m
 CONFIG_NET_DSA_REALTEK_SMI=m
 CONFIG_NET_DSA_SMSC_LAN9303=m
@@ -2988,8 +3070,6 @@ CONFIG_ATL1=m
 CONFIG_ATL1E=m
 CONFIG_ATL1C=m
 CONFIG_ALX=m
-CONFIG_NET_VENDOR_AURORA=y
-CONFIG_AURORA_NB8800=m
 CONFIG_NET_VENDOR_BROADCOM=y
 CONFIG_B44=m
 CONFIG_B44_PCI_AUTOSELECT=y
@@ -3027,8 +3107,7 @@ CONFIG_CHELSIO_LIB=m
 CONFIG_CHELSIO_INLINE_CRYPTO=y
 CONFIG_CHELSIO_IPSEC_INLINE=m
 CONFIG_NET_VENDOR_CIRRUS=y
-CONFIG_CS89x0=m
-# CONFIG_CS89x0_PLATFORM is not set
+# CONFIG_CS89x0_ISA is not set
 CONFIG_NET_VENDOR_CISCO=y
 CONFIG_ENIC=m
 CONFIG_NET_VENDOR_CORTINA=y
@@ -3091,7 +3170,10 @@ CONFIG_I40EVF=m
 CONFIG_ICE=m
 CONFIG_FM10K=m
 CONFIG_IGC=m
+CONFIG_NET_VENDOR_MICROSOFT=y
 CONFIG_JME=m
+CONFIG_NET_VENDOR_LITEX=y
+# CONFIG_LITEX_LITEETH is not set
 CONFIG_NET_VENDOR_MARVELL=y
 CONFIG_MVMDIO=m
 CONFIG_SKGE=m
@@ -3115,21 +3197,23 @@ CONFIG_MLX5_EN_ARFS=y
 CONFIG_MLX5_EN_RXNFC=y
 CONFIG_MLX5_MPFS=y
 CONFIG_MLX5_ESWITCH=y
+CONFIG_MLX5_BRIDGE=y
 CONFIG_MLX5_CLS_ACT=y
 CONFIG_MLX5_TC_CT=y
+CONFIG_MLX5_TC_SAMPLE=y
 CONFIG_MLX5_CORE_EN_DCB=y
 CONFIG_MLX5_CORE_IPOIB=y
 CONFIG_MLX5_FPGA_IPSEC=y
 CONFIG_MLX5_IPSEC=y
 CONFIG_MLX5_EN_IPSEC=y
 CONFIG_MLX5_SW_STEERING=y
+CONFIG_MLX5_SF=y
+CONFIG_MLX5_SF_MANAGER=y
 CONFIG_MLXSW_CORE=m
 CONFIG_MLXSW_CORE_HWMON=y
 CONFIG_MLXSW_CORE_THERMAL=y
 CONFIG_MLXSW_PCI=m
 CONFIG_MLXSW_I2C=m
-CONFIG_MLXSW_SWITCHIB=m
-CONFIG_MLXSW_SWITCHX2=m
 CONFIG_MLXSW_SPECTRUM=m
 CONFIG_MLXSW_SPECTRUM_DCB=y
 CONFIG_MLXSW_MINIMAL=m
@@ -3244,6 +3328,7 @@ CONFIG_STMMAC_PLATFORM=m
 CONFIG_DWMAC_GENERIC=m
 # CONFIG_DWMAC_INTEL_PLAT is not set
 CONFIG_DWMAC_INTEL=m
+CONFIG_DWMAC_LOONGSON=m
 CONFIG_STMMAC_PCI=m
 CONFIG_NET_VENDOR_SUN=y
 CONFIG_HAPPYMEAL=m
@@ -3270,13 +3355,13 @@ CONFIG_WIZNET_W5300=m
 CONFIG_WIZNET_BUS_ANY=y
 CONFIG_WIZNET_W5100_SPI=m
 CONFIG_NET_VENDOR_XILINX=y
+CONFIG_XILINX_EMACLITE=m
 CONFIG_XILINX_AXI_EMAC=m
 CONFIG_XILINX_LL_TEMAC=m
 CONFIG_NET_VENDOR_XIRCOM=y
 CONFIG_PCMCIA_XIRC2PS=m
 CONFIG_FDDI=m
 CONFIG_DEFXX=m
-CONFIG_DEFXX_MMIO=y
 CONFIG_SKFP=m
 # CONFIG_HIPPI is not set
 CONFIG_NET_SB1000=m
@@ -3309,11 +3394,16 @@ CONFIG_INTEL_XWAY_PHY=m
 CONFIG_LSI_ET1011C_PHY=m
 CONFIG_MARVELL_PHY=m
 CONFIG_MARVELL_10G_PHY=m
+CONFIG_MARVELL_88X2222_PHY=m
+CONFIG_MAXLINEAR_GPHY=m
+CONFIG_MEDIATEK_GE_PHY=m
 CONFIG_MICREL_PHY=m
 CONFIG_MICROCHIP_PHY=m
 # CONFIG_MICROCHIP_T1_PHY is not set
 CONFIG_MICROSEMI_PHY=m
+CONFIG_MOTORCOMM_PHY=m
 CONFIG_NATIONAL_PHY=m
+CONFIG_NXP_C45_TJA11XX_PHY=m
 CONFIG_NXP_TJA11XX_PHY=m
 CONFIG_AT803X_PHY=m
 CONFIG_QSEMI_PHY=m
@@ -3331,9 +3421,15 @@ CONFIG_DP83869_PHY=m
 CONFIG_VITESSE_PHY=m
 CONFIG_XILINX_GMII2RGMII=m
 CONFIG_MICREL_KS8995MA=m
+
+#
+# MCTP Device Drivers
+#
 CONFIG_MDIO_DEVICE=m
 CONFIG_MDIO_BUS=m
+CONFIG_FWNODE_MDIO=m
 CONFIG_OF_MDIO=m
+CONFIG_ACPI_MDIO=m
 CONFIG_MDIO_DEVRES=m
 CONFIG_MDIO_BITBANG=m
 CONFIG_MDIO_BCM_UNIMAC=m
@@ -3580,7 +3676,6 @@ CONFIG_P54_PCI=m
 CONFIG_P54_SPI=m
 # CONFIG_P54_SPI_DEFAULT_EEPROM is not set
 CONFIG_P54_LEDS=y
-CONFIG_PRISM54=m
 CONFIG_WLAN_VENDOR_MARVELL=y
 CONFIG_LIBERTAS=m
 CONFIG_LIBERTAS_USB=m
@@ -3605,6 +3700,7 @@ CONFIG_MT76_USB=m
 CONFIG_MT76_SDIO=m
 CONFIG_MT76x02_LIB=m
 CONFIG_MT76x02_USB=m
+CONFIG_MT76_CONNAC_LIB=m
 CONFIG_MT76x0_COMMON=m
 CONFIG_MT76x0U=m
 CONFIG_MT76x0E=m
@@ -3618,6 +3714,7 @@ CONFIG_MT7663_USB_SDIO_COMMON=m
 # CONFIG_MT7663U is not set
 CONFIG_MT7663S=m
 # CONFIG_MT7915E is not set
+CONFIG_MT7921E=m
 CONFIG_WLAN_VENDOR_MICROCHIP=y
 CONFIG_WILC1000=m
 CONFIG_WILC1000_SDIO=m
@@ -3733,12 +3830,25 @@ CONFIG_IEEE802154_CA8210=m
 # CONFIG_IEEE802154_CA8210_DEBUGFS is not set
 CONFIG_IEEE802154_MCR20A=m
 CONFIG_IEEE802154_HWSIM=m
+
+#
+# Wireless WAN
+#
+CONFIG_WWAN=y
+CONFIG_WWAN_HWSIM=m
+CONFIG_MHI_WWAN_CTRL=m
+CONFIG_MHI_WWAN_MBIM=m
+CONFIG_RPMSG_WWAN_CTRL=m
+CONFIG_IOSM=m
+# end of Wireless WAN
+
 CONFIG_VMXNET3=m
 CONFIG_FUJITSU_ES=m
 CONFIG_USB4_NET=m
 CONFIG_HYPERV_NET=m
 CONFIG_NETDEVSIM=m
 CONFIG_NET_FAILOVER=m
+CONFIG_NETDEV_LEGACY_INIT=y
 CONFIG_ISDN=y
 CONFIG_ISDN_CAPI=y
 CONFIG_CAPI_TRACE=y
@@ -3761,9 +3871,6 @@ CONFIG_MISDN_NETJET=m
 CONFIG_MISDN_HDLC=m
 CONFIG_MISDN_IPAC=m
 CONFIG_MISDN_ISAR=m
-CONFIG_NVM=y
-CONFIG_NVM_PBLK=m
-# CONFIG_NVM_PBLK_DEBUG is not set
 
 #
 # Input device support
@@ -3794,7 +3901,7 @@ CONFIG_KEYBOARD_ADP5520=m
 CONFIG_KEYBOARD_ADP5588=m
 CONFIG_KEYBOARD_ADP5589=m
 CONFIG_KEYBOARD_APPLESPI=m
-CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_ATKBD=m
 CONFIG_KEYBOARD_QT1050=m
 CONFIG_KEYBOARD_QT1070=m
 CONFIG_KEYBOARD_QT2160=m
@@ -3891,6 +3998,7 @@ CONFIG_JOYSTICK_XPAD_LEDS=y
 CONFIG_JOYSTICK_WALKERA0701=m
 # CONFIG_JOYSTICK_PSXPAD_SPI is not set
 CONFIG_JOYSTICK_PXRC=m
+CONFIG_JOYSTICK_QWIIC=m
 CONFIG_JOYSTICK_FSIA6B=m
 CONFIG_INPUT_TABLET=y
 CONFIG_TABLET_USB_ACECAD=m
@@ -3900,7 +4008,6 @@ CONFIG_TABLET_USB_KBTAB=m
 CONFIG_TABLET_USB_PEGASUS=m
 CONFIG_TABLET_SERIAL_WACOM4=m
 CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_PROPERTIES=y
 CONFIG_TOUCHSCREEN_88PM860X=m
 CONFIG_TOUCHSCREEN_ADS7846=m
 CONFIG_TOUCHSCREEN_AD7877=m
@@ -3935,7 +4042,9 @@ CONFIG_TOUCHSCREEN_EXC3000=m
 CONFIG_TOUCHSCREEN_FUJITSU=m
 CONFIG_TOUCHSCREEN_GOODIX=m
 CONFIG_TOUCHSCREEN_HIDEEP=m
+CONFIG_TOUCHSCREEN_HYCON_HY46XX=m
 CONFIG_TOUCHSCREEN_ILI210X=m
+CONFIG_TOUCHSCREEN_ILITEK=m
 CONFIG_TOUCHSCREEN_S6SY761=m
 CONFIG_TOUCHSCREEN_GUNZE=m
 CONFIG_TOUCHSCREEN_EKTF2127=m
@@ -3947,6 +4056,7 @@ CONFIG_TOUCHSCREEN_MAX11801=m
 CONFIG_TOUCHSCREEN_MCS5000=m
 CONFIG_TOUCHSCREEN_MMS114=m
 CONFIG_TOUCHSCREEN_MELFAS_MIP4=m
+CONFIG_TOUCHSCREEN_MSG2638=m
 CONFIG_TOUCHSCREEN_MTOUCH=m
 # CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
 CONFIG_TOUCHSCREEN_INEXIO=m
@@ -4014,6 +4124,7 @@ CONFIG_INPUT_AD714X=m
 CONFIG_INPUT_AD714X_I2C=m
 CONFIG_INPUT_AD714X_SPI=m
 CONFIG_INPUT_ARIZONA_HAPTICS=m
+CONFIG_INPUT_ATC260X_ONKEY=m
 # CONFIG_INPUT_ATMEL_CAPTOUCH is not set
 CONFIG_INPUT_BMA150=m
 CONFIG_INPUT_E3X0_BUTTON=m
@@ -4059,6 +4170,7 @@ CONFIG_INPUT_ADXL34X_I2C=m
 CONFIG_INPUT_ADXL34X_SPI=m
 CONFIG_INPUT_IMS_PCU=m
 # CONFIG_INPUT_IQS269A is not set
+CONFIG_INPUT_IQS626A=m
 CONFIG_INPUT_CMA3000=m
 CONFIG_INPUT_CMA3000_I2C=m
 CONFIG_INPUT_IDEAPAD_SLIDEBAR=m
@@ -4085,14 +4197,14 @@ CONFIG_RMI4_F55=y
 #
 # Hardware I/O ports
 #
-CONFIG_SERIO=y
+CONFIG_SERIO=m
 CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
-CONFIG_SERIO_I8042=y
+CONFIG_SERIO_I8042=m
 CONFIG_SERIO_SERPORT=m
 CONFIG_SERIO_CT82C710=m
 CONFIG_SERIO_PARKBD=m
 CONFIG_SERIO_PCIPS2=m
-CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_LIBPS2=m
 CONFIG_SERIO_RAW=m
 CONFIG_SERIO_ALTERA_PS2=m
 CONFIG_SERIO_PS2MULT=m
@@ -4181,7 +4293,6 @@ CONFIG_SERIAL_ALTERA_JTAGUART=m
 CONFIG_SERIAL_ALTERA_UART=m
 CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
 CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
-CONFIG_SERIAL_IFX6X60=m
 CONFIG_SERIAL_PCH_UART=m
 # CONFIG_SERIAL_XILINX_PS_UART is not set
 CONFIG_SERIAL_ARC=m
@@ -4197,19 +4308,13 @@ CONFIG_SERIAL_SPRD=m
 
 CONFIG_SERIAL_MCTRL_GPIO=y
 CONFIG_SERIAL_NONSTANDARD=y
-CONFIG_ROCKETPORT=m
-CONFIG_CYCLADES=m
-CONFIG_CYZ_INTR=y
 CONFIG_MOXA_INTELLIO=m
 CONFIG_MOXA_SMARTIO=m
 CONFIG_SYNCLINK_GT=m
-CONFIG_ISI=m
 CONFIG_N_HDLC=m
 CONFIG_N_GSM=m
 CONFIG_NOZOMI=m
 CONFIG_NULL_TTY=m
-CONFIG_TRACE_ROUTER=m
-CONFIG_TRACE_SINK=m
 CONFIG_HVC_DRIVER=y
 CONFIG_SERIAL_DEV_BUS=y
 CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
@@ -4255,10 +4360,7 @@ CONFIG_MWAVE=m
 CONFIG_PC8736x_GPIO=m
 CONFIG_NSC_GPIO=m
 CONFIG_DEVMEM=y
-# CONFIG_DEVKMEM is not set
 CONFIG_NVRAM=y
-CONFIG_RAW_DRIVER=m
-CONFIG_MAX_RAW_DEVS=8192
 CONFIG_DEVPORT=y
 CONFIG_HPET=y
 # CONFIG_HPET_MMAP is not set
@@ -4269,6 +4371,7 @@ CONFIG_TCG_TIS_CORE=m
 CONFIG_TCG_TIS=m
 CONFIG_TCG_TIS_SPI=m
 CONFIG_TCG_TIS_SPI_CR50=y
+CONFIG_TCG_TIS_I2C_CR50=m
 CONFIG_TCG_TIS_I2C_ATMEL=m
 CONFIG_TCG_TIS_I2C_INFINEON=m
 CONFIG_TCG_TIS_I2C_NUVOTON=m
@@ -4281,13 +4384,14 @@ CONFIG_TCG_TIS_ST33ZP24=m
 CONFIG_TCG_TIS_ST33ZP24_I2C=m
 CONFIG_TCG_TIS_ST33ZP24_SPI=m
 CONFIG_TELCLOCK=m
+CONFIG_XILLYBUS_CLASS=m
 CONFIG_XILLYBUS=m
 CONFIG_XILLYBUS_PCIE=m
 # CONFIG_XILLYBUS_OF is not set
-# end of Character devices
-
+CONFIG_XILLYUSB=m
 # CONFIG_RANDOM_TRUST_CPU is not set
 # CONFIG_RANDOM_TRUST_BOOTLOADER is not set
+# end of Character devices
 
 #
 # I2C support
@@ -4316,7 +4420,7 @@ CONFIG_I2C_MUX_MLXCPLD=m
 
 CONFIG_I2C_HELPER_AUTO=y
 CONFIG_I2C_SMBUS=m
-CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOBIT=y
 CONFIG_I2C_ALGOPCA=m
 
 #
@@ -4378,6 +4482,7 @@ CONFIG_I2C_XILINX=m
 #
 CONFIG_I2C_DIOLAN_U2C=m
 CONFIG_I2C_DLN2=m
+CONFIG_I2C_CP2615=m
 CONFIG_I2C_PARPORT=m
 CONFIG_I2C_ROBOTFUZZ_OSIF=m
 CONFIG_I2C_TAOS_EVM=m
@@ -4390,6 +4495,7 @@ CONFIG_I2C_VIPERBOARD=m
 CONFIG_I2C_PCA_ISA=m
 CONFIG_I2C_CROS_EC_TUNNEL=m
 CONFIG_SCx200_ACB=m
+CONFIG_I2C_VIRTIO=m
 # end of I2C Hardware Bus support
 
 CONFIG_I2C_STUB=m
@@ -4411,10 +4517,13 @@ CONFIG_SPI_MEM=y
 # SPI Master Controller Drivers
 #
 CONFIG_SPI_ALTERA=m
+CONFIG_SPI_ALTERA_CORE=m
+CONFIG_SPI_ALTERA_DFL=m
 CONFIG_SPI_AXI_SPI_ENGINE=m
 CONFIG_SPI_BITBANG=m
 CONFIG_SPI_BUTTERFLY=m
 CONFIG_SPI_CADENCE=m
+# CONFIG_SPI_CADENCE_QUADSPI is not set
 CONFIG_SPI_DESIGNWARE=m
 # CONFIG_SPI_DW_DMA is not set
 CONFIG_SPI_DW_PCI=m
@@ -4474,6 +4583,7 @@ CONFIG_PPS_CLIENT_GPIO=m
 # PTP clock support
 #
 CONFIG_PTP_1588_CLOCK=y
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
 CONFIG_DP83640_PHY=m
 CONFIG_PTP_1588_CLOCK_INES=m
 CONFIG_PTP_1588_CLOCK_PCH=m
@@ -4566,7 +4676,7 @@ CONFIG_GPIO_SIOX=m
 # CONFIG_GPIO_SYSCON is not set
 CONFIG_GPIO_VX855=m
 # CONFIG_GPIO_WCD934X is not set
-CONFIG_GPIO_XILINX=m
+# CONFIG_GPIO_XILINX is not set
 CONFIG_GPIO_AMD_FCH=m
 # end of Memory mapped GPIO drivers
 
@@ -4662,6 +4772,7 @@ CONFIG_GPIO_VIPERBOARD=m
 #
 # CONFIG_GPIO_AGGREGATOR is not set
 CONFIG_GPIO_MOCKUP=m
+CONFIG_GPIO_VIRTIO=m
 # end of Virtual GPIO drivers
 
 CONFIG_W1=m
@@ -4703,12 +4814,14 @@ CONFIG_W1_SLAVE_DS28E17=m
 # end of 1-wire Slaves
 
 CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_ATC260X=m
 # CONFIG_POWER_RESET_GPIO is not set
 # CONFIG_POWER_RESET_GPIO_RESTART is not set
 # CONFIG_POWER_RESET_LTC2952 is not set
 CONFIG_POWER_RESET_MT6323=y
 # CONFIG_POWER_RESET_REGULATOR is not set
 CONFIG_POWER_RESET_RESTART=y
+CONFIG_POWER_RESET_TPS65086=y
 # CONFIG_POWER_RESET_SYSCON is not set
 # CONFIG_POWER_RESET_SYSCON_POWEROFF is not set
 # CONFIG_SYSCON_REBOOT_MODE is not set
@@ -4762,6 +4875,7 @@ CONFIG_CHARGER_LP8788=m
 CONFIG_CHARGER_GPIO=m
 CONFIG_CHARGER_MANAGER=y
 CONFIG_CHARGER_LT3651=m
+CONFIG_CHARGER_LTC4162L=m
 CONFIG_CHARGER_MAX14577=m
 # CONFIG_CHARGER_DETECTOR_MAX14656 is not set
 CONFIG_CHARGER_MAX77693=m
@@ -4774,15 +4888,20 @@ CONFIG_CHARGER_BQ24735=m
 CONFIG_CHARGER_BQ2515X=m
 CONFIG_CHARGER_BQ25890=m
 CONFIG_CHARGER_BQ25980=m
+CONFIG_CHARGER_BQ256XX=m
 CONFIG_CHARGER_SMB347=m
 CONFIG_CHARGER_TPS65090=m
 CONFIG_BATTERY_GAUGE_LTC2941=m
+CONFIG_BATTERY_GOLDFISH=m
 CONFIG_BATTERY_RT5033=m
 CONFIG_CHARGER_RT9455=m
 CONFIG_CHARGER_CROS_USBPD=m
+CONFIG_CHARGER_CROS_PCHG=m
 # CONFIG_CHARGER_UCS1002 is not set
 # CONFIG_CHARGER_BD99954 is not set
 CONFIG_CHARGER_WILCO=m
+CONFIG_BATTERY_SURFACE=m
+CONFIG_CHARGER_SURFACE=m
 CONFIG_HWMON=y
 CONFIG_HWMON_VID=m
 # CONFIG_HWMON_DEBUG_CHIP is not set
@@ -4809,13 +4928,14 @@ CONFIG_SENSORS_ADT7411=m
 CONFIG_SENSORS_ADT7462=m
 CONFIG_SENSORS_ADT7470=m
 CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_AHT10=m
+CONFIG_SENSORS_AQUACOMPUTER_D5NEXT=m
 CONFIG_SENSORS_AS370=m
 CONFIG_SENSORS_ASC7621=m
 CONFIG_SENSORS_AXI_FAN_CONTROL=m
 CONFIG_SENSORS_K8TEMP=m
 CONFIG_SENSORS_K10TEMP=m
 CONFIG_SENSORS_FAM15H_POWER=m
-# CONFIG_SENSORS_AMD_ENERGY is not set
 CONFIG_SENSORS_APPLESMC=m
 CONFIG_SENSORS_ASB100=m
 CONFIG_SENSORS_ASPEED=m
@@ -4879,6 +4999,7 @@ CONFIG_SENSORS_MAX31790=m
 CONFIG_SENSORS_MCP3021=m
 CONFIG_SENSORS_MLXREG_FAN=m
 CONFIG_SENSORS_TC654=m
+CONFIG_SENSORS_TPS23861=m
 CONFIG_SENSORS_MENF21BMC_HWMON=m
 CONFIG_SENSORS_MR75203=m
 CONFIG_SENSORS_ADCXX=m
@@ -4906,15 +5027,20 @@ CONFIG_SENSORS_NCT6775=m
 CONFIG_SENSORS_NCT7802=m
 CONFIG_SENSORS_NCT7904=m
 CONFIG_SENSORS_NPCM7XX=m
+CONFIG_SENSORS_NZXT_KRAKEN2=m
 CONFIG_SENSORS_PCF8591=m
 CONFIG_PMBUS=m
 CONFIG_SENSORS_PMBUS=m
 CONFIG_SENSORS_ADM1266=m
 CONFIG_SENSORS_ADM1275=m
 CONFIG_SENSORS_BEL_PFE=m
+CONFIG_SENSORS_BPA_RS600=m
+CONFIG_SENSORS_FSP_3Y=m
 CONFIG_SENSORS_IBM_CFFPS=m
+CONFIG_SENSORS_DPS920AB=m
 CONFIG_SENSORS_INSPUR_IPSPS=m
 CONFIG_SENSORS_IR35221=m
+CONFIG_SENSORS_IR36021=m
 CONFIG_SENSORS_IR38064=m
 CONFIG_SENSORS_IRPS5401=m
 CONFIG_SENSORS_ISL68137=m
@@ -4922,6 +5048,7 @@ CONFIG_SENSORS_LM25066=m
 CONFIG_SENSORS_LTC2978=m
 # CONFIG_SENSORS_LTC2978_REGULATOR is not set
 CONFIG_SENSORS_LTC3815=m
+CONFIG_SENSORS_MAX15301=m
 CONFIG_SENSORS_MAX16064=m
 # CONFIG_SENSORS_MAX16601 is not set
 CONFIG_SENSORS_MAX20730=m
@@ -4929,10 +5056,13 @@ CONFIG_SENSORS_MAX20751=m
 CONFIG_SENSORS_MAX31785=m
 CONFIG_SENSORS_MAX34440=m
 CONFIG_SENSORS_MAX8688=m
+CONFIG_SENSORS_MP2888=m
 CONFIG_SENSORS_MP2975=m
+CONFIG_SENSORS_PIM4328=m
 CONFIG_SENSORS_PM6764TR=m
 CONFIG_SENSORS_PXE1610=m
 CONFIG_SENSORS_Q54SJ108A2=m
+CONFIG_SENSORS_STPDDC60=m
 CONFIG_SENSORS_TPS40422=m
 CONFIG_SENSORS_TPS53679=m
 CONFIG_SENSORS_UCD9000=m
@@ -4941,9 +5071,11 @@ CONFIG_SENSORS_XDPE122=m
 CONFIG_SENSORS_ZL6100=m
 # CONFIG_SENSORS_PWM_FAN is not set
 CONFIG_SENSORS_SBTSI=m
+CONFIG_SENSORS_SBRMI=m
 CONFIG_SENSORS_SHT15=m
 CONFIG_SENSORS_SHT21=m
 CONFIG_SENSORS_SHT3x=m
+CONFIG_SENSORS_SHT4x=m
 CONFIG_SENSORS_SHTC1=m
 CONFIG_SENSORS_SIS5595=m
 CONFIG_SENSORS_DME1737=m
@@ -5024,6 +5156,7 @@ CONFIG_DEVFREQ_THERMAL=y
 # Intel thermal drivers
 #
 CONFIG_INTEL_POWERCLAMP=m
+CONFIG_X86_THERMAL_VECTOR=y
 CONFIG_X86_PKG_TEMP_THERMAL=m
 CONFIG_INTEL_SOC_DTS_IOSF_CORE=m
 CONFIG_INTEL_SOC_DTS_THERMAL=m
@@ -5037,6 +5170,8 @@ CONFIG_INT3406_THERMAL=m
 # end of ACPI INT340X thermal drivers
 
 CONFIG_INTEL_PCH_THERMAL=m
+CONFIG_INTEL_TCC_COOLING=m
+CONFIG_INTEL_MENLOW=m
 # end of Intel thermal drivers
 
 CONFIG_GENERIC_ADC_THERMAL=m
@@ -5046,6 +5181,7 @@ CONFIG_WATCHDOG_CORE=y
 CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
 CONFIG_WATCHDOG_OPEN_TIMEOUT=0
 CONFIG_WATCHDOG_SYSFS=y
+# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set
 
 #
 # Watchdog Pretimeout Governors
@@ -5241,24 +5377,23 @@ CONFIG_MFD_MENF21BMC=m
 CONFIG_EZX_PCAP=y
 # CONFIG_MFD_CPCAP is not set
 CONFIG_MFD_VIPERBOARD=m
+# CONFIG_MFD_NTXEC is not set
 CONFIG_MFD_RETU=m
 CONFIG_MFD_PCF50633=m
 CONFIG_PCF50633_ADC=m
 CONFIG_PCF50633_GPIO=m
 CONFIG_UCB1400_CORE=m
 CONFIG_MFD_RDC321X=m
+CONFIG_MFD_RT4831=m
 CONFIG_MFD_RT5033=m
 CONFIG_MFD_RC5T583=y
 # CONFIG_MFD_RK808 is not set
 # CONFIG_MFD_RN5T618 is not set
-CONFIG_MFD_SEC_CORE=y
+# CONFIG_MFD_SEC_CORE is not set
 CONFIG_MFD_SI476X_CORE=m
 CONFIG_MFD_SM501=m
 CONFIG_MFD_SM501_GPIO=y
 CONFIG_MFD_SKY81452=m
-CONFIG_ABX500_CORE=y
-CONFIG_AB3100_CORE=y
-CONFIG_AB3100_OTP=y
 # CONFIG_MFD_STMPE is not set
 CONFIG_MFD_SYSCON=y
 CONFIG_MFD_TI_AM335X_TSCADC=m
@@ -5272,7 +5407,6 @@ CONFIG_TPS6507X=m
 CONFIG_MFD_TPS65086=m
 CONFIG_MFD_TPS65090=y
 # CONFIG_MFD_TPS65217 is not set
-CONFIG_MFD_TPS68470=y
 CONFIG_MFD_TI_LP873X=m
 # CONFIG_MFD_TI_LP87565 is not set
 # CONFIG_MFD_TPS65218 is not set
@@ -5292,7 +5426,7 @@ CONFIG_MFD_LM3533=m
 CONFIG_MFD_TQMX86=m
 CONFIG_MFD_VX855=m
 # CONFIG_MFD_LOCHNAGAR is not set
-CONFIG_MFD_ARIZONA=y
+CONFIG_MFD_ARIZONA=m
 CONFIG_MFD_ARIZONA_I2C=m
 CONFIG_MFD_ARIZONA_SPI=m
 CONFIG_MFD_CS47L24=y
@@ -5310,11 +5444,17 @@ CONFIG_MFD_WM8994=m
 # CONFIG_MFD_ROHM_BD718XX is not set
 # CONFIG_MFD_ROHM_BD70528 is not set
 # CONFIG_MFD_ROHM_BD71828 is not set
+# CONFIG_MFD_ROHM_BD957XMUF is not set
 # CONFIG_MFD_STPMIC1 is not set
 # CONFIG_MFD_STMFX is not set
 CONFIG_MFD_WCD934X=m
+CONFIG_MFD_ATC260X=m
+CONFIG_MFD_ATC260X_I2C=m
+# CONFIG_MFD_QCOM_PM8008 is not set
 CONFIG_RAVE_SP_CORE=m
 CONFIG_MFD_INTEL_M10_BMC=m
+# CONFIG_MFD_RSMU_I2C is not set
+# CONFIG_MFD_RSMU_SPI is not set
 # end of Multifunction device drivers
 
 CONFIG_REGULATOR=y
@@ -5328,10 +5468,10 @@ CONFIG_REGULATOR_88PM8607=m
 CONFIG_REGULATOR_ACT8865=m
 CONFIG_REGULATOR_AD5398=m
 CONFIG_REGULATOR_AAT2870=m
-CONFIG_REGULATOR_AB3100=m
 CONFIG_REGULATOR_ARIZONA_LDO1=m
 CONFIG_REGULATOR_ARIZONA_MICSUPP=m
 CONFIG_REGULATOR_AS3711=m
+CONFIG_REGULATOR_ATC260X=m
 CONFIG_REGULATOR_AXP20X=m
 CONFIG_REGULATOR_BCM590XX=m
 CONFIG_REGULATOR_BD9571MWV=m
@@ -5362,6 +5502,7 @@ CONFIG_REGULATOR_MAX14577=m
 CONFIG_REGULATOR_MAX1586=m
 CONFIG_REGULATOR_MAX8649=m
 CONFIG_REGULATOR_MAX8660=m
+CONFIG_REGULATOR_MAX8893=m
 CONFIG_REGULATOR_MAX8907=m
 CONFIG_REGULATOR_MAX8925=m
 CONFIG_REGULATOR_MAX8952=m
@@ -5381,6 +5522,7 @@ CONFIG_REGULATOR_MP8859=m
 CONFIG_REGULATOR_MT6311=m
 CONFIG_REGULATOR_MT6323=m
 # CONFIG_REGULATOR_MT6358 is not set
+CONFIG_REGULATOR_MT6359=m
 CONFIG_REGULATOR_MT6397=m
 CONFIG_REGULATOR_PALMAS=m
 CONFIG_REGULATOR_PCA9450=m
@@ -5395,11 +5537,13 @@ CONFIG_REGULATOR_PWM=m
 CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=m
 CONFIG_REGULATOR_RC5T583=m
 CONFIG_REGULATOR_RT4801=m
+CONFIG_REGULATOR_RT4831=m
 CONFIG_REGULATOR_RT5033=m
+CONFIG_REGULATOR_RT6160=m
+CONFIG_REGULATOR_RT6245=m
+CONFIG_REGULATOR_RTQ2134=m
 CONFIG_REGULATOR_RTMV20=m
-CONFIG_REGULATOR_S2MPA01=m
-CONFIG_REGULATOR_S2MPS11=m
-CONFIG_REGULATOR_S5M8767=m
+CONFIG_REGULATOR_RTQ6752=m
 CONFIG_REGULATOR_SKY81452=m
 CONFIG_REGULATOR_SLG51000=m
 # CONFIG_REGULATOR_SY8106A is not set
@@ -5466,7 +5610,7 @@ CONFIG_IR_SERIAL_TRANSMITTER=y
 CONFIG_IR_SIR=m
 CONFIG_RC_XBOX_DVD=m
 CONFIG_IR_TOY=m
-CONFIG_CEC_CORE=m
+CONFIG_CEC_CORE=y
 CONFIG_CEC_NOTIFIER=y
 CONFIG_CEC_PIN=y
 CONFIG_MEDIA_CEC_RC=y
@@ -5510,6 +5654,7 @@ CONFIG_VIDEO_TUNER=m
 CONFIG_V4L2_MEM2MEM_DEV=m
 CONFIG_V4L2_FLASH_LED_CLASS=m
 CONFIG_V4L2_FWNODE=m
+CONFIG_V4L2_ASYNC=m
 CONFIG_VIDEOBUF_GEN=m
 CONFIG_VIDEOBUF_DMA_SG=m
 CONFIG_VIDEOBUF_VMALLOC=m
@@ -5544,7 +5689,6 @@ CONFIG_DVB_DYNAMIC_MINORS=y
 #
 # Drivers filtered as selected at 'Filter media drivers'
 #
-CONFIG_TTPCI_EEPROM=m
 CONFIG_MEDIA_USB_SUPPORT=y
 
 #
@@ -5715,10 +5859,8 @@ CONFIG_VIDEO_TW686X=m
 # Media capture/analog TV support
 #
 CONFIG_VIDEO_IVTV=m
-# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
 CONFIG_VIDEO_IVTV_ALSA=m
-CONFIG_VIDEO_FB_IVTV=m
-# CONFIG_VIDEO_FB_IVTV_FORCE_PAT is not set
+# CONFIG_VIDEO_FB_IVTV is not set
 CONFIG_VIDEO_HEXIUM_GEMINI=m
 CONFIG_VIDEO_HEXIUM_ORION=m
 CONFIG_VIDEO_MXB=m
@@ -5752,14 +5894,10 @@ CONFIG_VIDEO_SAA7164=m
 #
 # Media digital TV PCI Adapters
 #
-CONFIG_DVB_AV7110_IR=y
-CONFIG_DVB_AV7110=m
-CONFIG_DVB_AV7110_OSD=y
 CONFIG_DVB_BUDGET_CORE=m
 CONFIG_DVB_BUDGET=m
 CONFIG_DVB_BUDGET_CI=m
 CONFIG_DVB_BUDGET_AV=m
-CONFIG_DVB_BUDGET_PATCH=m
 CONFIG_DVB_B2C2_FLEXCOP_PCI=m
 # CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set
 CONFIG_DVB_PLUTO2=m
@@ -5775,6 +5913,7 @@ CONFIG_DVB_DDBRIDGE=m
 CONFIG_DVB_SMIPCIE=m
 CONFIG_DVB_NETUP_UNIDVB=m
 CONFIG_VIDEO_IPU3_CIO2=m
+CONFIG_CIO2_BRIDGE=y
 CONFIG_RADIO_ADAPTERS=y
 CONFIG_RADIO_TEA575X=m
 CONFIG_RADIO_SI470X=m
@@ -5806,6 +5945,7 @@ CONFIG_MEDIA_COMMON_OPTIONS=y
 #
 CONFIG_VIDEO_CX2341X=m
 CONFIG_VIDEO_TVEEPROM=m
+CONFIG_TTPCI_EEPROM=m
 CONFIG_CYPRESS_FIRMWARE=m
 CONFIG_VIDEOBUF2_CORE=m
 CONFIG_VIDEOBUF2_V4L2=m
@@ -5905,13 +6045,17 @@ CONFIG_VIDEO_M52790=m
 CONFIG_VIDEO_APTINA_PLL=m
 CONFIG_VIDEO_CCS_PLL=m
 CONFIG_VIDEO_HI556=m
+CONFIG_VIDEO_IMX208=m
 CONFIG_VIDEO_IMX214=m
 CONFIG_VIDEO_IMX219=m
 CONFIG_VIDEO_IMX258=m
 CONFIG_VIDEO_IMX274=m
 CONFIG_VIDEO_IMX290=m
 CONFIG_VIDEO_IMX319=m
+# CONFIG_VIDEO_IMX334 is not set
+# CONFIG_VIDEO_IMX335 is not set
 CONFIG_VIDEO_IMX355=m
+# CONFIG_VIDEO_IMX412 is not set
 CONFIG_VIDEO_OV02A10=m
 CONFIG_VIDEO_OV2640=m
 CONFIG_VIDEO_OV2659=m
@@ -5921,6 +6065,7 @@ CONFIG_VIDEO_OV2685=m
 # CONFIG_VIDEO_OV5640 is not set
 # CONFIG_VIDEO_OV5645 is not set
 CONFIG_VIDEO_OV5647=m
+CONFIG_VIDEO_OV5648=m
 CONFIG_VIDEO_OV6650=m
 CONFIG_VIDEO_OV5670=m
 CONFIG_VIDEO_OV5675=m
@@ -5931,6 +6076,8 @@ CONFIG_VIDEO_OV7640=m
 CONFIG_VIDEO_OV7670=m
 CONFIG_VIDEO_OV7740=m
 CONFIG_VIDEO_OV8856=m
+CONFIG_VIDEO_OV8865=m
+# CONFIG_VIDEO_OV9282 is not set
 CONFIG_VIDEO_OV9640=m
 CONFIG_VIDEO_OV9650=m
 CONFIG_VIDEO_OV9734=m
@@ -5948,7 +6095,9 @@ CONFIG_VIDEO_MT9V111=m
 CONFIG_VIDEO_SR030PC30=m
 CONFIG_VIDEO_NOON010PC30=m
 CONFIG_VIDEO_M5MOLS=m
+CONFIG_VIDEO_MAX9271_LIB=m
 CONFIG_VIDEO_RDACM20=m
+CONFIG_VIDEO_RDACM21=m
 CONFIG_VIDEO_RJ54N1=m
 CONFIG_VIDEO_S5K6AA=m
 CONFIG_VIDEO_S5K6A3=m
@@ -6088,7 +6237,6 @@ CONFIG_DVB_TDA10071=m
 #
 # DVB-T (terrestrial) frontends
 #
-CONFIG_DVB_SP8870=m
 CONFIG_DVB_SP887X=m
 CONFIG_DVB_CX22700=m
 CONFIG_DVB_CX22702=m
@@ -6139,6 +6287,7 @@ CONFIG_DVB_AU8522=m
 CONFIG_DVB_AU8522_DTV=m
 CONFIG_DVB_AU8522_V4L=m
 CONFIG_DVB_S5H1411=m
+CONFIG_DVB_MXL692=m
 
 #
 # ISDB-T (terrestrial) frontends
@@ -6195,7 +6344,7 @@ CONFIG_DVB_DUMMY_FE=m
 #
 # Graphics support
 #
-CONFIG_AGP=m
+CONFIG_AGP=y
 CONFIG_AGP_ALI=m
 CONFIG_AGP_ATI=m
 CONFIG_AGP_AMD=m
@@ -6210,13 +6359,13 @@ CONFIG_INTEL_GTT=m
 CONFIG_VGA_ARB=y
 CONFIG_VGA_ARB_MAX_GPUS=10
 CONFIG_VGA_SWITCHEROO=y
-CONFIG_DRM=m
+CONFIG_DRM=y
 CONFIG_DRM_MIPI_DBI=m
 CONFIG_DRM_MIPI_DSI=y
 CONFIG_DRM_DP_AUX_CHARDEV=y
+# CONFIG_DRM_DEBUG_MM is not set
 # CONFIG_DRM_DEBUG_SELFTEST is not set
-CONFIG_DRM_KMS_HELPER=m
-CONFIG_DRM_KMS_FB_HELPER=y
+CONFIG_DRM_KMS_HELPER=y
 CONFIG_DRM_FBDEV_EMULATION=y
 CONFIG_DRM_FBDEV_OVERALLOC=100
 CONFIG_DRM_LOAD_EDID_FIRMWARE=y
@@ -6250,7 +6399,6 @@ CONFIG_DRM_AMDGPU=m
 CONFIG_DRM_AMDGPU_SI=y
 CONFIG_DRM_AMDGPU_CIK=y
 # CONFIG_DRM_AMDGPU_USERPTR is not set
-# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
 
 #
 # ACP (Audio CoProcessor) Configuration
@@ -6265,6 +6413,7 @@ CONFIG_DRM_AMD_DC=y
 CONFIG_DRM_AMD_DC_DCN=y
 CONFIG_DRM_AMD_DC_HDCP=y
 CONFIG_DRM_AMD_DC_SI=y
+CONFIG_DRM_AMD_SECURE_DISPLAY=y
 # end of Display Engine Configuration
 
 CONFIG_DRM_NOUVEAU=m
@@ -6279,6 +6428,7 @@ CONFIG_DRM_I915_FORCE_PROBE="*"
 CONFIG_DRM_I915_CAPTURE_ERROR=y
 CONFIG_DRM_I915_COMPRESS_ERROR=y
 CONFIG_DRM_I915_USERPTR=y
+CONFIG_DRM_I915_REQUEST_TIMEOUT=20000
 CONFIG_DRM_I915_FENCE_TIMEOUT=10000
 CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250
 CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500
@@ -6290,16 +6440,14 @@ CONFIG_DRM_VGEM=m
 CONFIG_DRM_VKMS=m
 CONFIG_DRM_VMWGFX=m
 CONFIG_DRM_VMWGFX_FBCON=y
+CONFIG_DRM_VMWGFX_MKSSTATS=y
 CONFIG_DRM_GMA500=m
-CONFIG_DRM_GMA600=y
-CONFIG_DRM_GMA3600=y
 CONFIG_DRM_UDL=m
 CONFIG_DRM_AST=m
 CONFIG_DRM_MGAG200=m
 # CONFIG_DRM_RCAR_DW_HDMI is not set
 # CONFIG_DRM_RCAR_LVDS is not set
 CONFIG_DRM_QXL=m
-CONFIG_DRM_BOCHS=m
 CONFIG_DRM_VIRTIO_GPU=m
 CONFIG_DRM_PANEL=y
 
@@ -6311,15 +6459,19 @@ CONFIG_DRM_PANEL=y
 # CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set
 # CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
 # CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set
+# CONFIG_DRM_PANEL_DSI_CM is not set
 # CONFIG_DRM_PANEL_LVDS is not set
 # CONFIG_DRM_PANEL_SIMPLE is not set
 # CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set
 # CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set
 # CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set
 # CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
+# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set
 # CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
+# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
 # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
 # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
+# CONFIG_DRM_PANEL_KHADAS_TS050 is not set
 # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
 # CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
 # CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
@@ -6339,6 +6491,8 @@ CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
 # CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
 # CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
 # CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set
 # CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
 # CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
 # CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set
@@ -6361,6 +6515,7 @@ CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
 # CONFIG_DRM_PANEL_TPO_TPG110 is not set
 # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
 # CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set
+CONFIG_DRM_PANEL_WIDECHIPS_WS2401=m
 # CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
 # end of Display Panels
 
@@ -6371,10 +6526,14 @@ CONFIG_DRM_PANEL_BRIDGE=y
 # Display Interface Bridges
 #
 # CONFIG_DRM_CDNS_DSI is not set
+# CONFIG_DRM_CHIPONE_ICN6211 is not set
 # CONFIG_DRM_CHRONTEL_CH7033 is not set
+# CONFIG_DRM_CROS_EC_ANX7688 is not set
 # CONFIG_DRM_DISPLAY_CONNECTOR is not set
+# CONFIG_DRM_LONTIUM_LT8912B is not set
 # CONFIG_DRM_LONTIUM_LT9611 is not set
 # CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_ITE_IT66121 is not set
 # CONFIG_DRM_LVDS_CODEC is not set
 # CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
 # CONFIG_DRM_NWL_MIPI_DSI is not set
@@ -6392,6 +6551,7 @@ CONFIG_DRM_PANEL_BRIDGE=y
 # CONFIG_DRM_TOSHIBA_TC358768 is not set
 # CONFIG_DRM_TOSHIBA_TC358775 is not set
 # CONFIG_DRM_TI_TFP410 is not set
+# CONFIG_DRM_TI_SN65DSI83 is not set
 # CONFIG_DRM_TI_SN65DSI86 is not set
 # CONFIG_DRM_TI_TPD12S015 is not set
 # CONFIG_DRM_ANALOGIX_ANX6345 is not set
@@ -6403,10 +6563,12 @@ CONFIG_DRM_ANALOGIX_DP=m
 # end of Display Interface Bridges
 
 # CONFIG_DRM_ETNAVIV is not set
-# CONFIG_DRM_ARCPGU is not set
 # CONFIG_DRM_MXSFB is not set
+# CONFIG_DRM_ARCPGU is not set
+CONFIG_DRM_BOCHS=m
 CONFIG_DRM_CIRRUS_QEMU=m
 CONFIG_DRM_GM12U320=m
+CONFIG_DRM_SIMPLEDRM=y
 CONFIG_TINYDRM_HX8357D=m
 CONFIG_TINYDRM_ILI9225=m
 CONFIG_TINYDRM_ILI9341=m
@@ -6416,6 +6578,8 @@ CONFIG_TINYDRM_REPAPER=m
 CONFIG_TINYDRM_ST7586=m
 CONFIG_TINYDRM_ST7735R=m
 CONFIG_DRM_VBOXVIDEO=m
+CONFIG_DRM_GUD=m
+CONFIG_DRM_HYPERV=m
 # CONFIG_DRM_LEGACY is not set
 CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
 
@@ -6431,11 +6595,11 @@ CONFIG_FB_BOOT_VESA_SUPPORT=y
 CONFIG_FB_CFB_FILLRECT=y
 CONFIG_FB_CFB_COPYAREA=y
 CONFIG_FB_CFB_IMAGEBLIT=y
-CONFIG_FB_SYS_FILLRECT=m
-CONFIG_FB_SYS_COPYAREA=m
-CONFIG_FB_SYS_IMAGEBLIT=m
+CONFIG_FB_SYS_FILLRECT=y
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_IMAGEBLIT=y
 # CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_SYS_FOPS=y
 CONFIG_FB_DEFERRED_IO=y
 CONFIG_FB_MODE_HELPERS=y
 CONFIG_FB_TILEBLITTING=y
@@ -6491,8 +6655,7 @@ CONFIG_FB_UDL=m
 # CONFIG_FB_VIRTUAL is not set
 # CONFIG_FB_METRONOME is not set
 # CONFIG_FB_MB862XX is not set
-CONFIG_FB_HYPERV=m
-CONFIG_FB_SIMPLE=y
+# CONFIG_FB_HYPERV is not set
 # CONFIG_FB_SSD1307 is not set
 # CONFIG_FB_SM712 is not set
 # end of Frame buffer Devices
@@ -6522,6 +6685,7 @@ CONFIG_BACKLIGHT_DA9052=m
 CONFIG_BACKLIGHT_MAX8925=m
 CONFIG_BACKLIGHT_APPLE=m
 CONFIG_BACKLIGHT_QCOM_WLED=m
+CONFIG_BACKLIGHT_RT4831=m
 CONFIG_BACKLIGHT_SAHARA=m
 CONFIG_BACKLIGHT_WM831X=m
 CONFIG_BACKLIGHT_ADP5520=m
@@ -6596,8 +6760,10 @@ CONFIG_SND_DEBUG=y
 # CONFIG_SND_DEBUG_VERBOSE is not set
 # CONFIG_SND_PCM_XRUN_DEBUG is not set
 CONFIG_SND_CTL_VALIDATION=y
+# CONFIG_SND_JACK_INJECTION_DEBUG is not set
 CONFIG_SND_VMASTER=y
 CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_CTL_LED=m
 CONFIG_SND_SEQUENCER=m
 CONFIG_SND_SEQ_DUMMY=m
 CONFIG_SND_SEQUENCER_OSS=m
@@ -6758,6 +6924,7 @@ CONFIG_SND_HDA_CODEC_SIGMATEL=m
 CONFIG_SND_HDA_CODEC_VIA=m
 CONFIG_SND_HDA_CODEC_HDMI=m
 CONFIG_SND_HDA_CODEC_CIRRUS=m
+CONFIG_SND_HDA_CODEC_CS8409=m
 CONFIG_SND_HDA_CODEC_CONEXANT=m
 CONFIG_SND_HDA_CODEC_CA0110=m
 CONFIG_SND_HDA_CODEC_CA0132=m
@@ -6777,6 +6944,8 @@ CONFIG_SND_HDA_EXT_CORE=m
 CONFIG_SND_HDA_PREALLOC_SIZE=0
 CONFIG_SND_INTEL_NHLT=y
 CONFIG_SND_INTEL_DSP_CONFIG=m
+CONFIG_SND_INTEL_SOUNDWIRE_ACPI=m
+# CONFIG_SND_INTEL_BYT_PREFER_SOF is not set
 CONFIG_SND_SPI=y
 CONFIG_SND_USB=y
 CONFIG_SND_USB_AUDIO=m
@@ -6823,6 +6992,7 @@ CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
 CONFIG_SND_SOC_AMD_ACP3x=m
 CONFIG_SND_SOC_AMD_RV_RT5682_MACH=m
 # CONFIG_SND_SOC_AMD_RENOIR is not set
+CONFIG_SND_SOC_AMD_ACP5x=m
 CONFIG_SND_ATMEL_SOC=m
 # CONFIG_SND_SOC_MIKROE_PROTO is not set
 # CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
@@ -6844,6 +7014,7 @@ CONFIG_SND_DESIGNWARE_PCM=y
 # CONFIG_SND_SOC_FSL_ESAI is not set
 # CONFIG_SND_SOC_FSL_MICFIL is not set
 CONFIG_SND_SOC_FSL_XCVR=m
+CONFIG_SND_SOC_FSL_RPMSG=m
 # CONFIG_SND_SOC_IMX_AUDMUX is not set
 # end of SoC Audio for Freescale CPUs
 
@@ -6877,12 +7048,15 @@ CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m
 CONFIG_SND_SOC_ACPI_INTEL_MATCH=m
 CONFIG_SND_SOC_INTEL_MACH=y
 CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y
+CONFIG_SND_SOC_INTEL_HDA_DSP_COMMON=m
+CONFIG_SND_SOC_INTEL_SOF_MAXIM_COMMON=m
 CONFIG_SND_SOC_INTEL_HASWELL_MACH=m
 CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m
 CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m
 CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
 CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
 CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m
+CONFIG_SND_SOC_INTEL_BYTCR_WM5102_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m
@@ -6908,6 +7082,7 @@ CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH=m
 CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH=m
 CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m
 CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m
+CONFIG_SND_SOC_INTEL_SOF_CS42L42_MACH=m
 CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m
 CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH=m
 CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m
@@ -6916,51 +7091,40 @@ CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m
 CONFIG_SND_SOC_INTEL_SOUNDWIRE_SOF_MACH=m
 CONFIG_SND_SOC_MTK_BTCVSD=m
 CONFIG_SND_SOC_SOF_TOPLEVEL=y
+CONFIG_SND_SOC_SOF_PCI_DEV=m
 CONFIG_SND_SOC_SOF_PCI=m
 CONFIG_SND_SOC_SOF_ACPI=m
+CONFIG_SND_SOC_SOF_ACPI_DEV=m
 # CONFIG_SND_SOC_SOF_OF is not set
 # CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set
 CONFIG_SND_SOC_SOF=m
 CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE=y
 CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y
-CONFIG_SND_SOC_SOF_INTEL_ACPI=m
-CONFIG_SND_SOC_SOF_INTEL_PCI=m
 CONFIG_SND_SOC_SOF_INTEL_HIFI_EP_IPC=m
 CONFIG_SND_SOC_SOF_INTEL_ATOM_HIFI_EP=m
 CONFIG_SND_SOC_SOF_INTEL_COMMON=m
-CONFIG_SND_SOC_SOF_BAYTRAIL_SUPPORT=y
 CONFIG_SND_SOC_SOF_BAYTRAIL=m
-# CONFIG_SND_SOC_SOF_BROADWELL_SUPPORT is not set
-CONFIG_SND_SOC_SOF_MERRIFIELD_SUPPORT=y
+# CONFIG_SND_SOC_SOF_BROADWELL is not set
 CONFIG_SND_SOC_SOF_MERRIFIELD=m
-CONFIG_SND_SOC_SOF_APOLLOLAKE_SUPPORT=y
+CONFIG_SND_SOC_SOF_INTEL_APL=m
 CONFIG_SND_SOC_SOF_APOLLOLAKE=m
-CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT=y
 CONFIG_SND_SOC_SOF_GEMINILAKE=m
-CONFIG_SND_SOC_SOF_CANNONLAKE_SUPPORT=y
+CONFIG_SND_SOC_SOF_INTEL_CNL=m
 CONFIG_SND_SOC_SOF_CANNONLAKE=m
-CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT=y
 CONFIG_SND_SOC_SOF_COFFEELAKE=m
-CONFIG_SND_SOC_SOF_ICELAKE_SUPPORT=y
-CONFIG_SND_SOC_SOF_ICELAKE=m
 CONFIG_SND_SOC_SOF_COMETLAKE=m
-CONFIG_SND_SOC_SOF_COMETLAKE_SUPPORT=y
-CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT=y
-CONFIG_SND_SOC_SOF_TIGERLAKE_SUPPORT=y
+CONFIG_SND_SOC_SOF_INTEL_ICL=m
+CONFIG_SND_SOC_SOF_ICELAKE=m
+CONFIG_SND_SOC_SOF_JASPERLAKE=m
+CONFIG_SND_SOC_SOF_INTEL_TGL=m
 CONFIG_SND_SOC_SOF_TIGERLAKE=m
-CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT=y
 CONFIG_SND_SOC_SOF_ELKHARTLAKE=m
-CONFIG_SND_SOC_SOF_JASPERLAKE_SUPPORT=y
-CONFIG_SND_SOC_SOF_JASPERLAKE=m
-CONFIG_SND_SOC_SOF_ALDERLAKE_SUPPORT=y
 CONFIG_SND_SOC_SOF_ALDERLAKE=m
 CONFIG_SND_SOC_SOF_HDA_COMMON=m
 CONFIG_SND_SOC_SOF_HDA_LINK=y
 CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y
-# CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 is not set
 CONFIG_SND_SOC_SOF_HDA_LINK_BASELINE=m
 CONFIG_SND_SOC_SOF_HDA=m
-CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE_LINK=y
 CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE=m
 CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE=m
 CONFIG_SND_SOC_SOF_XTENSA=m
@@ -6974,12 +7138,13 @@ CONFIG_SND_SOC_XILINX_I2S=m
 CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER=m
 CONFIG_SND_SOC_XILINX_SPDIF=m
 CONFIG_SND_SOC_XTFPGA_I2S=m
-CONFIG_ZX_TDM=m
 CONFIG_SND_SOC_I2C_AND_SPI=m
 
 #
 # CODEC drivers
 #
+CONFIG_SND_SOC_ARIZONA=m
+CONFIG_SND_SOC_WM_ADSP=m
 CONFIG_SND_SOC_AC97_CODEC=m
 CONFIG_SND_SOC_ADAU_UTILS=m
 CONFIG_SND_SOC_ADAU1372=m
@@ -7043,6 +7208,7 @@ CONFIG_SND_SOC_ES8328_SPI=m
 CONFIG_SND_SOC_GTM601=m
 CONFIG_SND_SOC_HDAC_HDMI=m
 CONFIG_SND_SOC_HDAC_HDA=m
+CONFIG_SND_SOC_ICS43432=m
 CONFIG_SND_SOC_INNO_RK3036=m
 CONFIG_SND_SOC_MAX98088=m
 CONFIG_SND_SOC_MAX98090=m
@@ -7082,8 +7248,10 @@ CONFIG_SND_SOC_RT286=m
 CONFIG_SND_SOC_RT298=m
 CONFIG_SND_SOC_RT1011=m
 CONFIG_SND_SOC_RT1015=m
+CONFIG_SND_SOC_RT1015P=m
 CONFIG_SND_SOC_RT1308=m
 CONFIG_SND_SOC_RT1308_SDW=m
+CONFIG_SND_SOC_RT1316_SDW=m
 CONFIG_SND_SOC_RT5514=m
 CONFIG_SND_SOC_RT5514_SPI=m
 CONFIG_SND_SOC_RT5616=m
@@ -7091,6 +7259,7 @@ CONFIG_SND_SOC_RT5631=m
 CONFIG_SND_SOC_RT5640=m
 CONFIG_SND_SOC_RT5645=m
 CONFIG_SND_SOC_RT5651=m
+CONFIG_SND_SOC_RT5659=m
 CONFIG_SND_SOC_RT5660=m
 CONFIG_SND_SOC_RT5663=m
 CONFIG_SND_SOC_RT5670=m
@@ -7103,8 +7272,11 @@ CONFIG_SND_SOC_RT700=m
 CONFIG_SND_SOC_RT700_SDW=m
 CONFIG_SND_SOC_RT711=m
 CONFIG_SND_SOC_RT711_SDW=m
+CONFIG_SND_SOC_RT711_SDCA_SDW=m
 CONFIG_SND_SOC_RT715=m
 CONFIG_SND_SOC_RT715_SDW=m
+CONFIG_SND_SOC_RT715_SDCA_SDW=m
+# CONFIG_SND_SOC_SDW_MOCKUP is not set
 CONFIG_SND_SOC_SGTL5000=m
 CONFIG_SND_SOC_SI476X=m
 CONFIG_SND_SOC_SIGMADSP=m
@@ -7112,9 +7284,9 @@ CONFIG_SND_SOC_SIGMADSP_I2C=m
 CONFIG_SND_SOC_SIGMADSP_REGMAP=m
 CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
 CONFIG_SND_SOC_SIMPLE_MUX=m
-CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m
 CONFIG_SND_SOC_SPDIF=m
 # CONFIG_SND_SOC_SSM2305 is not set
+CONFIG_SND_SOC_SSM2518=m
 CONFIG_SND_SOC_SSM2602=m
 CONFIG_SND_SOC_SSM2602_SPI=m
 CONFIG_SND_SOC_SSM2602_I2C=m
@@ -7132,6 +7304,7 @@ CONFIG_SND_SOC_TAS5720=m
 CONFIG_SND_SOC_TAS6424=m
 CONFIG_SND_SOC_TDA7419=m
 CONFIG_SND_SOC_TFA9879=m
+CONFIG_SND_SOC_TFA989X=m
 CONFIG_SND_SOC_TLV320AIC23=m
 CONFIG_SND_SOC_TLV320AIC23_I2C=m
 CONFIG_SND_SOC_TLV320AIC23_SPI=m
@@ -7140,13 +7313,19 @@ CONFIG_SND_SOC_TLV320AIC32X4=m
 CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
 CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
 CONFIG_SND_SOC_TLV320AIC3X=m
+CONFIG_SND_SOC_TLV320AIC3X_I2C=m
+CONFIG_SND_SOC_TLV320AIC3X_SPI=m
 CONFIG_SND_SOC_TLV320ADCX140=m
 CONFIG_SND_SOC_TS3A227E=m
 CONFIG_SND_SOC_TSCS42XX=m
 # CONFIG_SND_SOC_TSCS454 is not set
 CONFIG_SND_SOC_UDA1334=m
 CONFIG_SND_SOC_WCD9335=m
+CONFIG_SND_SOC_WCD_MBHC=m
 CONFIG_SND_SOC_WCD934X=m
+CONFIG_SND_SOC_WCD938X=m
+CONFIG_SND_SOC_WCD938X_SDW=m
+CONFIG_SND_SOC_WM5102=m
 CONFIG_SND_SOC_WM8510=m
 CONFIG_SND_SOC_WM8523=m
 CONFIG_SND_SOC_WM8524=m
@@ -7173,7 +7352,6 @@ CONFIG_SND_SOC_WM8978=m
 CONFIG_SND_SOC_WM8985=m
 CONFIG_SND_SOC_WSA881X=m
 # CONFIG_SND_SOC_ZL38060 is not set
-CONFIG_SND_SOC_ZX_AUD96P22=m
 CONFIG_SND_SOC_MAX9759=m
 # CONFIG_SND_SOC_MT6351 is not set
 CONFIG_SND_SOC_MT6358=m
@@ -7187,6 +7365,8 @@ CONFIG_SND_SOC_NAU8825=m
 CONFIG_SND_SOC_TPA6130A2=m
 CONFIG_SND_SOC_LPASS_WSA_MACRO=m
 CONFIG_SND_SOC_LPASS_VA_MACRO=m
+CONFIG_SND_SOC_LPASS_RX_MACRO=m
+CONFIG_SND_SOC_LPASS_TX_MACRO=m
 # end of CODEC drivers
 
 CONFIG_SND_SIMPLE_CARD_UTILS=m
@@ -7195,6 +7375,7 @@ CONFIG_SND_SIMPLE_CARD=m
 CONFIG_SND_X86=y
 CONFIG_HDMI_LPE_AUDIO=m
 CONFIG_SND_SYNTH_EMUX=m
+CONFIG_SND_VIRTIO=m
 CONFIG_AC97_BUS=m
 
 #
@@ -7237,6 +7418,7 @@ CONFIG_HID_ELAN=m
 CONFIG_HID_ELECOM=m
 CONFIG_HID_ELO=m
 CONFIG_HID_EZKEY=m
+CONFIG_HID_FT260=m
 CONFIG_HID_GEMBIRD=m
 CONFIG_HID_GFRM=m
 CONFIG_HID_GLORIOUS=m
@@ -7287,11 +7469,14 @@ CONFIG_HID_PICOLCD_LCD=y
 CONFIG_HID_PICOLCD_LEDS=y
 CONFIG_HID_PICOLCD_CIR=y
 CONFIG_HID_PLANTRONICS=m
+CONFIG_HID_PLAYSTATION=m
+CONFIG_PLAYSTATION_FF=y
 CONFIG_HID_PRIMAX=m
 CONFIG_HID_RETRODE=m
 CONFIG_HID_ROCCAT=m
 CONFIG_HID_SAITEK=m
 CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SEMITEK=m
 CONFIG_HID_SONY=m
 CONFIG_SONY_FF=y
 CONFIG_HID_SPEEDLINK=m
@@ -7318,7 +7503,7 @@ CONFIG_HID_ZEROPLUS=m
 CONFIG_ZEROPLUS_FF=y
 CONFIG_HID_ZYDACRON=m
 CONFIG_HID_SENSOR_HUB=m
-# CONFIG_HID_SENSOR_CUSTOM_SENSOR is not set
+CONFIG_HID_SENSOR_CUSTOM_SENSOR=m
 CONFIG_HID_ALPS=m
 CONFIG_HID_MCP2221=m
 # end of Special HID drivers
@@ -7334,8 +7519,21 @@ CONFIG_USB_HIDDEV=y
 #
 # I2C HID support
 #
-CONFIG_I2C_HID=m
+CONFIG_I2C_HID_ACPI=m
+# CONFIG_I2C_HID_OF is not set
+# CONFIG_I2C_HID_OF_GOODIX is not set
 # end of I2C HID support
+
+CONFIG_I2C_HID_CORE=m
+
+#
+# Surface System Aggregator Module HID support
+#
+CONFIG_SURFACE_HID=m
+CONFIG_SURFACE_KBD=m
+# end of Surface System Aggregator Module HID support
+
+CONFIG_SURFACE_HID_CORE=m
 # end of HID support
 
 CONFIG_USB_OHCI_LITTLE_ENDIAN=y
@@ -7436,13 +7634,67 @@ CONFIG_USBIP_VHCI_HCD=m
 CONFIG_USBIP_VHCI_HC_PORTS=8
 CONFIG_USBIP_VHCI_NR_HCS=1
 CONFIG_USBIP_HOST=m
+CONFIG_USBIP_VUDC=m
 # CONFIG_USBIP_DEBUG is not set
-# CONFIG_USB_CDNS3 is not set
-# CONFIG_USB_MUSB_HDRC is not set
-# CONFIG_USB_DWC3 is not set
-# CONFIG_USB_DWC2 is not set
-# CONFIG_USB_CHIPIDEA is not set
-# CONFIG_USB_ISP1760 is not set
+CONFIG_USB_CDNS_SUPPORT=m
+CONFIG_USB_CDNS_HOST=y
+CONFIG_USB_CDNS3=m
+CONFIG_USB_CDNS3_GADGET=y
+CONFIG_USB_CDNS3_HOST=y
+CONFIG_USB_CDNS3_PCI_WRAP=m
+CONFIG_USB_CDNSP_PCI=m
+CONFIG_USB_CDNSP_GADGET=y
+CONFIG_USB_CDNSP_HOST=y
+CONFIG_USB_MUSB_HDRC=m
+# CONFIG_USB_MUSB_HOST is not set
+# CONFIG_USB_MUSB_GADGET is not set
+CONFIG_USB_MUSB_DUAL_ROLE=y
+
+#
+# Platform Glue Layer
+#
+
+#
+# MUSB DMA mode
+#
+# CONFIG_MUSB_PIO_ONLY is not set
+CONFIG_USB_DWC3=m
+CONFIG_USB_DWC3_ULPI=y
+# CONFIG_USB_DWC3_HOST is not set
+# CONFIG_USB_DWC3_GADGET is not set
+CONFIG_USB_DWC3_DUAL_ROLE=y
+
+#
+# Platform Glue Driver Support
+#
+CONFIG_USB_DWC3_PCI=m
+CONFIG_USB_DWC3_HAPS=m
+CONFIG_USB_DWC3_OF_SIMPLE=m
+CONFIG_USB_DWC2=m
+# CONFIG_USB_DWC2_HOST is not set
+
+#
+# Gadget/Dual-role mode requires USB Gadget support to be enabled
+#
+# CONFIG_USB_DWC2_PERIPHERAL is not set
+CONFIG_USB_DWC2_DUAL_ROLE=y
+CONFIG_USB_DWC2_PCI=m
+# CONFIG_USB_DWC2_DEBUG is not set
+# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
+CONFIG_USB_CHIPIDEA=m
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_CHIPIDEA_PCI=m
+CONFIG_USB_CHIPIDEA_MSM=m
+CONFIG_USB_CHIPIDEA_IMX=m
+CONFIG_USB_CHIPIDEA_GENERIC=m
+CONFIG_USB_CHIPIDEA_TEGRA=m
+CONFIG_USB_ISP1760=m
+CONFIG_USB_ISP1760_HCD=y
+CONFIG_USB_ISP1761_UDC=y
+# CONFIG_USB_ISP1760_HOST_ROLE is not set
+# CONFIG_USB_ISP1760_GADGET_ROLE is not set
+CONFIG_USB_ISP1760_DUAL_ROLE=y
 
 #
 # USB port drivers
@@ -7503,6 +7755,7 @@ CONFIG_USB_SERIAL_WISHBONE=m
 CONFIG_USB_SERIAL_SSU100=m
 CONFIG_USB_SERIAL_QT2=m
 CONFIG_USB_SERIAL_UPD78F0730=m
+CONFIG_USB_SERIAL_XR=m
 CONFIG_USB_SERIAL_DEBUG=m
 
 #
@@ -7551,7 +7804,119 @@ CONFIG_TAHVO_USB=m
 CONFIG_USB_ISP1301=m
 # end of USB Physical Layer drivers
 
-# CONFIG_USB_GADGET is not set
+CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
+CONFIG_U_SERIAL_CONSOLE=y
+
+#
+# USB Peripheral Controller
+#
+# CONFIG_USB_FUSB300 is not set
+CONFIG_USB_FOTG210_UDC=m
+CONFIG_USB_GR_UDC=m
+CONFIG_USB_R8A66597=m
+CONFIG_USB_PXA27X=m
+CONFIG_USB_MV_UDC=m
+CONFIG_USB_MV_U3D=m
+CONFIG_USB_SNP_CORE=m
+# CONFIG_USB_SNP_UDC_PLAT is not set
+CONFIG_USB_M66592=m
+CONFIG_USB_BDC_UDC=m
+CONFIG_USB_AMD5536UDC=m
+CONFIG_USB_NET2272=m
+# CONFIG_USB_NET2272_DMA is not set
+CONFIG_USB_NET2280=m
+CONFIG_USB_GOKU=m
+CONFIG_USB_EG20T=m
+# CONFIG_USB_GADGET_XILINX is not set
+CONFIG_USB_MAX3420_UDC=m
+CONFIG_USB_DUMMY_HCD=m
+# end of USB Peripheral Controller
+
+CONFIG_USB_LIBCOMPOSITE=m
+CONFIG_USB_F_ACM=m
+CONFIG_USB_F_SS_LB=m
+CONFIG_USB_U_SERIAL=m
+CONFIG_USB_U_ETHER=m
+CONFIG_USB_U_AUDIO=m
+CONFIG_USB_F_SERIAL=m
+CONFIG_USB_F_OBEX=m
+CONFIG_USB_F_NCM=m
+CONFIG_USB_F_ECM=m
+CONFIG_USB_F_PHONET=m
+CONFIG_USB_F_EEM=m
+CONFIG_USB_F_SUBSET=m
+CONFIG_USB_F_RNDIS=m
+CONFIG_USB_F_MASS_STORAGE=m
+CONFIG_USB_F_FS=m
+CONFIG_USB_F_UAC1=m
+CONFIG_USB_F_UAC1_LEGACY=m
+CONFIG_USB_F_UAC2=m
+CONFIG_USB_F_UVC=m
+CONFIG_USB_F_MIDI=m
+CONFIG_USB_F_HID=m
+CONFIG_USB_F_PRINTER=m
+CONFIG_USB_F_TCM=m
+CONFIG_USB_CONFIGFS=m
+CONFIG_USB_CONFIGFS_SERIAL=y
+CONFIG_USB_CONFIGFS_ACM=y
+CONFIG_USB_CONFIGFS_OBEX=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_ECM=y
+CONFIG_USB_CONFIGFS_ECM_SUBSET=y
+CONFIG_USB_CONFIGFS_RNDIS=y
+CONFIG_USB_CONFIGFS_EEM=y
+CONFIG_USB_CONFIGFS_PHONET=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_F_LB_SS=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_CONFIGFS_F_UAC1=y
+CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y
+CONFIG_USB_CONFIGFS_F_UAC2=y
+CONFIG_USB_CONFIGFS_F_MIDI=y
+CONFIG_USB_CONFIGFS_F_HID=y
+CONFIG_USB_CONFIGFS_F_UVC=y
+CONFIG_USB_CONFIGFS_F_PRINTER=y
+CONFIG_USB_CONFIGFS_F_TCM=y
+
+#
+# USB Gadget precomposed configurations
+#
+CONFIG_USB_ZERO=m
+CONFIG_USB_AUDIO=m
+# CONFIG_GADGET_UAC1 is not set
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_ETH_EEM=y
+CONFIG_USB_G_NCM=m
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FUNCTIONFS=m
+CONFIG_USB_FUNCTIONFS_ETH=y
+CONFIG_USB_FUNCTIONFS_RNDIS=y
+CONFIG_USB_FUNCTIONFS_GENERIC=y
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_GADGET_TARGET=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_MIDI_GADGET=m
+CONFIG_USB_G_PRINTER=m
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_G_NOKIA=m
+CONFIG_USB_G_ACM_MS=m
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_RNDIS=y
+CONFIG_USB_G_MULTI_CDC=y
+CONFIG_USB_G_HID=m
+CONFIG_USB_G_DBGP=m
+# CONFIG_USB_G_DBGP_PRINTK is not set
+CONFIG_USB_G_DBGP_SERIAL=y
+CONFIG_USB_G_WEBCAM=m
+CONFIG_USB_RAW_GADGET=m
+# end of USB Gadget precomposed configurations
+
 CONFIG_TYPEC=m
 CONFIG_TYPEC_TCPM=m
 CONFIG_TYPEC_TCPCI=m
@@ -7561,8 +7926,8 @@ CONFIG_TYPEC_FUSB302=m
 CONFIG_TYPEC_UCSI=m
 CONFIG_UCSI_CCG=m
 CONFIG_UCSI_ACPI=m
-CONFIG_TYPEC_HD3SS3220=m
 CONFIG_TYPEC_TPS6598X=m
+CONFIG_TYPEC_HD3SS3220=m
 CONFIG_TYPEC_STUSB160X=m
 
 #
@@ -7653,10 +8018,8 @@ CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
 # LED drivers
 #
 CONFIG_LEDS_88PM860X=m
-# CONFIG_LEDS_AAT1290 is not set
 # CONFIG_LEDS_AN30259A is not set
 CONFIG_LEDS_APU=m
-CONFIG_LEDS_AS3645A=m
 # CONFIG_LEDS_AW2013 is not set
 # CONFIG_LEDS_BCM6328 is not set
 # CONFIG_LEDS_BCM6358 is not set
@@ -7667,7 +8030,6 @@ CONFIG_LEDS_LM3532=m
 CONFIG_LEDS_LM3533=m
 CONFIG_LEDS_LM3642=m
 # CONFIG_LEDS_LM3692X is not set
-# CONFIG_LEDS_LM3601X is not set
 CONFIG_LEDS_MT6323=m
 CONFIG_LEDS_PCA9532=m
 CONFIG_LEDS_PCA9532_GPIO=y
@@ -7691,17 +8053,15 @@ CONFIG_LEDS_PWM=m
 CONFIG_LEDS_REGULATOR=m
 CONFIG_LEDS_BD2802=m
 CONFIG_LEDS_INTEL_SS4200=m
-# CONFIG_LEDS_LT3593 is not set
+CONFIG_LEDS_LT3593=m
 CONFIG_LEDS_ADP5520=m
 CONFIG_LEDS_MC13783=m
 CONFIG_LEDS_TCA6507=m
 CONFIG_LEDS_TLC591XX=m
-# CONFIG_LEDS_MAX77693 is not set
 CONFIG_LEDS_MAX8997=m
 CONFIG_LEDS_LM355x=m
 CONFIG_LEDS_OT200=m
 CONFIG_LEDS_MENF21BMC=m
-# CONFIG_LEDS_KTD2692 is not set
 # CONFIG_LEDS_IS31FL319X is not set
 # CONFIG_LEDS_IS31FL32XX is not set
 
@@ -7719,12 +8079,19 @@ CONFIG_LEDS_TI_LMU_COMMON=m
 # CONFIG_LEDS_LM3697 is not set
 CONFIG_LEDS_LM36274=m
 CONFIG_LEDS_TPS6105X=m
-# CONFIG_LEDS_SGM3140 is not set
+# CONFIG_LEDS_LGM is not set
 
 #
 # Flash and Torch LED drivers
 #
+# CONFIG_LEDS_AAT1290 is not set
+CONFIG_LEDS_AS3645A=m
+# CONFIG_LEDS_KTD2692 is not set
+# CONFIG_LEDS_LM3601X is not set
+# CONFIG_LEDS_MAX77693 is not set
+# CONFIG_LEDS_RT4505 is not set
 CONFIG_LEDS_RT8515=m
+# CONFIG_LEDS_SGM3140 is not set
 
 #
 # LED Triggers
@@ -7750,6 +8117,7 @@ CONFIG_LEDS_TRIGGER_PANIC=y
 CONFIG_LEDS_TRIGGER_NETDEV=m
 CONFIG_LEDS_TRIGGER_PATTERN=m
 CONFIG_LEDS_TRIGGER_AUDIO=m
+CONFIG_LEDS_TRIGGER_TTY=m
 CONFIG_ACCESSIBILITY=y
 CONFIG_A11Y_BRAILLE_CONSOLE=y
 
@@ -7785,7 +8153,7 @@ CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y
 CONFIG_INFINIBAND_MTHCA=m
 CONFIG_INFINIBAND_MTHCA_DEBUG=y
 CONFIG_INFINIBAND_CXGB4=m
-CONFIG_INFINIBAND_I40IW=m
+CONFIG_INFINIBAND_IRDMA=m
 CONFIG_MLX4_INFINIBAND=m
 CONFIG_MLX5_INFINIBAND=m
 CONFIG_INFINIBAND_OCRDMA=m
@@ -7809,7 +8177,6 @@ CONFIG_EDAC_LEGACY_SYSFS=y
 CONFIG_EDAC_DECODE_MCE=m
 CONFIG_EDAC_GHES=y
 CONFIG_EDAC_AMD64=m
-# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
 CONFIG_EDAC_AMD76X=m
 CONFIG_EDAC_E7XXX=m
 CONFIG_EDAC_E752X=m
@@ -7893,7 +8260,6 @@ CONFIG_RTC_DRV_EM3027=m
 CONFIG_RTC_DRV_RV3028=m
 CONFIG_RTC_DRV_RV3032=m
 CONFIG_RTC_DRV_RV8803=m
-CONFIG_RTC_DRV_S5M=m
 CONFIG_RTC_DRV_SD3078=m
 
 #
@@ -7954,7 +8320,6 @@ CONFIG_RTC_DRV_V3020=m
 CONFIG_RTC_DRV_WM831X=m
 CONFIG_RTC_DRV_WM8350=m
 CONFIG_RTC_DRV_PCF50633=m
-CONFIG_RTC_DRV_AB3100=m
 # CONFIG_RTC_DRV_ZYNQMP is not set
 CONFIG_RTC_DRV_CROS_EC=m
 
@@ -7972,7 +8337,7 @@ CONFIG_RTC_DRV_MT6397=m
 # HID Sensor RTC drivers
 #
 CONFIG_RTC_DRV_HID_SENSOR_TIME=m
-# CONFIG_RTC_DRV_GOLDFISH is not set
+CONFIG_RTC_DRV_GOLDFISH=m
 CONFIG_RTC_DRV_WILCO_EC=m
 CONFIG_DMADEVICES=y
 # CONFIG_DMADEVICES_DEBUG is not set
@@ -7990,7 +8355,7 @@ CONFIG_ALTERA_MSGDMA=m
 CONFIG_INTEL_IDMA64=m
 CONFIG_PCH_DMA=m
 CONFIG_PLX_DMA=m
-CONFIG_XILINX_ZYNQMP_DPDMA=m
+# CONFIG_XILINX_ZYNQMP_DPDMA is not set
 CONFIG_QCOM_HIDMA_MGMT=m
 CONFIG_QCOM_HIDMA=m
 CONFIG_DW_DMAC_CORE=y
@@ -8000,6 +8365,7 @@ CONFIG_DW_EDMA=m
 CONFIG_DW_EDMA_PCIE=m
 CONFIG_HSU_DMA=y
 CONFIG_SF_PDMA=m
+CONFIG_INTEL_LDMA=y
 
 #
 # DMA Clients
@@ -8014,32 +8380,16 @@ CONFIG_SYNC_FILE=y
 # CONFIG_SW_SYNC is not set
 CONFIG_UDMABUF=y
 # CONFIG_DMABUF_MOVE_NOTIFY is not set
+# CONFIG_DMABUF_DEBUG is not set
 # CONFIG_DMABUF_SELFTESTS is not set
 CONFIG_DMABUF_HEAPS=y
+CONFIG_DMABUF_SYSFS_STATS=y
 CONFIG_DMABUF_HEAPS_SYSTEM=y
 CONFIG_DMABUF_HEAPS_CMA=y
 # end of DMABUF options
 
-CONFIG_AUXDISPLAY=y
-CONFIG_CHARLCD=m
-CONFIG_HD44780_COMMON=m
-CONFIG_HD44780=m
-CONFIG_KS0108=m
-CONFIG_KS0108_PORT=0x378
-CONFIG_KS0108_DELAY=2
-CONFIG_CFAG12864B=m
-CONFIG_CFAG12864B_RATE=20
-CONFIG_IMG_ASCII_LCD=m
-# CONFIG_HT16K33 is not set
-CONFIG_LCD2S=m
-CONFIG_PARPORT_PANEL=m
-CONFIG_PANEL_PARPORT=0
-CONFIG_PANEL_PROFILE=5
-# CONFIG_PANEL_CHANGE_MESSAGE is not set
-# CONFIG_CHARLCD_BL_OFF is not set
-# CONFIG_CHARLCD_BL_ON is not set
-CONFIG_CHARLCD_BL_FLASH=y
-CONFIG_PANEL=m
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_PANEL is not set
 CONFIG_UIO=m
 CONFIG_UIO_CIF=m
 CONFIG_UIO_PDRV_GENIRQ=m
@@ -8051,22 +8401,24 @@ CONFIG_UIO_NETX=m
 CONFIG_UIO_PRUSS=m
 CONFIG_UIO_MF624=m
 CONFIG_UIO_HV_GENERIC=m
+CONFIG_UIO_DFL=m
+CONFIG_VFIO=m
 CONFIG_VFIO_IOMMU_TYPE1=m
 CONFIG_VFIO_VIRQFD=m
-CONFIG_VFIO=m
 # CONFIG_VFIO_NOIOMMU is not set
-CONFIG_VFIO_PCI=m
-CONFIG_VFIO_PCI_VGA=y
+CONFIG_VFIO_PCI_CORE=m
 CONFIG_VFIO_PCI_MMAP=y
 CONFIG_VFIO_PCI_INTX=y
+CONFIG_VFIO_PCI=m
+CONFIG_VFIO_PCI_VGA=y
 CONFIG_VFIO_PCI_IGD=y
 CONFIG_VFIO_MDEV=m
-CONFIG_VFIO_MDEV_DEVICE=m
 CONFIG_IRQ_BYPASS_MANAGER=m
 CONFIG_VIRT_DRIVERS=y
 CONFIG_VBOXGUEST=m
 CONFIG_NITRO_ENCLAVES=m
 CONFIG_VIRTIO=y
+CONFIG_VIRTIO_PCI_LIB=m
 CONFIG_VIRTIO_MENU=y
 CONFIG_VIRTIO_PCI=m
 CONFIG_VIRTIO_PCI_LEGACY=y
@@ -8079,9 +8431,12 @@ CONFIG_VIRTIO_DMA_SHARED_BUFFER=m
 CONFIG_VDPA=m
 CONFIG_VDPA_SIM=m
 CONFIG_VDPA_SIM_NET=m
+CONFIG_VDPA_SIM_BLOCK=m
+CONFIG_VDPA_USER=m
 CONFIG_IFCVF=m
 CONFIG_MLX5_VDPA=y
 CONFIG_MLX5_VDPA_NET=m
+CONFIG_VP_VDPA=m
 CONFIG_VHOST_IOTLB=m
 CONFIG_VHOST_RING=m
 CONFIG_VHOST=m
@@ -8102,9 +8457,9 @@ CONFIG_HYPERV_BALLOON=m
 # end of Microsoft Hyper-V guest support
 
 # CONFIG_GREYBUS is not set
+# CONFIG_COMEDI is not set
 CONFIG_STAGING=y
 CONFIG_PRISM2_USB=m
-# CONFIG_COMEDI is not set
 CONFIG_FB_OLPC_DCON=m
 CONFIG_RTL8192U=m
 CONFIG_RTLLIB=m
@@ -8149,7 +8504,6 @@ CONFIG_ADT7316_I2C=m
 #
 # Capacitance to digital converters
 #
-CONFIG_AD7150=m
 CONFIG_AD7746=m
 # end of Capacitance to digital converters
 
@@ -8186,6 +8540,11 @@ CONFIG_STAGING_MEDIA=y
 # CONFIG_INTEL_ATOMISP is not set
 # CONFIG_VIDEO_ZORAN is not set
 CONFIG_VIDEO_IPU3_IMGU=m
+CONFIG_DVB_AV7110_IR=y
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_PATCH=m
+CONFIG_DVB_SP8870=m
 
 #
 # Android
@@ -8199,76 +8558,63 @@ CONFIG_FWTTY_MAX_TOTAL_PORTS=64
 CONFIG_FWTTY_MAX_CARD_PORTS=32
 CONFIG_GS_FPGABOOT=m
 CONFIG_UNISYSSPAR=y
+# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
 # CONFIG_FB_TFT is not set
 CONFIG_MOST_COMPONENTS=m
 CONFIG_MOST_NET=m
-CONFIG_MOST_SOUND=m
 CONFIG_MOST_VIDEO=m
 # CONFIG_MOST_DIM2 is not set
 CONFIG_MOST_I2C=m
 CONFIG_KS7010=m
 CONFIG_PI433=m
-
-#
-# Gasket devices
-#
-# end of Gasket devices
-
 # CONFIG_XIL_AXIS_FIFO is not set
 CONFIG_FIELDBUS_DEV=m
 # CONFIG_HMS_ANYBUSS_BUS is not set
-CONFIG_KPC2000=y
-CONFIG_KPC2000_CORE=m
-CONFIG_KPC2000_SPI=m
-CONFIG_KPC2000_I2C=m
-CONFIG_KPC2000_DMA=m
 CONFIG_QLGE=m
-CONFIG_WIMAX=m
-CONFIG_WIMAX_DEBUG_LEVEL=8
-CONFIG_WIMAX_I2400M=m
-CONFIG_WIMAX_I2400M_USB=m
-CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
 CONFIG_WFX=m
 CONFIG_X86_PLATFORM_DEVICES=y
 CONFIG_ACPI_WMI=m
 CONFIG_WMI_BMOF=m
-CONFIG_ALIENWARE_WMI=m
 CONFIG_HUAWEI_WMI=m
-# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
-CONFIG_INTEL_WMI_THUNDERBOLT=m
 CONFIG_MXM_WMI=m
 CONFIG_PEAQ_WMI=m
 CONFIG_XIAOMI_WMI=m
+CONFIG_GIGABYTE_WMI=m
 CONFIG_ACERHDF=m
 CONFIG_ACER_WIRELESS=m
 CONFIG_ACER_WMI=m
 CONFIG_AMD_PMC=m
+CONFIG_ADV_SWBUTTON=m
 CONFIG_APPLE_GMUX=m
 CONFIG_ASUS_LAPTOP=m
 CONFIG_ASUS_WIRELESS=m
 CONFIG_ASUS_WMI=m
 CONFIG_ASUS_NB_WMI=m
+CONFIG_MERAKI_MX100=m
 CONFIG_EEEPC_LAPTOP=m
 CONFIG_EEEPC_WMI=m
+CONFIG_X86_PLATFORM_DRIVERS_DELL=y
+CONFIG_ALIENWARE_WMI=m
 CONFIG_DCDBAS=m
+CONFIG_DELL_LAPTOP=m
+# CONFIG_DELL_RBU is not set
+CONFIG_DELL_RBTN=m
 CONFIG_DELL_SMBIOS=m
 CONFIG_DELL_SMBIOS_WMI=y
 CONFIG_DELL_SMBIOS_SMM=y
-CONFIG_DELL_LAPTOP=m
-CONFIG_DELL_RBTN=m
-# CONFIG_DELL_RBU is not set
 CONFIG_DELL_SMO8800=m
 CONFIG_DELL_WMI=m
-CONFIG_DELL_WMI_SYSMAN=m
-CONFIG_DELL_WMI_DESCRIPTOR=m
+CONFIG_DELL_WMI_PRIVACY=y
 CONFIG_DELL_WMI_AIO=m
+CONFIG_DELL_WMI_DESCRIPTOR=m
 CONFIG_DELL_WMI_LED=m
+CONFIG_DELL_WMI_SYSMAN=m
 CONFIG_AMILO_RFKILL=m
 CONFIG_FUJITSU_LAPTOP=m
 CONFIG_FUJITSU_TABLET=m
 CONFIG_GPD_POCKET_FAN=m
 CONFIG_HP_ACCEL=m
-CONFIG_HP_WIRELESS=m
+CONFIG_WIRELESS_HOTKEY=m
 CONFIG_HP_WMI=m
 CONFIG_TC1100_WMI=m
 CONFIG_IBM_RTL=m
@@ -8281,14 +8627,28 @@ CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
 # CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
 CONFIG_THINKPAD_ACPI_VIDEO=y
 CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_THINKPAD_LMI=m
+CONFIG_INTEL_ATOMISP2_PDX86=y
 CONFIG_INTEL_ATOMISP2_LED=m
 CONFIG_INTEL_ATOMISP2_PM=m
+CONFIG_INTEL_SAR_INT1092=m
 CONFIG_INTEL_CHT_INT33FE=m
+CONFIG_INTEL_SKL_INT3472=m
+CONFIG_INTEL_PMC_CORE=y
+CONFIG_INTEL_PMT_CLASS=m
+CONFIG_INTEL_PMT_TELEMETRY=m
+CONFIG_INTEL_PMT_CRASHLOG=m
+CONFIG_INTEL_WMI=y
+# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
+CONFIG_INTEL_WMI_THUNDERBOLT=m
 CONFIG_INTEL_HID_EVENT=m
+CONFIG_INTEL_VBTN=m
 CONFIG_INTEL_INT0002_VGPIO=m
-CONFIG_INTEL_MENLOW=m
 CONFIG_INTEL_OAKTRAIL=m
-CONFIG_INTEL_VBTN=m
+CONFIG_INTEL_CHTDC_TI_PWRBTN=m
+CONFIG_INTEL_PUNIT_IPC=m
+CONFIG_INTEL_RST=m
+CONFIG_INTEL_SMARTCONNECT=m
 CONFIG_MSI_LAPTOP=m
 CONFIG_MSI_WMI=m
 CONFIG_XO15_EBOOK=m
@@ -8311,15 +8671,8 @@ CONFIG_TOPSTAR_LAPTOP=m
 CONFIG_I2C_MULTI_INSTANTIATE=m
 CONFIG_MLX_PLATFORM=m
 CONFIG_TOUCHSCREEN_DMI=y
+CONFIG_FW_ATTR_CLASS=m
 CONFIG_INTEL_IPS=m
-CONFIG_INTEL_RST=m
-CONFIG_INTEL_SMARTCONNECT=m
-CONFIG_INTEL_CHTDC_TI_PWRBTN=m
-CONFIG_INTEL_PMC_CORE=y
-CONFIG_INTEL_PMT_CLASS=m
-CONFIG_INTEL_PMT_TELEMETRY=m
-CONFIG_INTEL_PMT_CRASHLOG=m
-CONFIG_INTEL_PUNIT_IPC=m
 # CONFIG_INTEL_SCU_PCI is not set
 # CONFIG_INTEL_SCU_PLATFORM is not set
 CONFIG_PMC_ATOM=y
@@ -8355,13 +8708,30 @@ CONFIG_SURFACE_PLATFORMS=y
 CONFIG_SURFACE3_WMI=m
 CONFIG_SURFACE_3_BUTTON=m
 CONFIG_SURFACE_3_POWER_OPREGION=m
+CONFIG_SURFACE_ACPI_NOTIFY=m
+CONFIG_SURFACE_AGGREGATOR_CDEV=m
+CONFIG_SURFACE_AGGREGATOR_REGISTRY=m
+CONFIG_SURFACE_DTX=m
 CONFIG_SURFACE_GPE=m
+CONFIG_SURFACE_HOTPLUG=m
+CONFIG_SURFACE_PLATFORM_PROFILE=m
 CONFIG_SURFACE_PRO3_BUTTON=m
+CONFIG_SURFACE_AGGREGATOR=m
+CONFIG_SURFACE_AGGREGATOR_BUS=y
+# CONFIG_SURFACE_AGGREGATOR_ERROR_INJECTION is not set
 CONFIG_HAVE_CLK=y
-CONFIG_CLKDEV_LOOKUP=y
 CONFIG_HAVE_CLK_PREPARE=y
 CONFIG_COMMON_CLK=y
 CONFIG_COMMON_CLK_WM831X=m
+
+#
+# Clock driver for ARM Reference designs
+#
+# CONFIG_ICST is not set
+# CONFIG_CLK_SP810 is not set
+# end of Clock driver for ARM Reference designs
+
+CONFIG_LMK04832=m
 CONFIG_COMMON_CLK_MAX9485=m
 CONFIG_COMMON_CLK_SI5341=m
 CONFIG_COMMON_CLK_SI5351=m
@@ -8371,13 +8741,14 @@ CONFIG_COMMON_CLK_SI544=m
 CONFIG_COMMON_CLK_CDCE706=m
 # CONFIG_COMMON_CLK_CDCE925 is not set
 CONFIG_COMMON_CLK_CS2000_CP=m
-CONFIG_COMMON_CLK_S2MPS11=m
 CONFIG_CLK_TWL6040=m
+# CONFIG_COMMON_CLK_AXI_CLKGEN is not set
 CONFIG_COMMON_CLK_PALMAS=m
 CONFIG_COMMON_CLK_PWM=m
 # CONFIG_COMMON_CLK_VC5 is not set
 # CONFIG_COMMON_CLK_FIXED_MMIO is not set
 # CONFIG_CLK_LGM_CGU is not set
+CONFIG_XILINX_VCU=m
 CONFIG_HWSPINLOCK=y
 
 #
@@ -8406,6 +8777,8 @@ CONFIG_IOMMU_SUPPORT=y
 # end of Generic IOMMU Pagetable Support
 
 # CONFIG_IOMMU_DEBUGFS is not set
+# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set
+CONFIG_IOMMU_DEFAULT_DMA_LAZY=y
 # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
 CONFIG_OF_IOMMU=y
 CONFIG_IOMMU_DMA=y
@@ -8415,6 +8788,7 @@ CONFIG_INTEL_IOMMU=y
 CONFIG_INTEL_IOMMU_FLOPPY_WA=y
 CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
 CONFIG_HYPERV_IOMMU=y
+CONFIG_VIRTIO_IOMMU=m
 
 #
 # Remoteproc drivers
@@ -8485,7 +8859,6 @@ CONFIG_SOC_TI=y
 #
 # Xilinx SoC drivers
 #
-CONFIG_XILINX_VCU=m
 # end of Xilinx SoC drivers
 # end of SOC (System On Chip) specific Drivers
 
@@ -8510,7 +8883,6 @@ CONFIG_EXTCON=y
 # Extcon Device Drivers
 #
 CONFIG_EXTCON_ADC_JACK=m
-CONFIG_EXTCON_ARIZONA=m
 CONFIG_EXTCON_AXP288=m
 CONFIG_EXTCON_FSA9480=m
 CONFIG_EXTCON_GPIO=m
@@ -8529,6 +8901,7 @@ CONFIG_EXTCON_USB_GPIO=m
 CONFIG_EXTCON_USBC_CROS_EC=m
 CONFIG_EXTCON_USBC_TUSB320=m
 CONFIG_MEMORY=y
+CONFIG_FPGA_DFL_EMIF=m
 CONFIG_IIO=m
 CONFIG_IIO_BUFFER=y
 CONFIG_IIO_BUFFER_CB=m
@@ -8559,11 +8932,16 @@ CONFIG_BMA400_SPI=m
 CONFIG_BMC150_ACCEL=m
 CONFIG_BMC150_ACCEL_I2C=m
 CONFIG_BMC150_ACCEL_SPI=m
+CONFIG_BMI088_ACCEL=m
+CONFIG_BMI088_ACCEL_SPI=m
 CONFIG_DA280=m
 CONFIG_DA311=m
 # CONFIG_DMARD06 is not set
 CONFIG_DMARD09=m
 CONFIG_DMARD10=m
+CONFIG_FXLS8962AF=m
+CONFIG_FXLS8962AF_I2C=m
+CONFIG_FXLS8962AF_SPI=m
 CONFIG_HID_SENSOR_ACCEL_3D=m
 CONFIG_IIO_CROS_EC_ACCEL_LEGACY=m
 CONFIG_IIO_ST_ACCEL_3AXIS=m
@@ -8585,6 +8963,7 @@ CONFIG_MMA9553=m
 CONFIG_MXC4005=m
 CONFIG_MXC6255=m
 CONFIG_SCA3000=m
+CONFIG_SCA3300=m
 CONFIG_STK8312=m
 CONFIG_STK8BA50=m
 # end of Accelerometers
@@ -8613,7 +8992,6 @@ CONFIG_AD7887=m
 CONFIG_AD7923=m
 CONFIG_AD7949=m
 CONFIG_AD799X=m
-# CONFIG_AD9467 is not set
 # CONFIG_ADI_AXI_ADC is not set
 CONFIG_AXP20X_ADC=m
 CONFIG_AXP288_ADC=m
@@ -8654,8 +9032,10 @@ CONFIG_TI_ADS7950=m
 # CONFIG_TI_ADS8344 is not set
 # CONFIG_TI_ADS8688 is not set
 # CONFIG_TI_ADS124S08 is not set
+CONFIG_TI_ADS131E08=m
 CONFIG_TI_AM335X_ADC=m
 CONFIG_TI_TLC4541=m
+CONFIG_TI_TSC2046=m
 CONFIG_TWL4030_MADC=m
 CONFIG_TWL6030_GPADC=m
 # CONFIG_VF610_ADC is not set
@@ -8677,6 +9057,12 @@ CONFIG_HMC425=m
 # end of Amplifiers
 
 #
+# Capacitance to digital converters
+#
+CONFIG_AD7150=m
+# end of Capacitance to digital converters
+
+#
 # Chemical Sensors
 #
 CONFIG_ATLAS_PH_SENSOR=m
@@ -8691,7 +9077,10 @@ CONFIG_SCD30_CORE=m
 CONFIG_SCD30_I2C=m
 CONFIG_SCD30_SERIAL=m
 CONFIG_SENSIRION_SGP30=m
+CONFIG_SENSIRION_SGP40=m
 CONFIG_SPS30=m
+CONFIG_SPS30_I2C=m
+CONFIG_SPS30_SERIAL=m
 CONFIG_VZ89X=m
 # end of Chemical Sensors
 
@@ -8709,6 +9098,11 @@ CONFIG_HID_SENSOR_IIO_TRIGGER=m
 CONFIG_IIO_MS_SENSORS_I2C=m
 
 #
+# IIO SCMI Sensors
+#
+# end of IIO SCMI Sensors
+
+#
 # SSP Sensor Common
 #
 CONFIG_IIO_SSP_SENSORS_COMMONS=m
@@ -8739,6 +9133,7 @@ CONFIG_AD5755=m
 CONFIG_AD5758=m
 CONFIG_AD5761=m
 CONFIG_AD5764=m
+CONFIG_AD5766=m
 CONFIG_AD5770R=m
 CONFIG_AD5791=m
 CONFIG_AD7303=m
@@ -8860,6 +9255,9 @@ CONFIG_INV_MPU6050_SPI=m
 CONFIG_IIO_ST_LSM6DSX=m
 CONFIG_IIO_ST_LSM6DSX_I2C=m
 CONFIG_IIO_ST_LSM6DSX_SPI=m
+CONFIG_IIO_ST_LSM9DS0=m
+CONFIG_IIO_ST_LSM9DS0_I2C=m
+CONFIG_IIO_ST_LSM9DS0_SPI=m
 # end of Inertial measurement units
 
 CONFIG_IIO_ADIS_LIB=m
@@ -8912,6 +9310,7 @@ CONFIG_TCS3414=m
 CONFIG_TCS3472=m
 CONFIG_SENSORS_TSL2563=m
 CONFIG_TSL2583=m
+CONFIG_TSL2591=m
 # CONFIG_TSL2772 is not set
 CONFIG_TSL4531=m
 CONFIG_US5182D=m
@@ -8944,6 +9343,7 @@ CONFIG_SENSORS_HMC5843_SPI=m
 CONFIG_SENSORS_RM3100=m
 CONFIG_SENSORS_RM3100_I2C=m
 CONFIG_SENSORS_RM3100_SPI=m
+CONFIG_YAMAHA_YAS530=m
 # end of Magnetometer sensors
 
 #
@@ -8972,11 +9372,13 @@ CONFIG_IIO_SYSFS_TRIGGER=m
 # Linear and angular position sensors
 #
 CONFIG_IQS624_POS=m
+CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE=m
 # end of Linear and angular position sensors
 
 #
 # Digital potentiometers
 #
+CONFIG_AD5110=m
 CONFIG_AD5272=m
 CONFIG_DS1803=m
 CONFIG_MAX5432=m
@@ -9035,6 +9437,7 @@ CONFIG_AS3935=m
 #
 # Proximity and distance sensors
 #
+CONFIG_CROS_EC_MKBP_PROXIMITY=m
 CONFIG_ISL29501=m
 CONFIG_LIDAR_LITE_V2=m
 CONFIG_MB1232=m
@@ -9066,6 +9469,7 @@ CONFIG_MLX90614=m
 CONFIG_MLX90632=m
 CONFIG_TMP006=m
 CONFIG_TMP007=m
+CONFIG_TMP117=m
 CONFIG_TSYS01=m
 CONFIG_TSYS02D=m
 CONFIG_MAX31856=m
@@ -9074,6 +9478,7 @@ CONFIG_MAX31856=m
 CONFIG_NTB=m
 CONFIG_NTB_MSI=y
 CONFIG_NTB_IDT=m
+CONFIG_NTB_EPF=m
 CONFIG_NTB_SWITCHTEC=m
 # CONFIG_NTB_PINGPONG is not set
 # CONFIG_NTB_TOOL is not set
@@ -9110,7 +9515,6 @@ CONFIG_IPACK_BUS=m
 CONFIG_BOARD_TPCI200=m
 CONFIG_SERIAL_IPOCTAL=m
 CONFIG_RESET_CONTROLLER=y
-CONFIG_RESET_BRCMSTB_RESCAL=y
 # CONFIG_RESET_INTEL_GW is not set
 CONFIG_RESET_TI_SYSCON=m
 
@@ -9119,6 +9523,7 @@ CONFIG_RESET_TI_SYSCON=m
 #
 CONFIG_GENERIC_PHY=y
 CONFIG_USB_LGM_PHY=m
+CONFIG_PHY_CAN_TRANSCEIVER=m
 CONFIG_BCM_KONA_USB2_PHY=m
 # CONFIG_PHY_CADENCE_TORRENT is not set
 # CONFIG_PHY_CADENCE_DPHY is not set
@@ -9133,6 +9538,7 @@ CONFIG_PHY_CPCAP_USB=m
 # CONFIG_PHY_OCELOT_SERDES is not set
 CONFIG_PHY_QCOM_USB_HS=m
 CONFIG_PHY_QCOM_USB_HSIC=m
+CONFIG_PHY_SAMSUNG_USB2=m
 CONFIG_PHY_TUSB1210=m
 # CONFIG_PHY_INTEL_LGM_COMBO is not set
 CONFIG_PHY_INTEL_LGM_EMMC=m
@@ -9142,6 +9548,8 @@ CONFIG_POWERCAP=y
 CONFIG_INTEL_RAPL_CORE=m
 CONFIG_INTEL_RAPL=m
 CONFIG_IDLE_INJECT=y
+CONFIG_DTPM=y
+CONFIG_DTPM_CPU=y
 CONFIG_MCB=m
 CONFIG_MCB_PCI=m
 CONFIG_MCB_LPC=m
@@ -9169,6 +9577,7 @@ CONFIG_DEV_DAX=m
 CONFIG_NVMEM=y
 CONFIG_NVMEM_SYSFS=y
 # CONFIG_RAVE_SP_EEPROM is not set
+CONFIG_NVMEM_RMEM=m
 
 #
 # HW tracing support
@@ -9209,6 +9618,7 @@ CONFIG_FPGA_DFL_FME_MGR=m
 CONFIG_FPGA_DFL_FME_BRIDGE=m
 CONFIG_FPGA_DFL_FME_REGION=m
 CONFIG_FPGA_DFL_AFU=m
+CONFIG_FPGA_DFL_NIOS_INTEL_PAC_N3000=m
 CONFIG_FPGA_DFL_PCI=m
 # CONFIG_FSI is not set
 CONFIG_TEE=m
@@ -9236,11 +9646,14 @@ CONFIG_SLIMBUS=m
 CONFIG_SLIM_QCOM_CTRL=m
 # CONFIG_INTERCONNECT is not set
 CONFIG_COUNTER=m
+CONFIG_INTERRUPT_CNT=m
 # CONFIG_FTM_QUADDEC is not set
 # CONFIG_MICROCHIP_TCB_CAPTURE is not set
+CONFIG_INTEL_QEP=m
 CONFIG_MOST=m
 CONFIG_MOST_USB_HDM=m
 CONFIG_MOST_CDEV=m
+CONFIG_MOST_SND=m
 # end of Device Drivers
 
 #
@@ -9301,20 +9714,20 @@ CONFIG_F2FS_FS_XATTR=y
 CONFIG_F2FS_FS_POSIX_ACL=y
 CONFIG_F2FS_FS_SECURITY=y
 CONFIG_F2FS_CHECK_FS=y
-# CONFIG_F2FS_IO_TRACE is not set
 # CONFIG_F2FS_FAULT_INJECTION is not set
 CONFIG_F2FS_FS_COMPRESSION=y
 CONFIG_F2FS_FS_LZO=y
+CONFIG_F2FS_FS_LZORLE=y
 CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZ4HC=y
 CONFIG_F2FS_FS_ZSTD=y
-CONFIG_F2FS_FS_LZORLE=y
+CONFIG_F2FS_IOSTAT=y
 CONFIG_ZONEFS_FS=m
 CONFIG_FS_DAX=y
 CONFIG_FS_POSIX_ACL=y
 CONFIG_EXPORTFS=y
 CONFIG_EXPORTFS_BLOCK_OPS=y
 CONFIG_FILE_LOCKING=y
-# CONFIG_MANDATORY_FILE_LOCKING is not set
 CONFIG_FS_ENCRYPTION=y
 CONFIG_FS_ENCRYPTION_ALGS=m
 CONFIG_FS_VERITY=y
@@ -9347,14 +9760,13 @@ CONFIG_OVERLAY_FS_METACOPY=y
 #
 # Caches
 #
+CONFIG_NETFS_SUPPORT=m
+CONFIG_NETFS_STATS=y
 CONFIG_FSCACHE=m
 CONFIG_FSCACHE_STATS=y
-# CONFIG_FSCACHE_HISTOGRAM is not set
 # CONFIG_FSCACHE_DEBUG is not set
-CONFIG_FSCACHE_OBJECT_LIST=y
 CONFIG_CACHEFILES=m
 # CONFIG_CACHEFILES_DEBUG is not set
-# CONFIG_CACHEFILES_HISTOGRAM is not set
 # end of Caches
 
 #
@@ -9378,6 +9790,9 @@ CONFIG_FAT_DEFAULT_UTF8=y
 CONFIG_EXFAT_FS=m
 CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
 # CONFIG_NTFS_FS is not set
+CONFIG_NTFS3_FS=m
+CONFIG_NTFS3_LZX_XPRESS=y
+CONFIG_NTFS3_FS_POSIX_ACL=y
 # end of DOS/FAT/EXFAT/NT Filesystems
 
 #
@@ -9484,7 +9899,11 @@ CONFIG_PSTORE_COMPRESS_DEFAULT="zstd"
 # CONFIG_PSTORE_PMSG is not set
 # CONFIG_PSTORE_FTRACE is not set
 CONFIG_PSTORE_RAM=m
-# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_ZONE=m
+CONFIG_PSTORE_BLK=m
+CONFIG_PSTORE_BLK_BLKDEV=""
+CONFIG_PSTORE_BLK_KMSG_SIZE=64
+CONFIG_PSTORE_BLK_MAX_REASON=2
 # CONFIG_SYSV_FS is not set
 CONFIG_UFS_FS=m
 # CONFIG_UFS_FS_WRITE is not set
@@ -9495,7 +9914,6 @@ CONFIG_EROFS_FS_XATTR=y
 CONFIG_EROFS_FS_POSIX_ACL=y
 CONFIG_EROFS_FS_SECURITY=y
 CONFIG_EROFS_FS_ZIP=y
-CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=2
 CONFIG_VBOXSF_FS=m
 CONFIG_NETWORK_FILESYSTEMS=y
 CONFIG_NFS_FS=m
@@ -9534,6 +9952,7 @@ CONFIG_LOCKD=m
 CONFIG_LOCKD_V4=y
 CONFIG_NFS_ACL_SUPPORT=m
 CONFIG_NFS_COMMON=y
+CONFIG_NFS_V4_2_SSC_HELPER=y
 CONFIG_SUNRPC=m
 CONFIG_SUNRPC_GSS=m
 CONFIG_SUNRPC_BACKCHANNEL=y
@@ -9549,7 +9968,6 @@ CONFIG_CEPH_FS_SECURITY_LABEL=y
 CONFIG_CIFS=m
 # CONFIG_CIFS_STATS2 is not set
 CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
-# CONFIG_CIFS_WEAK_PW_HASH is not set
 CONFIG_CIFS_UPCALL=y
 CONFIG_CIFS_XATTR=y
 CONFIG_CIFS_POSIX=y
@@ -9560,6 +9978,11 @@ CONFIG_CIFS_DFS_UPCALL=y
 CONFIG_CIFS_SWN_UPCALL=y
 # CONFIG_CIFS_SMB_DIRECT is not set
 CONFIG_CIFS_FSCACHE=y
+CONFIG_SMB_SERVER=m
+CONFIG_SMB_SERVER_SMBDIRECT=y
+CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=y
+CONFIG_SMB_SERVER_KERBEROS5=y
+CONFIG_SMBFS_COMMON=m
 CONFIG_CODA_FS=m
 CONFIG_AFS_FS=m
 # CONFIG_AFS_DEBUG is not set
@@ -9667,7 +10090,7 @@ CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
 CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
 # CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set
 CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/usr/bin/tomoyo-init"
-CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/usr/bin/init"
+CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/usr/lib/systemd/systemd"
 # CONFIG_SECURITY_TOMOYO_INSECURE_BUILTIN_SETTING is not set
 CONFIG_SECURITY_APPARMOR=y
 CONFIG_SECURITY_APPARMOR_HASH=y
@@ -9682,6 +10105,7 @@ CONFIG_SECURITY_LOCKDOWN_LSM=y
 CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y
 # CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set
 # CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set
+CONFIG_SECURITY_LANDLOCK=y
 # CONFIG_INTEGRITY is not set
 # CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
 # CONFIG_DEFAULT_SECURITY_SELINUX is not set
@@ -9689,7 +10113,7 @@ CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y
 # CONFIG_DEFAULT_SECURITY_TOMOYO is not set
 # CONFIG_DEFAULT_SECURITY_APPARMOR is not set
 CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_LSM="lockdown,yama,bpf"
+CONFIG_LSM="landlock,lockdown,yama,bpf"
 
 #
 # Kernel hardening options
@@ -9707,6 +10131,8 @@ CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
 # CONFIG_GCC_PLUGIN_STACKLEAK is not set
 CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
 # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
+CONFIG_ZERO_CALL_USED_REGS=y
 # end of Memory initialization
 # end of Kernel hardening options
 # end of Security options
@@ -9732,7 +10158,7 @@ CONFIG_CRYPTO_HASH=y
 CONFIG_CRYPTO_HASH2=y
 CONFIG_CRYPTO_RNG=y
 CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_RNG_DEFAULT=m
+CONFIG_CRYPTO_RNG_DEFAULT=y
 CONFIG_CRYPTO_AKCIPHER2=y
 CONFIG_CRYPTO_AKCIPHER=y
 CONFIG_CRYPTO_KPP2=y
@@ -9750,7 +10176,6 @@ CONFIG_CRYPTO_CRYPTD=m
 CONFIG_CRYPTO_AUTHENC=m
 CONFIG_CRYPTO_TEST=m
 CONFIG_CRYPTO_SIMD=m
-CONFIG_CRYPTO_GLUE_HELPER_X86=m
 CONFIG_CRYPTO_ENGINE=m
 
 #
@@ -9758,8 +10183,9 @@ CONFIG_CRYPTO_ENGINE=m
 #
 CONFIG_CRYPTO_RSA=y
 CONFIG_CRYPTO_DH=y
-CONFIG_CRYPTO_ECC=m
+CONFIG_CRYPTO_ECC=y
 CONFIG_CRYPTO_ECDH=m
+CONFIG_CRYPTO_ECDSA=y
 CONFIG_CRYPTO_ECRDSA=m
 CONFIG_CRYPTO_SM2=m
 CONFIG_CRYPTO_CURVE25519=m
@@ -9815,17 +10241,13 @@ CONFIG_CRYPTO_POLY1305=m
 CONFIG_CRYPTO_MD4=m
 CONFIG_CRYPTO_MD5=y
 CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_RMD128=m
 CONFIG_CRYPTO_RMD160=m
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
 CONFIG_CRYPTO_SHA1=y
 CONFIG_CRYPTO_SHA256=y
 CONFIG_CRYPTO_SHA512=y
 CONFIG_CRYPTO_SHA3=m
 CONFIG_CRYPTO_SM3=m
 CONFIG_CRYPTO_STREEBOG=m
-CONFIG_CRYPTO_TGR192=m
 CONFIG_CRYPTO_WP512=m
 
 #
@@ -9842,7 +10264,6 @@ CONFIG_CRYPTO_CAST5=m
 CONFIG_CRYPTO_CAST6=m
 CONFIG_CRYPTO_DES=m
 CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_SALSA20=m
 CONFIG_CRYPTO_CHACHA20=m
 CONFIG_CRYPTO_SERPENT=m
 CONFIG_CRYPTO_SERPENT_SSE2_586=m
@@ -9865,11 +10286,11 @@ CONFIG_CRYPTO_ZSTD=y
 # Random Number Generation
 #
 CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_DRBG_MENU=m
+CONFIG_CRYPTO_DRBG_MENU=y
 CONFIG_CRYPTO_DRBG_HMAC=y
 CONFIG_CRYPTO_DRBG_HASH=y
 CONFIG_CRYPTO_DRBG_CTR=y
-CONFIG_CRYPTO_DRBG=m
+CONFIG_CRYPTO_DRBG=y
 CONFIG_CRYPTO_JITTERENTROPY=y
 CONFIG_CRYPTO_USER_API=m
 CONFIG_CRYPTO_USER_API_HASH=m
@@ -9898,6 +10319,7 @@ CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
 CONFIG_CRYPTO_LIB_POLY1305=m
 CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
 CONFIG_CRYPTO_LIB_SHA256=y
+CONFIG_CRYPTO_LIB_SM4=m
 CONFIG_CRYPTO_HW=y
 CONFIG_CRYPTO_DEV_PADLOCK=m
 CONFIG_CRYPTO_DEV_PADLOCK_AES=m
@@ -9941,12 +10363,16 @@ CONFIG_SIGNED_PE_FILE_VERIFICATION=y
 # Certificates for signature checking
 #
 CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
+# CONFIG_MODULE_SIG_KEY_TYPE_RSA is not set
+CONFIG_MODULE_SIG_KEY_TYPE_ECDSA=y
 CONFIG_SYSTEM_TRUSTED_KEYRING=y
 CONFIG_SYSTEM_TRUSTED_KEYS=""
 # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
 CONFIG_SECONDARY_TRUSTED_KEYRING=y
 CONFIG_SYSTEM_BLACKLIST_KEYRING=y
 CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
+CONFIG_SYSTEM_REVOCATION_LIST=y
+CONFIG_SYSTEM_REVOCATION_KEYS=""
 # end of Certificates for signature checking
 
 CONFIG_BINARY_PRINTF=y
@@ -10019,6 +10445,7 @@ CONFIG_GENERIC_ALLOCATOR=y
 CONFIG_REED_SOLOMON=m
 CONFIG_REED_SOLOMON_ENC8=y
 CONFIG_REED_SOLOMON_DEC8=y
+CONFIG_BCH=m
 CONFIG_TEXTSEARCH=y
 CONFIG_TEXTSEARCH_KMP=m
 CONFIG_TEXTSEARCH_BM=m
@@ -10086,10 +10513,10 @@ CONFIG_ARCH_STACKWALK=y
 CONFIG_SBITMAP=y
 CONFIG_PARMAN=m
 CONFIG_OBJAGG=m
-# CONFIG_STRING_SELFTEST is not set
 # end of Library routines
 
 CONFIG_PLDMFW=y
+CONFIG_ASN1_ENCODER=m
 
 #
 # Kernel hacking
@@ -10100,6 +10527,7 @@ CONFIG_PLDMFW=y
 #
 CONFIG_PRINTK_TIME=y
 # CONFIG_PRINTK_CALLER is not set
+CONFIG_STACKTRACE_BUILD_ID=y
 CONFIG_CONSOLE_LOGLEVEL_DEFAULT=4
 CONFIG_CONSOLE_LOGLEVEL_QUIET=1
 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -10117,8 +10545,11 @@ CONFIG_DEBUG_INFO=y
 # CONFIG_DEBUG_INFO_REDUCED is not set
 # CONFIG_DEBUG_INFO_COMPRESSED is not set
 # CONFIG_DEBUG_INFO_SPLIT is not set
+# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set
 CONFIG_DEBUG_INFO_DWARF4=y
+# CONFIG_DEBUG_INFO_DWARF5 is not set
 # CONFIG_DEBUG_INFO_BTF is not set
+CONFIG_PAHOLE_HAS_SPLIT_BTF=y
 # CONFIG_GDB_SCRIPTS is not set
 CONFIG_FRAME_WARN=1024
 CONFIG_STRIP_ASM_SYMS=y
@@ -10145,6 +10576,7 @@ CONFIG_HAVE_ARCH_KGDB=y
 # CONFIG_KGDB is not set
 CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
 # CONFIG_UBSAN is not set
+CONFIG_HAVE_KCSAN_COMPILER=y
 # end of Generic Kernel Debugging Instruments
 
 CONFIG_DEBUG_KERNEL=y
@@ -10153,7 +10585,7 @@ CONFIG_DEBUG_KERNEL=y
 #
 # Memory Debugging
 #
-# CONFIG_PAGE_EXTENSION is not set
+CONFIG_PAGE_EXTENSION=y
 # CONFIG_DEBUG_PAGEALLOC is not set
 # CONFIG_PAGE_OWNER is not set
 CONFIG_PAGE_POISONING=y
@@ -10186,6 +10618,11 @@ CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
 # CONFIG_DEBUG_STACKOVERFLOW is not set
 CONFIG_CC_HAS_KASAN_GENERIC=y
 CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
+CONFIG_HAVE_ARCH_KFENCE=y
+CONFIG_KFENCE=y
+CONFIG_KFENCE_SAMPLE_INTERVAL=100
+CONFIG_KFENCE_NUM_OBJECTS=255
+CONFIG_KFENCE_STRESS_TEST_FAULTS=0
 # end of Memory Debugging
 
 CONFIG_DEBUG_SHIRQ=y
@@ -10242,6 +10679,7 @@ CONFIG_LOCK_DEBUGGING_SUPPORT=y
 # CONFIG_SCF_TORTURE_TEST is not set
 # end of Lock Debugging (spinlocks, mutexes, etc...)
 
+# CONFIG_DEBUG_IRQFLAGS is not set
 CONFIG_STACKTRACE=y
 # CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
 # CONFIG_DEBUG_KOBJECT is not set
@@ -10249,7 +10687,7 @@ CONFIG_STACKTRACE=y
 #
 # Debug kernel data structures
 #
-# CONFIG_DEBUG_LIST is not set
+CONFIG_DEBUG_LIST=y
 # CONFIG_DEBUG_PLIST is not set
 # CONFIG_DEBUG_SG is not set
 # CONFIG_DEBUG_NOTIFIERS is not set
@@ -10267,11 +10705,9 @@ CONFIG_STACKTRACE=y
 CONFIG_RCU_CPU_STALL_TIMEOUT=60
 # CONFIG_RCU_TRACE is not set
 # CONFIG_RCU_EQS_DEBUG is not set
-# CONFIG_RCU_STRICT_GRACE_PERIOD is not set
 # end of RCU Debugging
 
 # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
 # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
 CONFIG_LATENCYTOP=y
 CONFIG_USER_STACKTRACE_SUPPORT=y
@@ -10290,7 +10726,6 @@ CONFIG_TRACE_CLOCK=y
 CONFIG_RING_BUFFER=y
 CONFIG_EVENT_TRACING=y
 CONFIG_CONTEXT_SWITCH_TRACER=y
-CONFIG_RING_BUFFER_ALLOW_SWAP=y
 CONFIG_TRACING=y
 CONFIG_GENERIC_TRACER=y
 CONFIG_TRACING_SUPPORT=y
@@ -10307,6 +10742,8 @@ CONFIG_STACK_TRACER=y
 # CONFIG_PREEMPT_TRACER is not set
 CONFIG_SCHED_TRACER=y
 CONFIG_HWLAT_TRACER=y
+CONFIG_OSNOISE_TRACER=y
+CONFIG_TIMERLAT_TRACER=y
 CONFIG_MMIOTRACE=y
 CONFIG_FTRACE_SYSCALLS=y
 CONFIG_TRACER_SNAPSHOT=y
@@ -10322,6 +10759,7 @@ CONFIG_DYNAMIC_EVENTS=y
 CONFIG_PROBE_EVENTS=y
 # CONFIG_BPF_KPROBE_OVERRIDE is not set
 CONFIG_FTRACE_MCOUNT_RECORD=y
+CONFIG_FTRACE_MCOUNT_USE_CC=y
 CONFIG_TRACING_MAP=y
 CONFIG_SYNTH_EVENTS=y
 CONFIG_HIST_TRIGGERS=y
@@ -10347,7 +10785,6 @@ CONFIG_IO_STRICT_DEVMEM=y
 #
 # x86 Debugging
 #
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
 CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
 CONFIG_EARLY_PRINTK_USB=y
 # CONFIG_X86_VERBOSE_BOOTUP is not set
@@ -10381,22 +10818,23 @@ CONFIG_FUNCTION_ERROR_INJECTION=y
 CONFIG_CC_HAS_SANCOV_TRACE_PC=y
 CONFIG_RUNTIME_TESTING_MENU=y
 # CONFIG_LKDTM is not set
-# CONFIG_TEST_LIST_SORT is not set
 # CONFIG_TEST_MIN_HEAP is not set
-# CONFIG_TEST_SORT is not set
+# CONFIG_TEST_DIV64 is not set
 # CONFIG_KPROBES_SANITY_TEST is not set
 # CONFIG_BACKTRACE_SELF_TEST is not set
 # CONFIG_RBTREE_TEST is not set
 # CONFIG_REED_SOLOMON_TEST is not set
 # CONFIG_INTERVAL_TREE_TEST is not set
 # CONFIG_PERCPU_TEST is not set
-CONFIG_ATOMIC64_SELFTEST=y
+# CONFIG_ATOMIC64_SELFTEST is not set
 CONFIG_ASYNC_RAID6_TEST=m
 # CONFIG_TEST_HEXDUMP is not set
+# CONFIG_STRING_SELFTEST is not set
 # CONFIG_TEST_STRING_HELPERS is not set
 # CONFIG_TEST_STRSCPY is not set
-CONFIG_TEST_KSTRTOX=y
+# CONFIG_TEST_KSTRTOX is not set
 # CONFIG_TEST_PRINTF is not set
+# CONFIG_TEST_SCANF is not set
 # CONFIG_TEST_BITMAP is not set
 # CONFIG_TEST_UUID is not set
 # CONFIG_TEST_XARRAY is not set
@@ -10423,6 +10861,8 @@ CONFIG_TEST_KSTRTOX=y
 # CONFIG_TEST_MEMINIT is not set
 # CONFIG_TEST_FREE_PAGES is not set
 # CONFIG_TEST_FPU is not set
+# CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set
+CONFIG_ARCH_USE_MEMTEST=y
 # CONFIG_MEMTEST is not set
 # CONFIG_HYPERV_TESTING is not set
 # end of Kernel Testing and Coverage
diff --git a/libre/linux-libre-64/config.x86_64 b/libre/linux-libre-64/config.x86_64
index 4d9b088..220ed66 100644
--- a/libre/linux-libre-64/config.x86_64
+++ b/libre/linux-libre-64/config.x86_64
@@ -1,17 +1,22 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.11.11-gnu Kernel Configuration
+# Linux/x86 5.15.12-gnu Kernel Configuration
 #
-CONFIG_CC_VERSION_TEXT="gcc (GCC) 10.2.0"
+CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.1.0"
 CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=100200
-CONFIG_LD_VERSION=236010000
+CONFIG_GCC_VERSION=110100
 CONFIG_CLANG_VERSION=0
+CONFIG_AS_IS_GNU=y
+CONFIG_AS_VERSION=23601
+CONFIG_LD_IS_BFD=y
+CONFIG_LD_VERSION=23601
 CONFIG_LLD_VERSION=0
 CONFIG_CC_CAN_LINK=y
 CONFIG_CC_CAN_LINK_STATIC=y
 CONFIG_CC_HAS_ASM_GOTO=y
+CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
 CONFIG_CC_HAS_ASM_INLINE=y
+CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
 CONFIG_IRQ_WORK=y
 CONFIG_BUILDTIME_TABLE_SORT=y
 CONFIG_THREAD_INFO_IN_TASK=y
@@ -21,6 +26,7 @@ CONFIG_THREAD_INFO_IN_TASK=y
 #
 CONFIG_INIT_ENV_ARG_LIMIT=32
 # CONFIG_COMPILE_TEST is not set
+# CONFIG_WERROR is not set
 CONFIG_LOCALVERSION=""
 CONFIG_LOCALVERSION_AUTO=y
 CONFIG_BUILD_SALT=""
@@ -99,11 +105,31 @@ CONFIG_NO_HZ=y
 CONFIG_HIGH_RES_TIMERS=y
 # end of Timers subsystem
 
+CONFIG_BPF=y
+CONFIG_HAVE_EBPF_JIT=y
+CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
+
+#
+# BPF subsystem
+#
+CONFIG_BPF_SYSCALL=y
+CONFIG_BPF_JIT=y
+CONFIG_BPF_JIT_ALWAYS_ON=y
+CONFIG_BPF_JIT_DEFAULT_ON=y
+# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
+CONFIG_USERMODE_DRIVER=y
+CONFIG_BPF_PRELOAD=y
+CONFIG_BPF_PRELOAD_UMD=m
+CONFIG_BPF_LSM=y
+# end of BPF subsystem
+
 # CONFIG_PREEMPT_NONE is not set
 # CONFIG_PREEMPT_VOLUNTARY is not set
 CONFIG_PREEMPT=y
 CONFIG_PREEMPT_COUNT=y
 CONFIG_PREEMPTION=y
+CONFIG_PREEMPT_DYNAMIC=y
+CONFIG_SCHED_CORE=y
 
 #
 # CPU/Task time and stats accounting
@@ -154,6 +180,7 @@ CONFIG_IKHEADERS=m
 CONFIG_LOG_BUF_SHIFT=17
 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
 CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
+CONFIG_PRINTK_INDEX=y
 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
 
 #
@@ -191,6 +218,7 @@ CONFIG_CGROUP_DEVICE=y
 CONFIG_CGROUP_CPUACCT=y
 CONFIG_CGROUP_PERF=y
 CONFIG_CGROUP_BPF=y
+CONFIG_CGROUP_MISC=y
 # CONFIG_CGROUP_DEBUG is not set
 CONFIG_SOCK_CGROUP_DATA=y
 CONFIG_NAMESPACES=y
@@ -222,7 +250,6 @@ CONFIG_SYSCTL=y
 CONFIG_HAVE_UID16=y
 CONFIG_SYSCTL_EXCEPTION_TRACE=y
 CONFIG_HAVE_PCSPKR_PLATFORM=y
-CONFIG_BPF=y
 # CONFIG_EXPERT is not set
 CONFIG_UID16=y
 CONFIG_MULTIUSER=y
@@ -231,7 +258,6 @@ CONFIG_SYSFS_SYSCALL=y
 CONFIG_FHANDLE=y
 CONFIG_POSIX_TIMERS=y
 CONFIG_PRINTK=y
-CONFIG_PRINTK_NMI=y
 CONFIG_BUG=y
 CONFIG_ELF_CORE=y
 CONFIG_PCSPKR_PLATFORM=y
@@ -247,19 +273,12 @@ CONFIG_AIO=y
 CONFIG_IO_URING=y
 CONFIG_ADVISE_SYSCALLS=y
 CONFIG_HAVE_ARCH_USERFAULTFD_WP=y
+CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y
 CONFIG_MEMBARRIER=y
 CONFIG_KALLSYMS=y
 CONFIG_KALLSYMS_ALL=y
 CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
 CONFIG_KALLSYMS_BASE_RELATIVE=y
-CONFIG_BPF_LSM=y
-CONFIG_BPF_SYSCALL=y
-CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
-CONFIG_BPF_JIT_ALWAYS_ON=y
-CONFIG_BPF_JIT_DEFAULT_ON=y
-CONFIG_USERMODE_DRIVER=y
-CONFIG_BPF_PRELOAD=y
-CONFIG_BPF_PRELOAD_UMD=m
 CONFIG_USERFAULTFD=y
 CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
 CONFIG_KCMP=y
@@ -307,15 +326,14 @@ CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
 CONFIG_ARCH_MAY_HAVE_PC_FDC=y
 CONFIG_GENERIC_CALIBRATE_DELAY=y
 CONFIG_ARCH_HAS_CPU_RELAX=y
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
 CONFIG_ARCH_HAS_FILTER_PGPROT=y
 CONFIG_HAVE_SETUP_PER_CPU_AREA=y
 CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
 CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
 CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_NR_GPIO=1024
 CONFIG_ARCH_SUSPEND_POSSIBLE=y
 CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
-CONFIG_ZONE_DMA32=y
 CONFIG_AUDIT_ARCH=y
 CONFIG_HAVE_INTEL_TXT=y
 CONFIG_X86_64_SMP=y
@@ -328,7 +346,6 @@ CONFIG_CC_HAS_SANE_STACKPROTECTOR=y
 #
 # Processor type and features
 #
-CONFIG_ZONE_DMA=y
 CONFIG_SMP=y
 CONFIG_X86_FEATURE_NAMES=y
 CONFIG_X86_X2APIC=y
@@ -353,13 +370,14 @@ CONFIG_XEN=y
 CONFIG_XEN_PV=y
 CONFIG_XEN_512GB=y
 CONFIG_XEN_PV_SMP=y
-CONFIG_XEN_DOM0=y
+CONFIG_XEN_PV_DOM0=y
 CONFIG_XEN_PVHVM=y
 CONFIG_XEN_PVHVM_SMP=y
 CONFIG_XEN_PVHVM_GUEST=y
 CONFIG_XEN_SAVE_RESTORE=y
 # CONFIG_XEN_DEBUG_FS is not set
 CONFIG_XEN_PVH=y
+CONFIG_XEN_DOM0=y
 CONFIG_KVM_GUEST=y
 CONFIG_ARCH_CPUIDLE_HALTPOLL=y
 CONFIG_PVH=y
@@ -407,7 +425,6 @@ CONFIG_X86_MCE_INTEL=y
 CONFIG_X86_MCE_AMD=y
 CONFIG_X86_MCE_THRESHOLD=y
 CONFIG_X86_MCE_INJECT=m
-CONFIG_X86_THERMAL_VECTOR=y
 
 #
 # Performance monitoring
@@ -416,6 +433,7 @@ CONFIG_PERF_EVENTS_INTEL_UNCORE=m
 CONFIG_PERF_EVENTS_INTEL_RAPL=m
 CONFIG_PERF_EVENTS_INTEL_CSTATE=m
 CONFIG_PERF_EVENTS_AMD_POWER=m
+CONFIG_PERF_EVENTS_AMD_UNCORE=m
 # end of Performance monitoring
 
 CONFIG_X86_16BIT=y
@@ -449,7 +467,6 @@ CONFIG_X86_PMEM_LEGACY_DEVICE=y
 CONFIG_X86_PMEM_LEGACY=m
 CONFIG_X86_CHECK_BIOS_CORRUPTION=y
 CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
-CONFIG_X86_RESERVE_LOW=64
 CONFIG_MTRR=y
 CONFIG_MTRR_SANITIZER=y
 CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
@@ -501,12 +518,8 @@ CONFIG_HAVE_LIVEPATCH=y
 # end of Processor type and features
 
 CONFIG_ARCH_HAS_ADD_PAGES=y
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
 CONFIG_USE_PERCPU_NUMA_NODE_ID=y
-CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
-CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
-CONFIG_ARCH_ENABLE_THP_MIGRATION=y
 
 #
 # Power management and ACPI options
@@ -541,6 +554,7 @@ CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
 CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
 # CONFIG_ACPI_DEBUGGER is not set
 CONFIG_ACPI_SPCR_TABLE=y
+CONFIG_ACPI_FPDT=y
 CONFIG_ACPI_LPIT=y
 CONFIG_ACPI_SLEEP=y
 CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
@@ -561,6 +575,7 @@ CONFIG_ACPI_IPMI=m
 CONFIG_ACPI_HOTPLUG_CPU=y
 CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
 CONFIG_ACPI_THERMAL=y
+CONFIG_ACPI_PLATFORM_PROFILE=m
 CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
 CONFIG_ACPI_TABLE_UPGRADE=y
 CONFIG_ACPI_DEBUG=y
@@ -599,8 +614,9 @@ CONFIG_BXT_WC_PMIC_OPREGION=y
 CONFIG_CHT_WC_PMIC_OPREGION=y
 CONFIG_CHT_DC_TI_PMIC_OPREGION=y
 CONFIG_TPS68470_PMIC_OPREGION=y
+CONFIG_ACPI_VIOT=y
 CONFIG_X86_PM_TIMER=y
-# CONFIG_SFI is not set
+CONFIG_ACPI_PRMT=y
 
 #
 # CPU Frequency scaling
@@ -661,7 +677,6 @@ CONFIG_PCI_XEN=y
 CONFIG_MMCONF_FAM10H=y
 CONFIG_ISA_DMA_API=y
 CONFIG_AMD_NB=y
-# CONFIG_X86_SYSFB is not set
 # end of Bus options (PCI etc.)
 
 #
@@ -675,62 +690,6 @@ CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
 CONFIG_SYSVIPC_COMPAT=y
 # end of Binary Emulations
 
-#
-# Firmware Drivers
-#
-CONFIG_EDD=m
-# CONFIG_EDD_OFF is not set
-CONFIG_FIRMWARE_MEMMAP=y
-CONFIG_DMIID=y
-CONFIG_DMI_SYSFS=y
-CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
-CONFIG_ISCSI_IBFT_FIND=y
-CONFIG_ISCSI_IBFT=m
-CONFIG_FW_CFG_SYSFS=m
-# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-CONFIG_GOOGLE_FIRMWARE=y
-# CONFIG_GOOGLE_SMI is not set
-CONFIG_GOOGLE_COREBOOT_TABLE=m
-CONFIG_GOOGLE_MEMCONSOLE=m
-# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
-CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
-CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=m
-CONFIG_GOOGLE_VPD=m
-
-#
-# EFI (Extensible Firmware Interface) Support
-#
-# CONFIG_EFI_VARS is not set
-CONFIG_EFI_ESRT=y
-CONFIG_EFI_VARS_PSTORE=y
-CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
-CONFIG_EFI_RUNTIME_MAP=y
-# CONFIG_EFI_FAKE_MEMMAP is not set
-CONFIG_EFI_SOFT_RESERVE=y
-CONFIG_EFI_RUNTIME_WRAPPERS=y
-CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
-CONFIG_EFI_BOOTLOADER_CONTROL=m
-CONFIG_EFI_CAPSULE_LOADER=m
-# CONFIG_EFI_TEST is not set
-CONFIG_APPLE_PROPERTIES=y
-# CONFIG_RESET_ATTACK_MITIGATION is not set
-CONFIG_EFI_RCI2_TABLE=y
-# CONFIG_EFI_DISABLE_PCI_DMA is not set
-# end of EFI (Extensible Firmware Interface) Support
-
-CONFIG_EFI_EMBEDDED_FIRMWARE=y
-CONFIG_UEFI_CPER=y
-CONFIG_UEFI_CPER_X86=y
-CONFIG_EFI_DEV_PATH_PARSER=y
-CONFIG_EFI_EARLYCON=y
-CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
-
-#
-# Tegra firmware driver
-#
-# end of Tegra firmware driver
-# end of Firmware Drivers
-
 CONFIG_HAVE_KVM=y
 CONFIG_HAVE_KVM_IRQCHIP=y
 CONFIG_HAVE_KVM_IRQFD=y
@@ -746,11 +705,14 @@ CONFIG_KVM_COMPAT=y
 CONFIG_HAVE_KVM_IRQ_BYPASS=y
 CONFIG_HAVE_KVM_NO_POLL=y
 CONFIG_KVM_XFER_TO_GUEST_WORK=y
+CONFIG_HAVE_KVM_PM_NOTIFIER=y
 CONFIG_VIRTUALIZATION=y
 CONFIG_KVM=m
 CONFIG_KVM_INTEL=m
+CONFIG_X86_SGX_KVM=y
 CONFIG_KVM_AMD=m
 CONFIG_KVM_AMD_SEV=y
+CONFIG_KVM_XEN=y
 CONFIG_KVM_MMU_AUDIT=y
 CONFIG_AS_AVX512=y
 CONFIG_AS_SHA1_NI=y
@@ -764,10 +726,6 @@ CONFIG_CRASH_CORE=y
 CONFIG_KEXEC_CORE=y
 CONFIG_HOTPLUG_SMT=y
 CONFIG_GENERIC_ENTRY=y
-CONFIG_OPROFILE=m
-# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
-CONFIG_HAVE_OPROFILE=y
-CONFIG_OPROFILE_NMI_TIMER=y
 CONFIG_KPROBES=y
 CONFIG_JUMP_LABEL=y
 # CONFIG_STATIC_KEYS_SELFTEST is not set
@@ -786,6 +744,7 @@ CONFIG_HAVE_OPTPROBES=y
 CONFIG_HAVE_KPROBES_ON_FTRACE=y
 CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
 CONFIG_HAVE_NMI=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
 CONFIG_HAVE_ARCH_TRACEHOOK=y
 CONFIG_HAVE_DMA_CONTIGUOUS=y
 CONFIG_GENERIC_SMP_IDLE_THREAD=y
@@ -794,6 +753,7 @@ CONFIG_ARCH_HAS_SET_MEMORY=y
 CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
 CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
 CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
+CONFIG_ARCH_WANTS_NO_INSTR=y
 CONFIG_HAVE_ASM_MODVERSIONS=y
 CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
 CONFIG_HAVE_RSEQ=y
@@ -824,6 +784,9 @@ CONFIG_HAVE_ARCH_STACKLEAK=y
 CONFIG_HAVE_STACKPROTECTOR=y
 CONFIG_STACKPROTECTOR=y
 CONFIG_STACKPROTECTOR_STRONG=y
+CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
+CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
+CONFIG_LTO_NONE=y
 CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
 CONFIG_HAVE_CONTEXT_TRACKING=y
 CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK=y
@@ -838,6 +801,8 @@ CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
 CONFIG_HAVE_ARCH_SOFT_DIRTY=y
 CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
 CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
+CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
 CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
 CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
 CONFIG_HAVE_EXIT_THREAD=y
@@ -853,6 +818,8 @@ CONFIG_COMPAT_OLD_SIGACTION=y
 CONFIG_COMPAT_32BIT_TIME=y
 CONFIG_HAVE_ARCH_VMAP_STACK=y
 CONFIG_VMAP_STACK=y
+CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
+CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
 CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
 CONFIG_STRICT_KERNEL_RWX=y
 CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
@@ -861,10 +828,14 @@ CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
 CONFIG_ARCH_USE_MEMREMAP_PROT=y
 CONFIG_LOCK_EVENT_COUNTS=y
 CONFIG_ARCH_HAS_MEM_ENCRYPT=y
+CONFIG_ARCH_HAS_CC_PLATFORM=y
 CONFIG_HAVE_STATIC_CALL=y
 CONFIG_HAVE_STATIC_CALL_INLINE=y
+CONFIG_HAVE_PREEMPT_DYNAMIC=y
 CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
 CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
+CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
 
 #
 # GCOV-based kernel profiling
@@ -897,28 +868,29 @@ CONFIG_MODULE_SIG_ALL=y
 # CONFIG_MODULE_SIG_SHA384 is not set
 CONFIG_MODULE_SIG_SHA512=y
 CONFIG_MODULE_SIG_HASH="sha512"
-CONFIG_MODULE_COMPRESS=y
+# CONFIG_MODULE_COMPRESS_NONE is not set
 # CONFIG_MODULE_COMPRESS_GZIP is not set
-CONFIG_MODULE_COMPRESS_XZ=y
+# CONFIG_MODULE_COMPRESS_XZ is not set
+CONFIG_MODULE_COMPRESS_ZSTD=y
 CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS=y
-CONFIG_UNUSED_SYMBOLS=y
+CONFIG_MODPROBE_PATH="/sbin/modprobe"
 CONFIG_MODULES_TREE_LOOKUP=y
 CONFIG_BLOCK=y
 CONFIG_BLK_RQ_ALLOC_TIME=y
-CONFIG_BLK_SCSI_REQUEST=y
 CONFIG_BLK_CGROUP_RWSTAT=y
-CONFIG_BLK_DEV_BSG=y
+CONFIG_BLK_DEV_BSG_COMMON=y
 CONFIG_BLK_DEV_BSGLIB=y
 CONFIG_BLK_DEV_INTEGRITY=y
 CONFIG_BLK_DEV_INTEGRITY_T10=y
 CONFIG_BLK_DEV_ZONED=y
 CONFIG_BLK_DEV_THROTTLING=y
 CONFIG_BLK_DEV_THROTTLING_LOW=y
-# CONFIG_BLK_CMDLINE_PARSER is not set
 CONFIG_BLK_WBT=y
+CONFIG_BLK_WBT_MQ=y
 CONFIG_BLK_CGROUP_IOLATENCY=y
+CONFIG_BLK_CGROUP_FC_APPID=y
 CONFIG_BLK_CGROUP_IOCOST=y
-CONFIG_BLK_WBT_MQ=y
+CONFIG_BLK_CGROUP_IOPRIO=y
 CONFIG_BLK_DEBUG_FS=y
 CONFIG_BLK_DEBUG_FS_ZONED=y
 CONFIG_BLK_SED_OPAL=y
@@ -956,6 +928,7 @@ CONFIG_BLK_MQ_PCI=y
 CONFIG_BLK_MQ_VIRTIO=y
 CONFIG_BLK_MQ_RDMA=y
 CONFIG_BLK_PM=y
+CONFIG_BLOCK_HOLDER_DEPRECATED=y
 
 #
 # IO Schedulers
@@ -1002,7 +975,6 @@ CONFIG_COREDUMP=y
 CONFIG_SELECT_MEMORY_MODEL=y
 CONFIG_SPARSEMEM_MANUAL=y
 CONFIG_SPARSEMEM=y
-CONFIG_NEED_MULTIPLE_NODES=y
 CONFIG_SPARSEMEM_EXTREME=y
 CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
 CONFIG_SPARSEMEM_VMEMMAP=y
@@ -1010,19 +982,24 @@ CONFIG_HAVE_FAST_GUP=y
 CONFIG_NUMA_KEEP_MEMINFO=y
 CONFIG_MEMORY_ISOLATION=y
 CONFIG_HAVE_BOOTMEM_INFO_NODE=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
 CONFIG_MEMORY_HOTPLUG=y
 CONFIG_MEMORY_HOTPLUG_SPARSE=y
 CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
 CONFIG_MEMORY_HOTREMOVE=y
+CONFIG_MHP_MEMMAP_ON_MEMORY=y
 CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
 CONFIG_MEMORY_BALLOON=y
 CONFIG_BALLOON_COMPACTION=y
 CONFIG_COMPACTION=y
 CONFIG_PAGE_REPORTING=y
 CONFIG_MIGRATION=y
+CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
+CONFIG_ARCH_ENABLE_THP_MIGRATION=y
 CONFIG_CONTIG_ALLOC=y
 CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_BOUNCE=y
 CONFIG_VIRT_TO_BUS=y
 CONFIG_MMU_NOTIFIER=y
 CONFIG_KSM=y
@@ -1040,6 +1017,7 @@ CONFIG_FRONTSWAP=y
 CONFIG_CMA=y
 # CONFIG_CMA_DEBUG is not set
 CONFIG_CMA_DEBUGFS=y
+CONFIG_CMA_SYSFS=y
 CONFIG_CMA_AREAS=7
 CONFIG_MEM_SOFT_DIRTY=y
 CONFIG_ZSWAP=y
@@ -1062,14 +1040,17 @@ CONFIG_ZSMALLOC=y
 # CONFIG_ZSMALLOC_STAT is not set
 CONFIG_GENERIC_EARLY_IOREMAP=y
 # CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
-# CONFIG_IDLE_PAGE_TRACKING is not set
+CONFIG_PAGE_IDLE_FLAG=y
+CONFIG_IDLE_PAGE_TRACKING=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
 CONFIG_ARCH_HAS_PTE_DEVMAP=y
+CONFIG_ZONE_DMA=y
+CONFIG_ZONE_DMA32=y
 CONFIG_ZONE_DEVICE=y
 CONFIG_DEV_PAGEMAP_OPS=y
 CONFIG_HMM_MIRROR=y
 CONFIG_DEVICE_PRIVATE=y
 CONFIG_VMAP_PFN=y
-CONFIG_FRAME_VECTOR=y
 CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
 CONFIG_ARCH_HAS_PKEYS=y
 # CONFIG_PERCPU_STATS is not set
@@ -1077,6 +1058,13 @@ CONFIG_ARCH_HAS_PKEYS=y
 CONFIG_READ_ONLY_THP_FOR_FS=y
 CONFIG_ARCH_HAS_PTE_SPECIAL=y
 CONFIG_MAPPING_DIRTY_HELPERS=y
+CONFIG_SECRETMEM=y
+
+#
+# Data Access Monitoring
+#
+# CONFIG_DAMON is not set
+# end of Data Access Monitoring
 # end of Memory Management options
 
 CONFIG_NET=y
@@ -1093,6 +1081,7 @@ CONFIG_PACKET=y
 CONFIG_PACKET_DIAG=m
 CONFIG_UNIX=y
 CONFIG_UNIX_SCM=y
+CONFIG_AF_UNIX_OOB=y
 CONFIG_UNIX_DIAG=m
 CONFIG_TLS=m
 CONFIG_TLS_DEVICE=y
@@ -1203,6 +1192,7 @@ CONFIG_IPV6_SEG6_LWTUNNEL=y
 CONFIG_IPV6_SEG6_HMAC=y
 CONFIG_IPV6_SEG6_BPF=y
 CONFIG_IPV6_RPL_LWTUNNEL=y
+CONFIG_IPV6_IOAM6_LWTUNNEL=y
 CONFIG_NETLABEL=y
 CONFIG_MPTCP=y
 CONFIG_INET_MPTCP_DIAG=m
@@ -1221,13 +1211,13 @@ CONFIG_NETFILTER_INGRESS=y
 CONFIG_NETFILTER_NETLINK=m
 CONFIG_NETFILTER_FAMILY_BRIDGE=y
 CONFIG_NETFILTER_FAMILY_ARP=y
+CONFIG_NETFILTER_NETLINK_HOOK=m
 CONFIG_NETFILTER_NETLINK_ACCT=m
 CONFIG_NETFILTER_NETLINK_QUEUE=m
 CONFIG_NETFILTER_NETLINK_LOG=m
 CONFIG_NETFILTER_NETLINK_OSF=m
 CONFIG_NF_CONNTRACK=m
-CONFIG_NF_LOG_COMMON=m
-CONFIG_NF_LOG_NETDEV=m
+CONFIG_NF_LOG_SYSLOG=m
 CONFIG_NETFILTER_CONNCOUNT=m
 CONFIG_NF_CONNTRACK_MARK=y
 CONFIG_NF_CONNTRACK_SECMARK=y
@@ -1301,6 +1291,7 @@ CONFIG_NFT_REJECT_NETDEV=m
 CONFIG_NF_FLOW_TABLE_INET=m
 CONFIG_NF_FLOW_TABLE=m
 CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XTABLES_COMPAT=y
 
 #
 # Xtables combined modules
@@ -1440,6 +1431,7 @@ CONFIG_IP_VS_SH=m
 CONFIG_IP_VS_MH=m
 CONFIG_IP_VS_SED=m
 CONFIG_IP_VS_NQ=m
+CONFIG_IP_VS_TWOS=m
 
 #
 # IPVS SH scheduler
@@ -1540,7 +1532,6 @@ CONFIG_NF_DEFRAG_IPV6=m
 CONFIG_NF_TABLES_BRIDGE=m
 CONFIG_NFT_BRIDGE_META=m
 CONFIG_NFT_BRIDGE_REJECT=m
-CONFIG_NF_LOG_BRIDGE=m
 CONFIG_NF_CONNTRACK_BRIDGE=m
 CONFIG_BRIDGE_NF_EBTABLES=m
 CONFIG_BRIDGE_EBT_BROUTE=m
@@ -1602,12 +1593,11 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y
 CONFIG_BRIDGE_VLAN_FILTERING=y
 CONFIG_BRIDGE_MRP=y
 CONFIG_BRIDGE_CFM=y
-CONFIG_HAVE_NET_DSA=y
 CONFIG_NET_DSA=m
-CONFIG_NET_DSA_TAG_8021Q=m
 CONFIG_NET_DSA_TAG_AR9331=m
 CONFIG_NET_DSA_TAG_BRCM_COMMON=m
 CONFIG_NET_DSA_TAG_BRCM=m
+CONFIG_NET_DSA_TAG_BRCM_LEGACY=m
 CONFIG_NET_DSA_TAG_BRCM_PREPEND=m
 CONFIG_NET_DSA_TAG_HELLCREEK=m
 CONFIG_NET_DSA_TAG_GSWIP=m
@@ -1618,10 +1608,12 @@ CONFIG_NET_DSA_TAG_MTK=m
 CONFIG_NET_DSA_TAG_KSZ=m
 CONFIG_NET_DSA_TAG_RTL4_A=m
 CONFIG_NET_DSA_TAG_OCELOT=m
+CONFIG_NET_DSA_TAG_OCELOT_8021Q=m
 CONFIG_NET_DSA_TAG_QCA=m
 CONFIG_NET_DSA_TAG_LAN9303=m
 CONFIG_NET_DSA_TAG_SJA1105=m
 CONFIG_NET_DSA_TAG_TRAILER=m
+CONFIG_NET_DSA_TAG_XRS700X=m
 CONFIG_VLAN_8021Q=m
 CONFIG_VLAN_8021Q_GVRP=y
 CONFIG_VLAN_8021Q_MVRP=y
@@ -1793,14 +1785,16 @@ CONFIG_QRTR_TUN=m
 CONFIG_QRTR_MHI=m
 CONFIG_NET_NCSI=y
 CONFIG_NCSI_OEM_CMD_GET_MAC=y
+CONFIG_NCSI_OEM_CMD_KEEP_PHY=y
+CONFIG_PCPU_DEV_REFCNT=y
 CONFIG_RPS=y
 CONFIG_RFS_ACCEL=y
+CONFIG_SOCK_RX_QUEUE_MAPPING=y
 CONFIG_XPS=y
 CONFIG_CGROUP_NET_PRIO=y
 CONFIG_CGROUP_NET_CLASSID=y
 CONFIG_NET_RX_BUSY_POLL=y
 CONFIG_BQL=y
-CONFIG_BPF_JIT=y
 CONFIG_BPF_STREAM_PARSER=y
 CONFIG_NET_FLOW_LIMIT=y
 
@@ -1892,6 +1886,7 @@ CONFIG_CAN_MCP251XFD=m
 CONFIG_CAN_8DEV_USB=m
 CONFIG_CAN_EMS_USB=m
 CONFIG_CAN_ESD_USB2=m
+CONFIG_CAN_ETAS_ES58X=m
 CONFIG_CAN_GS_USB=m
 CONFIG_CAN_KVASER_USB=m
 CONFIG_CAN_MCBA_USB=m
@@ -1911,11 +1906,12 @@ CONFIG_BT_BNEP_MC_FILTER=y
 CONFIG_BT_BNEP_PROTO_FILTER=y
 CONFIG_BT_CMTP=m
 CONFIG_BT_HIDP=m
-CONFIG_BT_HS=y
+# CONFIG_BT_HS is not set
 CONFIG_BT_LE=y
 CONFIG_BT_6LOWPAN=m
 CONFIG_BT_LEDS=y
 CONFIG_BT_MSFTEXT=y
+CONFIG_BT_AOSPEXT=y
 CONFIG_BT_DEBUGFS=y
 # CONFIG_BT_SELFTEST is not set
 
@@ -1959,6 +1955,7 @@ CONFIG_BT_ATH3K=m
 CONFIG_BT_MTKSDIO=m
 CONFIG_BT_MTKUART=m
 CONFIG_BT_HCIRSI=m
+CONFIG_BT_VIRTIO=m
 # end of Bluetooth device drivers
 
 CONFIG_AF_RXRPC=m
@@ -1968,6 +1965,7 @@ CONFIG_AF_RXRPC_DEBUG=y
 CONFIG_RXKAD=y
 CONFIG_AF_KCM=m
 CONFIG_STREAM_PARSER=y
+CONFIG_MCTP=m
 CONFIG_FIB_RULES=y
 CONFIG_WIRELESS=y
 CONFIG_WIRELESS_EXT=y
@@ -2029,6 +2027,7 @@ CONFIG_NFC_TRF7970A=m
 CONFIG_NFC_MEI_PHY=m
 CONFIG_NFC_SIM=m
 CONFIG_NFC_PORT100=m
+CONFIG_NFC_VIRTUAL_NCI=m
 CONFIG_NFC_FDP=m
 CONFIG_NFC_FDP_I2C=m
 CONFIG_NFC_PN544=m
@@ -2066,12 +2065,12 @@ CONFIG_LWTUNNEL_BPF=y
 CONFIG_DST_CACHE=y
 CONFIG_GRO_CELLS=y
 CONFIG_SOCK_VALIDATE_XMIT=y
+CONFIG_NET_SELFTESTS=m
 CONFIG_NET_SOCK_MSG=y
 CONFIG_NET_DEVLINK=y
 CONFIG_PAGE_POOL=y
 CONFIG_FAILOVER=m
 CONFIG_ETHTOOL_NETLINK=y
-CONFIG_HAVE_EBPF_JIT=y
 
 #
 # Device Drivers
@@ -2158,6 +2157,11 @@ CONFIG_PCI_MESON=y
 CONFIG_PCI_SW_SWITCHTEC=m
 # end of PCI switch controller drivers
 
+CONFIG_CXL_BUS=m
+CONFIG_CXL_MEM=m
+# CONFIG_CXL_MEM_RAW_COMMANDS is not set
+CONFIG_CXL_ACPI=m
+CONFIG_CXL_PMEM=m
 CONFIG_PCCARD=m
 CONFIG_PCMCIA=m
 CONFIG_PCMCIA_LOAD_CIS=y
@@ -2217,6 +2221,7 @@ CONFIG_REGMAP_W1=m
 CONFIG_REGMAP_MMIO=y
 CONFIG_REGMAP_IRQ=y
 CONFIG_REGMAP_SOUNDWIRE=m
+CONFIG_REGMAP_SOUNDWIRE_MBQ=m
 CONFIG_REGMAP_SCCB=m
 CONFIG_REGMAP_SPI_AVMM=m
 CONFIG_DMA_SHARED_BUFFER=y
@@ -2233,6 +2238,70 @@ CONFIG_MHI_BUS_PCI_GENERIC=m
 
 CONFIG_CONNECTOR=y
 CONFIG_PROC_EVENTS=y
+
+#
+# Firmware Drivers
+#
+
+#
+# ARM System Control and Management Interface Protocol
+#
+# end of ARM System Control and Management Interface Protocol
+
+CONFIG_EDD=m
+# CONFIG_EDD_OFF is not set
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_DMIID=y
+CONFIG_DMI_SYSFS=y
+CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
+CONFIG_ISCSI_IBFT_FIND=y
+CONFIG_ISCSI_IBFT=m
+CONFIG_FW_CFG_SYSFS=m
+# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
+CONFIG_SYSFB=y
+# CONFIG_SYSFB_SIMPLEFB is not set
+CONFIG_GOOGLE_FIRMWARE=y
+# CONFIG_GOOGLE_SMI is not set
+CONFIG_GOOGLE_COREBOOT_TABLE=m
+CONFIG_GOOGLE_MEMCONSOLE=m
+# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
+CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=m
+CONFIG_GOOGLE_VPD=m
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+# CONFIG_EFI_VARS is not set
+CONFIG_EFI_ESRT=y
+CONFIG_EFI_VARS_PSTORE=y
+CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
+CONFIG_EFI_RUNTIME_MAP=y
+# CONFIG_EFI_FAKE_MEMMAP is not set
+CONFIG_EFI_SOFT_RESERVE=y
+CONFIG_EFI_RUNTIME_WRAPPERS=y
+CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
+CONFIG_EFI_BOOTLOADER_CONTROL=m
+CONFIG_EFI_CAPSULE_LOADER=m
+# CONFIG_EFI_TEST is not set
+CONFIG_APPLE_PROPERTIES=y
+# CONFIG_RESET_ATTACK_MITIGATION is not set
+CONFIG_EFI_RCI2_TABLE=y
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
+# end of EFI (Extensible Firmware Interface) Support
+
+CONFIG_EFI_EMBEDDED_FIRMWARE=y
+CONFIG_UEFI_CPER=y
+CONFIG_UEFI_CPER_X86=y
+CONFIG_EFI_DEV_PATH_PARSER=y
+CONFIG_EFI_EARLYCON=y
+CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
+
+#
+# Tegra firmware driver
+#
+# end of Tegra firmware driver
+# end of Firmware Drivers
+
 CONFIG_GNSS=m
 CONFIG_GNSS_SERIAL=m
 CONFIG_GNSS_MTK_SERIAL=m
@@ -2255,6 +2324,10 @@ CONFIG_MTD=m
 CONFIG_MTD_BLKDEVS=m
 CONFIG_MTD_BLOCK=m
 # CONFIG_MTD_BLOCK_RO is not set
+
+#
+# Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK.
+#
 # CONFIG_FTL is not set
 # CONFIG_NFTL is not set
 # CONFIG_INFTL is not set
@@ -2264,7 +2337,7 @@ CONFIG_MTD_BLOCK=m
 # CONFIG_MTD_OOPS is not set
 CONFIG_MTD_PSTORE=m
 # CONFIG_MTD_SWAP is not set
-# CONFIG_MTD_PARTITIONED_MASTER is not set
+CONFIG_MTD_PARTITIONED_MASTER=y
 
 #
 # RAM/ROM/Flash chip drivers
@@ -2277,7 +2350,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y
 CONFIG_MTD_CFI_I1=y
 CONFIG_MTD_CFI_I2=y
 # CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
+CONFIG_MTD_ROM=m
 # CONFIG_MTD_ABSENT is not set
 # end of RAM/ROM/Flash chip drivers
 
@@ -2285,6 +2358,7 @@ CONFIG_MTD_CFI_I2=y
 # Mapping drivers for chip access
 #
 # CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
 # CONFIG_MTD_INTEL_VR_NOR is not set
 # CONFIG_MTD_PLATRAM is not set
 # end of Mapping drivers for chip access
@@ -2295,10 +2369,13 @@ CONFIG_MTD_CFI_I2=y
 # CONFIG_MTD_PMC551 is not set
 # CONFIG_MTD_DATAFLASH is not set
 # CONFIG_MTD_MCHP23K256 is not set
+# CONFIG_MTD_MCHP48L640 is not set
 # CONFIG_MTD_SST25L is not set
 # CONFIG_MTD_SLRAM is not set
 CONFIG_MTD_PHRAM=m
-# CONFIG_MTD_MTDRAM is not set
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
 CONFIG_MTD_BLOCK2MTD=m
 
 #
@@ -2336,8 +2413,9 @@ CONFIG_MTD_NAND_NANDSIM=m
 # ECC engine support
 #
 CONFIG_MTD_NAND_ECC=y
-# CONFIG_MTD_NAND_ECC_SW_HAMMING is not set
-# CONFIG_MTD_NAND_ECC_SW_BCH is not set
+CONFIG_MTD_NAND_ECC_SW_HAMMING=y
+CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC=y
+CONFIG_MTD_NAND_ECC_SW_BCH=y
 # end of ECC engine support
 # end of NAND
 
@@ -2347,7 +2425,14 @@ CONFIG_MTD_NAND_ECC=y
 # CONFIG_MTD_LPDDR is not set
 # end of LPDDR & LPDDR2 PCM memory drivers
 
-# CONFIG_MTD_SPI_NOR is not set
+CONFIG_MTD_SPI_NOR=m
+CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
+# CONFIG_MTD_SPI_NOR_SWP_DISABLE is not set
+CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y
+# CONFIG_MTD_SPI_NOR_SWP_KEEP is not set
+CONFIG_SPI_INTEL_SPI=m
+CONFIG_SPI_INTEL_SPI_PCI=m
+CONFIG_SPI_INTEL_SPI_PLATFORM=m
 CONFIG_MTD_UBI=m
 CONFIG_MTD_UBI_WL_THRESHOLD=4096
 CONFIG_MTD_UBI_BEB_LIMIT=20
@@ -2389,14 +2474,12 @@ CONFIG_ZRAM_DEF_COMP_LZORLE=y
 CONFIG_ZRAM_DEF_COMP="lzo-rle"
 CONFIG_ZRAM_WRITEBACK=y
 # CONFIG_ZRAM_MEMORY_TRACKING is not set
-CONFIG_BLK_DEV_UMEM=m
 CONFIG_BLK_DEV_LOOP=m
 CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
 CONFIG_BLK_DEV_CRYPTOLOOP=m
 CONFIG_BLK_DEV_DRBD=m
 # CONFIG_DRBD_FAULT_INJECTION is not set
 CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_SKD=m
 CONFIG_BLK_DEV_SX8=m
 CONFIG_BLK_DEV_RAM=m
 CONFIG_BLK_DEV_RAM_COUNT=16
@@ -2460,10 +2543,10 @@ CONFIG_DS1682=m
 CONFIG_VMWARE_BALLOON=m
 CONFIG_LATTICE_ECP3_CONFIG=m
 # CONFIG_SRAM is not set
+CONFIG_DW_XDATA_PCIE=m
 CONFIG_PCI_ENDPOINT_TEST=m
 CONFIG_XILINX_SDFEC=m
 CONFIG_MISC_RTSX=m
-CONFIG_PVPANIC=m
 CONFIG_C2PORT=m
 CONFIG_C2PORT_DURAMAR_2150=m
 
@@ -2500,21 +2583,24 @@ CONFIG_VMWARE_VMCI=m
 CONFIG_GENWQE=m
 CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0
 CONFIG_ECHO=m
+CONFIG_BCM_VK=m
+CONFIG_BCM_VK_TTY=y
 CONFIG_MISC_ALCOR_PCI=m
 CONFIG_MISC_RTSX_PCI=m
 CONFIG_MISC_RTSX_USB=m
 CONFIG_HABANA_AI=m
 CONFIG_UACCE=m
+CONFIG_PVPANIC=y
+CONFIG_PVPANIC_MMIO=m
+CONFIG_PVPANIC_PCI=m
 # end of Misc devices
 
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
 #
 # SCSI device support
 #
 CONFIG_SCSI_MOD=y
 CONFIG_RAID_ATTRS=m
+CONFIG_SCSI_COMMON=y
 CONFIG_SCSI=y
 CONFIG_SCSI_DMA=y
 CONFIG_SCSI_NETLINK=y
@@ -2527,6 +2613,7 @@ CONFIG_BLK_DEV_SD=y
 CONFIG_CHR_DEV_ST=m
 CONFIG_BLK_DEV_SR=m
 CONFIG_CHR_DEV_SG=m
+CONFIG_BLK_DEV_BSG=y
 CONFIG_CHR_DEV_SCH=m
 CONFIG_SCSI_ENCLOSURE=m
 CONFIG_SCSI_CONSTANTS=y
@@ -2591,6 +2678,7 @@ CONFIG_SCSI_MPT3SAS=m
 CONFIG_SCSI_MPT2SAS_MAX_SGE=128
 CONFIG_SCSI_MPT3SAS_MAX_SGE=128
 CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPI3MR=m
 CONFIG_SCSI_SMARTPQI=m
 CONFIG_SCSI_UFSHCD=m
 CONFIG_SCSI_UFSHCD_PCI=m
@@ -2600,6 +2688,7 @@ CONFIG_SCSI_UFS_CDNS_PLATFORM=m
 # CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set
 CONFIG_SCSI_UFS_BSG=y
 CONFIG_SCSI_UFS_CRYPTO=y
+CONFIG_SCSI_UFS_HPB=y
 CONFIG_SCSI_HPTIOP=m
 CONFIG_SCSI_BUSLOGIC=m
 CONFIG_SCSI_FLASHPOINT=y
@@ -2617,7 +2706,6 @@ CONFIG_SCSI_SNIC=m
 CONFIG_SCSI_DMX3191D=m
 CONFIG_SCSI_FDOMAIN=m
 CONFIG_SCSI_FDOMAIN_PCI=m
-CONFIG_SCSI_GDTH=m
 CONFIG_SCSI_ISCI=m
 CONFIG_SCSI_IPS=m
 CONFIG_SCSI_INITIO=m
@@ -2644,6 +2732,7 @@ CONFIG_QEDI=m
 CONFIG_QEDF=m
 CONFIG_SCSI_LPFC=m
 # CONFIG_SCSI_LPFC_DEBUG_FS is not set
+CONFIG_SCSI_EFCT=m
 CONFIG_SCSI_DC395x=m
 CONFIG_SCSI_AM53C974=m
 CONFIG_SCSI_WD719X=m
@@ -2942,8 +3031,8 @@ CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C=m
 CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
 CONFIG_NET_DSA_MICROCHIP_KSZ8795=m
 CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI=m
+CONFIG_NET_DSA_MICROCHIP_KSZ8863_SMI=m
 CONFIG_NET_DSA_MV88E6XXX=m
-CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
 CONFIG_NET_DSA_MV88E6XXX_PTP=y
 CONFIG_NET_DSA_MSCC_SEVILLE=m
 CONFIG_NET_DSA_AR9331=m
@@ -2951,6 +3040,9 @@ CONFIG_NET_DSA_SJA1105=m
 CONFIG_NET_DSA_SJA1105_PTP=y
 CONFIG_NET_DSA_SJA1105_TAS=y
 CONFIG_NET_DSA_SJA1105_VL=y
+CONFIG_NET_DSA_XRS700X=m
+CONFIG_NET_DSA_XRS700X_I2C=m
+CONFIG_NET_DSA_XRS700X_MDIO=m
 CONFIG_NET_DSA_QCA8K=m
 CONFIG_NET_DSA_REALTEK_SMI=m
 CONFIG_NET_DSA_SMSC_LAN9303=m
@@ -2996,8 +3088,6 @@ CONFIG_ATL1=m
 CONFIG_ATL1E=m
 CONFIG_ATL1C=m
 CONFIG_ALX=m
-CONFIG_NET_VENDOR_AURORA=y
-CONFIG_AURORA_NB8800=m
 CONFIG_NET_VENDOR_BROADCOM=y
 CONFIG_B44=m
 CONFIG_B44_PCI_AUTOSELECT=y
@@ -3104,7 +3194,10 @@ CONFIG_I40EVF=m
 CONFIG_ICE=m
 CONFIG_FM10K=m
 CONFIG_IGC=m
+CONFIG_NET_VENDOR_MICROSOFT=y
+CONFIG_MICROSOFT_MANA=m
 CONFIG_JME=m
+CONFIG_NET_VENDOR_LITEX=y
 CONFIG_NET_VENDOR_MARVELL=y
 CONFIG_MVMDIO=m
 CONFIG_SKGE=m
@@ -3128,8 +3221,10 @@ CONFIG_MLX5_EN_ARFS=y
 CONFIG_MLX5_EN_RXNFC=y
 CONFIG_MLX5_MPFS=y
 CONFIG_MLX5_ESWITCH=y
+CONFIG_MLX5_BRIDGE=y
 CONFIG_MLX5_CLS_ACT=y
 CONFIG_MLX5_TC_CT=y
+CONFIG_MLX5_TC_SAMPLE=y
 CONFIG_MLX5_CORE_EN_DCB=y
 CONFIG_MLX5_CORE_IPOIB=y
 CONFIG_MLX5_FPGA_IPSEC=y
@@ -3139,13 +3234,13 @@ CONFIG_MLX5_FPGA_TLS=y
 CONFIG_MLX5_TLS=y
 CONFIG_MLX5_EN_TLS=y
 CONFIG_MLX5_SW_STEERING=y
+CONFIG_MLX5_SF=y
+CONFIG_MLX5_SF_MANAGER=y
 CONFIG_MLXSW_CORE=m
 CONFIG_MLXSW_CORE_HWMON=y
 CONFIG_MLXSW_CORE_THERMAL=y
 CONFIG_MLXSW_PCI=m
 CONFIG_MLXSW_I2C=m
-CONFIG_MLXSW_SWITCHIB=m
-CONFIG_MLXSW_SWITCHX2=m
 CONFIG_MLXSW_SPECTRUM=m
 CONFIG_MLXSW_SPECTRUM_DCB=y
 CONFIG_MLXSW_MINIMAL=m
@@ -3253,6 +3348,7 @@ CONFIG_STMMAC_ETH=m
 CONFIG_STMMAC_PLATFORM=m
 CONFIG_DWMAC_GENERIC=m
 CONFIG_DWMAC_INTEL=m
+CONFIG_DWMAC_LOONGSON=m
 CONFIG_STMMAC_PCI=m
 CONFIG_NET_VENDOR_SUN=y
 CONFIG_HAPPYMEAL=m
@@ -3279,13 +3375,13 @@ CONFIG_WIZNET_W5300=m
 CONFIG_WIZNET_BUS_ANY=y
 CONFIG_WIZNET_W5100_SPI=m
 CONFIG_NET_VENDOR_XILINX=y
+CONFIG_XILINX_EMACLITE=m
 CONFIG_XILINX_AXI_EMAC=m
 CONFIG_XILINX_LL_TEMAC=m
 CONFIG_NET_VENDOR_XIRCOM=y
 CONFIG_PCMCIA_XIRC2PS=m
 CONFIG_FDDI=m
 CONFIG_DEFXX=m
-CONFIG_DEFXX_MMIO=y
 CONFIG_SKFP=m
 # CONFIG_HIPPI is not set
 CONFIG_NET_SB1000=m
@@ -3318,11 +3414,16 @@ CONFIG_INTEL_XWAY_PHY=m
 CONFIG_LSI_ET1011C_PHY=m
 CONFIG_MARVELL_PHY=m
 CONFIG_MARVELL_10G_PHY=m
+CONFIG_MARVELL_88X2222_PHY=m
+CONFIG_MAXLINEAR_GPHY=m
+CONFIG_MEDIATEK_GE_PHY=m
 CONFIG_MICREL_PHY=m
 CONFIG_MICROCHIP_PHY=m
 CONFIG_MICROCHIP_T1_PHY=m
 CONFIG_MICROSEMI_PHY=m
+CONFIG_MOTORCOMM_PHY=m
 CONFIG_NATIONAL_PHY=m
+CONFIG_NXP_C45_TJA11XX_PHY=m
 CONFIG_NXP_TJA11XX_PHY=m
 CONFIG_AT803X_PHY=m
 CONFIG_QSEMI_PHY=m
@@ -3340,8 +3441,14 @@ CONFIG_DP83869_PHY=m
 CONFIG_VITESSE_PHY=m
 CONFIG_XILINX_GMII2RGMII=m
 CONFIG_MICREL_KS8995MA=m
+
+#
+# MCTP Device Drivers
+#
 CONFIG_MDIO_DEVICE=m
 CONFIG_MDIO_BUS=m
+CONFIG_FWNODE_MDIO=m
+CONFIG_ACPI_MDIO=m
 CONFIG_MDIO_DEVRES=m
 CONFIG_MDIO_BITBANG=m
 CONFIG_MDIO_BCM_UNIMAC=m
@@ -3584,7 +3691,6 @@ CONFIG_P54_PCI=m
 CONFIG_P54_SPI=m
 # CONFIG_P54_SPI_DEFAULT_EEPROM is not set
 CONFIG_P54_LEDS=y
-CONFIG_PRISM54=m
 CONFIG_WLAN_VENDOR_MARVELL=y
 CONFIG_LIBERTAS=m
 CONFIG_LIBERTAS_USB=m
@@ -3609,6 +3715,7 @@ CONFIG_MT76_USB=m
 CONFIG_MT76_SDIO=m
 CONFIG_MT76x02_LIB=m
 CONFIG_MT76x02_USB=m
+CONFIG_MT76_CONNAC_LIB=m
 CONFIG_MT76x0_COMMON=m
 CONFIG_MT76x0U=m
 CONFIG_MT76x0E=m
@@ -3622,6 +3729,7 @@ CONFIG_MT7663_USB_SDIO_COMMON=m
 CONFIG_MT7663U=m
 CONFIG_MT7663S=m
 CONFIG_MT7915E=m
+CONFIG_MT7921E=m
 CONFIG_WLAN_VENDOR_MICROCHIP=y
 CONFIG_WILC1000=m
 CONFIG_WILC1000_SDIO=m
@@ -3737,6 +3845,18 @@ CONFIG_IEEE802154_CA8210=m
 # CONFIG_IEEE802154_CA8210_DEBUGFS is not set
 CONFIG_IEEE802154_MCR20A=m
 CONFIG_IEEE802154_HWSIM=m
+
+#
+# Wireless WAN
+#
+CONFIG_WWAN=y
+CONFIG_WWAN_HWSIM=m
+CONFIG_MHI_WWAN_CTRL=m
+CONFIG_MHI_WWAN_MBIM=m
+CONFIG_RPMSG_WWAN_CTRL=m
+CONFIG_IOSM=m
+# end of Wireless WAN
+
 CONFIG_XEN_NETDEV_FRONTEND=m
 CONFIG_XEN_NETDEV_BACKEND=m
 CONFIG_VMXNET3=m
@@ -3767,9 +3887,6 @@ CONFIG_MISDN_NETJET=m
 CONFIG_MISDN_HDLC=m
 CONFIG_MISDN_IPAC=m
 CONFIG_MISDN_ISAR=m
-CONFIG_NVM=y
-CONFIG_NVM_PBLK=m
-# CONFIG_NVM_PBLK_DEBUG is not set
 
 #
 # Input device support
@@ -3800,7 +3917,7 @@ CONFIG_KEYBOARD_ADP5520=m
 CONFIG_KEYBOARD_ADP5588=m
 CONFIG_KEYBOARD_ADP5589=m
 CONFIG_KEYBOARD_APPLESPI=m
-CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_ATKBD=m
 CONFIG_KEYBOARD_QT1050=m
 CONFIG_KEYBOARD_QT1070=m
 CONFIG_KEYBOARD_QT2160=m
@@ -3890,6 +4007,7 @@ CONFIG_JOYSTICK_WALKERA0701=m
 CONFIG_JOYSTICK_PSXPAD_SPI=m
 CONFIG_JOYSTICK_PSXPAD_SPI_FF=y
 CONFIG_JOYSTICK_PXRC=m
+CONFIG_JOYSTICK_QWIIC=m
 CONFIG_JOYSTICK_FSIA6B=m
 CONFIG_INPUT_TABLET=y
 CONFIG_TABLET_USB_ACECAD=m
@@ -3899,7 +4017,6 @@ CONFIG_TABLET_USB_KBTAB=m
 CONFIG_TABLET_USB_PEGASUS=m
 CONFIG_TABLET_SERIAL_WACOM4=m
 CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_PROPERTIES=y
 CONFIG_TOUCHSCREEN_88PM860X=m
 CONFIG_TOUCHSCREEN_ADS7846=m
 CONFIG_TOUCHSCREEN_AD7877=m
@@ -3931,7 +4048,9 @@ CONFIG_TOUCHSCREEN_EXC3000=m
 CONFIG_TOUCHSCREEN_FUJITSU=m
 CONFIG_TOUCHSCREEN_GOODIX=m
 CONFIG_TOUCHSCREEN_HIDEEP=m
+CONFIG_TOUCHSCREEN_HYCON_HY46XX=m
 CONFIG_TOUCHSCREEN_ILI210X=m
+CONFIG_TOUCHSCREEN_ILITEK=m
 CONFIG_TOUCHSCREEN_S6SY761=m
 CONFIG_TOUCHSCREEN_GUNZE=m
 CONFIG_TOUCHSCREEN_EKTF2127=m
@@ -3943,6 +4062,7 @@ CONFIG_TOUCHSCREEN_MAX11801=m
 CONFIG_TOUCHSCREEN_MCS5000=m
 CONFIG_TOUCHSCREEN_MMS114=m
 CONFIG_TOUCHSCREEN_MELFAS_MIP4=m
+CONFIG_TOUCHSCREEN_MSG2638=m
 CONFIG_TOUCHSCREEN_MTOUCH=m
 CONFIG_TOUCHSCREEN_INEXIO=m
 CONFIG_TOUCHSCREEN_MK712=m
@@ -4008,6 +4128,7 @@ CONFIG_INPUT_AD714X=m
 CONFIG_INPUT_AD714X_I2C=m
 CONFIG_INPUT_AD714X_SPI=m
 CONFIG_INPUT_ARIZONA_HAPTICS=m
+CONFIG_INPUT_ATC260X_ONKEY=m
 CONFIG_INPUT_BMA150=m
 CONFIG_INPUT_E3X0_BUTTON=m
 CONFIG_INPUT_PCSPKR=m
@@ -4051,6 +4172,7 @@ CONFIG_INPUT_ADXL34X_I2C=m
 CONFIG_INPUT_ADXL34X_SPI=m
 CONFIG_INPUT_IMS_PCU=m
 CONFIG_INPUT_IQS269A=m
+CONFIG_INPUT_IQS626A=m
 CONFIG_INPUT_CMA3000=m
 CONFIG_INPUT_CMA3000_I2C=m
 CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
@@ -4078,14 +4200,14 @@ CONFIG_RMI4_F55=y
 #
 # Hardware I/O ports
 #
-CONFIG_SERIO=y
+CONFIG_SERIO=m
 CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
-CONFIG_SERIO_I8042=y
+CONFIG_SERIO_I8042=m
 CONFIG_SERIO_SERPORT=m
 CONFIG_SERIO_CT82C710=m
 CONFIG_SERIO_PARKBD=m
 CONFIG_SERIO_PCIPS2=m
-CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_LIBPS2=m
 CONFIG_SERIO_RAW=m
 CONFIG_SERIO_ALTERA_PS2=m
 CONFIG_SERIO_PS2MULT=m
@@ -4164,7 +4286,6 @@ CONFIG_SERIAL_ALTERA_JTAGUART=m
 CONFIG_SERIAL_ALTERA_UART=m
 CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
 CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
-CONFIG_SERIAL_IFX6X60=m
 CONFIG_SERIAL_ARC=m
 CONFIG_SERIAL_ARC_NR_PORTS=1
 CONFIG_SERIAL_RP2=m
@@ -4177,19 +4298,13 @@ CONFIG_SERIAL_SPRD=m
 
 CONFIG_SERIAL_MCTRL_GPIO=y
 CONFIG_SERIAL_NONSTANDARD=y
-CONFIG_ROCKETPORT=m
-CONFIG_CYCLADES=m
-CONFIG_CYZ_INTR=y
 CONFIG_MOXA_INTELLIO=m
 CONFIG_MOXA_SMARTIO=m
 CONFIG_SYNCLINK_GT=m
-CONFIG_ISI=m
 CONFIG_N_HDLC=m
 CONFIG_N_GSM=m
 CONFIG_NOZOMI=m
 CONFIG_NULL_TTY=m
-CONFIG_TRACE_ROUTER=m
-CONFIG_TRACE_SINK=m
 CONFIG_HVC_DRIVER=y
 CONFIG_HVC_IRQ=y
 CONFIG_HVC_XEN=y
@@ -4232,10 +4347,7 @@ CONFIG_IPWIRELESS=m
 
 CONFIG_MWAVE=m
 CONFIG_DEVMEM=y
-# CONFIG_DEVKMEM is not set
 CONFIG_NVRAM=y
-CONFIG_RAW_DRIVER=m
-CONFIG_MAX_RAW_DEVS=8192
 CONFIG_DEVPORT=y
 CONFIG_HPET=y
 # CONFIG_HPET_MMAP is not set
@@ -4246,6 +4358,7 @@ CONFIG_TCG_TIS_CORE=m
 CONFIG_TCG_TIS=m
 CONFIG_TCG_TIS_SPI=m
 CONFIG_TCG_TIS_SPI_CR50=y
+CONFIG_TCG_TIS_I2C_CR50=m
 CONFIG_TCG_TIS_I2C_ATMEL=m
 CONFIG_TCG_TIS_I2C_INFINEON=m
 CONFIG_TCG_TIS_I2C_NUVOTON=m
@@ -4259,12 +4372,13 @@ CONFIG_TCG_TIS_ST33ZP24=m
 CONFIG_TCG_TIS_ST33ZP24_I2C=m
 CONFIG_TCG_TIS_ST33ZP24_SPI=m
 CONFIG_TELCLOCK=m
+CONFIG_XILLYBUS_CLASS=m
 CONFIG_XILLYBUS=m
 CONFIG_XILLYBUS_PCIE=m
-# end of Character devices
-
+CONFIG_XILLYUSB=m
 # CONFIG_RANDOM_TRUST_CPU is not set
 # CONFIG_RANDOM_TRUST_BOOTLOADER is not set
+# end of Character devices
 
 #
 # I2C support
@@ -4289,7 +4403,7 @@ CONFIG_I2C_MUX_MLXCPLD=m
 
 CONFIG_I2C_HELPER_AUTO=y
 CONFIG_I2C_SMBUS=m
-CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOBIT=y
 CONFIG_I2C_ALGOPCA=m
 
 #
@@ -4348,6 +4462,7 @@ CONFIG_I2C_XILINX=m
 #
 CONFIG_I2C_DIOLAN_U2C=m
 CONFIG_I2C_DLN2=m
+CONFIG_I2C_CP2615=m
 CONFIG_I2C_PARPORT=m
 CONFIG_I2C_ROBOTFUZZ_OSIF=m
 CONFIG_I2C_TAOS_EVM=m
@@ -4359,6 +4474,7 @@ CONFIG_I2C_VIPERBOARD=m
 #
 CONFIG_I2C_MLXCPLD=m
 CONFIG_I2C_CROS_EC_TUNNEL=m
+CONFIG_I2C_VIRTIO=m
 # end of I2C Hardware Bus support
 
 CONFIG_I2C_STUB=m
@@ -4380,6 +4496,8 @@ CONFIG_SPI_MEM=y
 # SPI Master Controller Drivers
 #
 CONFIG_SPI_ALTERA=m
+CONFIG_SPI_ALTERA_CORE=m
+CONFIG_SPI_ALTERA_DFL=m
 CONFIG_SPI_AXI_SPI_ENGINE=m
 CONFIG_SPI_BITBANG=m
 CONFIG_SPI_BUTTERFLY=m
@@ -4441,6 +4559,7 @@ CONFIG_PPS_CLIENT_GPIO=m
 # PTP clock support
 #
 CONFIG_PTP_1588_CLOCK=y
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
 CONFIG_DP83640_PHY=m
 CONFIG_PTP_1588_CLOCK_INES=m
 CONFIG_PTP_1588_CLOCK_KVM=m
@@ -4513,7 +4632,6 @@ CONFIG_GPIO_MB86S7X=m
 CONFIG_GPIO_MENZ127=m
 CONFIG_GPIO_SIOX=m
 CONFIG_GPIO_VX855=m
-CONFIG_GPIO_XILINX=m
 CONFIG_GPIO_AMD_FCH=m
 # end of Memory mapped GPIO drivers
 
@@ -4556,7 +4674,6 @@ CONFIG_GPIO_KEMPLD=m
 CONFIG_GPIO_LP3943=m
 CONFIG_GPIO_LP873X=m
 CONFIG_GPIO_MADERA=m
-CONFIG_GPIO_MSIC=y
 CONFIG_GPIO_PALMAS=y
 CONFIG_GPIO_RC5T583=y
 CONFIG_GPIO_TPS65086=m
@@ -4605,6 +4722,7 @@ CONFIG_GPIO_VIPERBOARD=m
 #
 CONFIG_GPIO_AGGREGATOR=m
 CONFIG_GPIO_MOCKUP=m
+CONFIG_GPIO_VIRTIO=m
 # end of Virtual GPIO drivers
 
 CONFIG_W1=m
@@ -4646,8 +4764,10 @@ CONFIG_W1_SLAVE_DS28E17=m
 # end of 1-wire Slaves
 
 CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_ATC260X=m
 CONFIG_POWER_RESET_MT6323=y
 CONFIG_POWER_RESET_RESTART=y
+CONFIG_POWER_RESET_TPS65086=y
 CONFIG_POWER_SUPPLY=y
 # CONFIG_POWER_SUPPLY_DEBUG is not set
 CONFIG_POWER_SUPPLY_HWMON=y
@@ -4696,11 +4816,13 @@ CONFIG_CHARGER_LP8788=m
 CONFIG_CHARGER_GPIO=m
 CONFIG_CHARGER_MANAGER=y
 CONFIG_CHARGER_LT3651=m
+CONFIG_CHARGER_LTC4162L=m
 CONFIG_CHARGER_MAX14577=m
 CONFIG_CHARGER_MAX77693=m
 CONFIG_CHARGER_MAX8997=m
 CONFIG_CHARGER_MAX8998=m
 CONFIG_CHARGER_MP2629=m
+CONFIG_CHARGER_MT6360=m
 CONFIG_CHARGER_BQ2415X=m
 CONFIG_CHARGER_BQ24190=m
 CONFIG_CHARGER_BQ24257=m
@@ -4708,14 +4830,19 @@ CONFIG_CHARGER_BQ24735=m
 CONFIG_CHARGER_BQ2515X=m
 CONFIG_CHARGER_BQ25890=m
 CONFIG_CHARGER_BQ25980=m
+CONFIG_CHARGER_BQ256XX=m
 CONFIG_CHARGER_SMB347=m
 CONFIG_CHARGER_TPS65090=m
 CONFIG_BATTERY_GAUGE_LTC2941=m
+CONFIG_BATTERY_GOLDFISH=m
 CONFIG_BATTERY_RT5033=m
 CONFIG_CHARGER_RT9455=m
 CONFIG_CHARGER_CROS_USBPD=m
+CONFIG_CHARGER_CROS_PCHG=m
 CONFIG_CHARGER_BD99954=m
 CONFIG_CHARGER_WILCO=m
+CONFIG_BATTERY_SURFACE=m
+CONFIG_CHARGER_SURFACE=m
 CONFIG_HWMON=y
 CONFIG_HWMON_VID=m
 # CONFIG_HWMON_DEBUG_CHIP is not set
@@ -4742,13 +4869,14 @@ CONFIG_SENSORS_ADT7411=m
 CONFIG_SENSORS_ADT7462=m
 CONFIG_SENSORS_ADT7470=m
 CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_AHT10=m
+CONFIG_SENSORS_AQUACOMPUTER_D5NEXT=m
 CONFIG_SENSORS_AS370=m
 CONFIG_SENSORS_ASC7621=m
 CONFIG_SENSORS_AXI_FAN_CONTROL=m
 CONFIG_SENSORS_K8TEMP=m
 CONFIG_SENSORS_K10TEMP=m
 CONFIG_SENSORS_FAM15H_POWER=m
-CONFIG_SENSORS_AMD_ENERGY=m
 CONFIG_SENSORS_APPLESMC=m
 CONFIG_SENSORS_ASB100=m
 CONFIG_SENSORS_ASPEED=m
@@ -4811,6 +4939,7 @@ CONFIG_SENSORS_MAX31790=m
 CONFIG_SENSORS_MCP3021=m
 CONFIG_SENSORS_MLXREG_FAN=m
 CONFIG_SENSORS_TC654=m
+CONFIG_SENSORS_TPS23861=m
 CONFIG_SENSORS_MENF21BMC_HWMON=m
 CONFIG_SENSORS_MR75203=m
 CONFIG_SENSORS_ADCXX=m
@@ -4838,15 +4967,20 @@ CONFIG_SENSORS_NCT6775=m
 CONFIG_SENSORS_NCT7802=m
 CONFIG_SENSORS_NCT7904=m
 CONFIG_SENSORS_NPCM7XX=m
+CONFIG_SENSORS_NZXT_KRAKEN2=m
 CONFIG_SENSORS_PCF8591=m
 CONFIG_PMBUS=m
 CONFIG_SENSORS_PMBUS=m
 CONFIG_SENSORS_ADM1266=m
 CONFIG_SENSORS_ADM1275=m
 CONFIG_SENSORS_BEL_PFE=m
+CONFIG_SENSORS_BPA_RS600=m
+CONFIG_SENSORS_FSP_3Y=m
 CONFIG_SENSORS_IBM_CFFPS=m
+CONFIG_SENSORS_DPS920AB=m
 CONFIG_SENSORS_INSPUR_IPSPS=m
 CONFIG_SENSORS_IR35221=m
+CONFIG_SENSORS_IR36021=m
 CONFIG_SENSORS_IR38064=m
 CONFIG_SENSORS_IRPS5401=m
 CONFIG_SENSORS_ISL68137=m
@@ -4854,6 +4988,7 @@ CONFIG_SENSORS_LM25066=m
 CONFIG_SENSORS_LTC2978=m
 # CONFIG_SENSORS_LTC2978_REGULATOR is not set
 CONFIG_SENSORS_LTC3815=m
+CONFIG_SENSORS_MAX15301=m
 CONFIG_SENSORS_MAX16064=m
 CONFIG_SENSORS_MAX16601=m
 CONFIG_SENSORS_MAX20730=m
@@ -4861,10 +4996,13 @@ CONFIG_SENSORS_MAX20751=m
 CONFIG_SENSORS_MAX31785=m
 CONFIG_SENSORS_MAX34440=m
 CONFIG_SENSORS_MAX8688=m
+CONFIG_SENSORS_MP2888=m
 CONFIG_SENSORS_MP2975=m
+CONFIG_SENSORS_PIM4328=m
 CONFIG_SENSORS_PM6764TR=m
 CONFIG_SENSORS_PXE1610=m
 CONFIG_SENSORS_Q54SJ108A2=m
+CONFIG_SENSORS_STPDDC60=m
 CONFIG_SENSORS_TPS40422=m
 CONFIG_SENSORS_TPS53679=m
 CONFIG_SENSORS_UCD9000=m
@@ -4872,9 +5010,11 @@ CONFIG_SENSORS_UCD9200=m
 CONFIG_SENSORS_XDPE122=m
 CONFIG_SENSORS_ZL6100=m
 CONFIG_SENSORS_SBTSI=m
+CONFIG_SENSORS_SBRMI=m
 CONFIG_SENSORS_SHT15=m
 CONFIG_SENSORS_SHT21=m
 CONFIG_SENSORS_SHT3x=m
+CONFIG_SENSORS_SHT4x=m
 CONFIG_SENSORS_SHTC1=m
 CONFIG_SENSORS_SIS5595=m
 CONFIG_SENSORS_DME1737=m
@@ -4951,6 +5091,7 @@ CONFIG_DEVFREQ_THERMAL=y
 # Intel thermal drivers
 #
 CONFIG_INTEL_POWERCLAMP=m
+CONFIG_X86_THERMAL_VECTOR=y
 CONFIG_X86_PKG_TEMP_THERMAL=m
 CONFIG_INTEL_SOC_DTS_IOSF_CORE=m
 CONFIG_INTEL_SOC_DTS_THERMAL=m
@@ -4966,6 +5107,8 @@ CONFIG_PROC_THERMAL_MMIO_RAPL=m
 
 CONFIG_INTEL_BXT_PMIC_THERMAL=m
 CONFIG_INTEL_PCH_THERMAL=m
+CONFIG_INTEL_TCC_COOLING=m
+CONFIG_INTEL_MENLOW=m
 # end of Intel thermal drivers
 
 CONFIG_GENERIC_ADC_THERMAL=m
@@ -4975,6 +5118,7 @@ CONFIG_WATCHDOG_CORE=y
 CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
 CONFIG_WATCHDOG_OPEN_TIMEOUT=0
 CONFIG_WATCHDOG_SYSFS=y
+# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set
 
 #
 # Watchdog Pretimeout Governors
@@ -5131,7 +5275,6 @@ CONFIG_INTEL_SOC_PMIC_MRFLD=m
 CONFIG_MFD_INTEL_LPSS=m
 CONFIG_MFD_INTEL_LPSS_ACPI=m
 CONFIG_MFD_INTEL_LPSS_PCI=m
-CONFIG_MFD_INTEL_MSIC=y
 CONFIG_MFD_INTEL_PMC_BXT=m
 CONFIG_MFD_INTEL_PMT=m
 CONFIG_MFD_IQS62X=m
@@ -5158,16 +5301,13 @@ CONFIG_PCF50633_ADC=m
 CONFIG_PCF50633_GPIO=m
 CONFIG_UCB1400_CORE=m
 CONFIG_MFD_RDC321X=m
+CONFIG_MFD_RT4831=m
 CONFIG_MFD_RT5033=m
 CONFIG_MFD_RC5T583=y
-CONFIG_MFD_SEC_CORE=y
 CONFIG_MFD_SI476X_CORE=m
 CONFIG_MFD_SM501=m
 CONFIG_MFD_SM501_GPIO=y
 CONFIG_MFD_SKY81452=m
-CONFIG_ABX500_CORE=y
-CONFIG_AB3100_CORE=y
-CONFIG_AB3100_OTP=y
 CONFIG_MFD_SYSCON=y
 CONFIG_MFD_TI_AM335X_TSCADC=m
 CONFIG_MFD_LP3943=m
@@ -5179,7 +5319,6 @@ CONFIG_TPS65010=m
 CONFIG_TPS6507X=m
 CONFIG_MFD_TPS65086=m
 CONFIG_MFD_TPS65090=y
-CONFIG_MFD_TPS68470=y
 CONFIG_MFD_TI_LP873X=m
 CONFIG_MFD_TPS6586X=y
 CONFIG_MFD_TPS65910=y
@@ -5194,7 +5333,7 @@ CONFIG_MFD_WL1273_CORE=m
 CONFIG_MFD_LM3533=m
 CONFIG_MFD_TQMX86=m
 CONFIG_MFD_VX855=m
-CONFIG_MFD_ARIZONA=y
+CONFIG_MFD_ARIZONA=m
 CONFIG_MFD_ARIZONA_I2C=m
 CONFIG_MFD_ARIZONA_SPI=m
 CONFIG_MFD_CS47L24=y
@@ -5210,6 +5349,8 @@ CONFIG_MFD_WM8350=y
 CONFIG_MFD_WM8350_I2C=y
 CONFIG_MFD_WM8994=m
 CONFIG_MFD_WCD934X=m
+CONFIG_MFD_ATC260X=m
+CONFIG_MFD_ATC260X_I2C=m
 CONFIG_RAVE_SP_CORE=m
 CONFIG_MFD_INTEL_M10_BMC=m
 # end of Multifunction device drivers
@@ -5225,10 +5366,10 @@ CONFIG_REGULATOR_88PM8607=m
 CONFIG_REGULATOR_ACT8865=m
 CONFIG_REGULATOR_AD5398=m
 CONFIG_REGULATOR_AAT2870=m
-CONFIG_REGULATOR_AB3100=m
 CONFIG_REGULATOR_ARIZONA_LDO1=m
 CONFIG_REGULATOR_ARIZONA_MICSUPP=m
 CONFIG_REGULATOR_AS3711=m
+CONFIG_REGULATOR_ATC260X=m
 CONFIG_REGULATOR_AXP20X=m
 CONFIG_REGULATOR_BCM590XX=m
 CONFIG_REGULATOR_BD9571MWV=m
@@ -5254,6 +5395,7 @@ CONFIG_REGULATOR_MAX14577=m
 CONFIG_REGULATOR_MAX1586=m
 CONFIG_REGULATOR_MAX8649=m
 CONFIG_REGULATOR_MAX8660=m
+CONFIG_REGULATOR_MAX8893=m
 CONFIG_REGULATOR_MAX8907=m
 CONFIG_REGULATOR_MAX8925=m
 CONFIG_REGULATOR_MAX8952=m
@@ -5268,6 +5410,7 @@ CONFIG_REGULATOR_MP8859=m
 CONFIG_REGULATOR_MT6311=m
 CONFIG_REGULATOR_MT6323=m
 CONFIG_REGULATOR_MT6358=m
+CONFIG_REGULATOR_MT6359=m
 CONFIG_REGULATOR_MT6360=m
 CONFIG_REGULATOR_MT6397=m
 CONFIG_REGULATOR_PALMAS=m
@@ -5281,11 +5424,13 @@ CONFIG_REGULATOR_PWM=m
 CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=m
 CONFIG_REGULATOR_RC5T583=m
 CONFIG_REGULATOR_RT4801=m
+CONFIG_REGULATOR_RT4831=m
 CONFIG_REGULATOR_RT5033=m
+CONFIG_REGULATOR_RT6160=m
+CONFIG_REGULATOR_RT6245=m
+CONFIG_REGULATOR_RTQ2134=m
 CONFIG_REGULATOR_RTMV20=m
-CONFIG_REGULATOR_S2MPA01=m
-CONFIG_REGULATOR_S2MPS11=m
-CONFIG_REGULATOR_S5M8767=m
+CONFIG_REGULATOR_RTQ6752=m
 CONFIG_REGULATOR_SKY81452=m
 CONFIG_REGULATOR_SLG51000=m
 CONFIG_REGULATOR_TPS51632=m
@@ -5343,7 +5488,7 @@ CONFIG_IR_SERIAL_TRANSMITTER=y
 CONFIG_IR_SIR=m
 CONFIG_RC_XBOX_DVD=m
 CONFIG_IR_TOY=m
-CONFIG_CEC_CORE=m
+CONFIG_CEC_CORE=y
 CONFIG_CEC_NOTIFIER=y
 CONFIG_CEC_PIN=y
 CONFIG_MEDIA_CEC_RC=y
@@ -5388,6 +5533,7 @@ CONFIG_VIDEO_TUNER=m
 CONFIG_V4L2_MEM2MEM_DEV=m
 CONFIG_V4L2_FLASH_LED_CLASS=m
 CONFIG_V4L2_FWNODE=m
+CONFIG_V4L2_ASYNC=m
 CONFIG_VIDEOBUF_GEN=m
 CONFIG_VIDEOBUF_DMA_SG=m
 CONFIG_VIDEOBUF_VMALLOC=m
@@ -5422,7 +5568,6 @@ CONFIG_DVB_DYNAMIC_MINORS=y
 #
 # Drivers filtered as selected at 'Filter media drivers'
 #
-CONFIG_TTPCI_EEPROM=m
 CONFIG_MEDIA_USB_SUPPORT=y
 
 #
@@ -5593,10 +5738,8 @@ CONFIG_VIDEO_TW686X=m
 # Media capture/analog TV support
 #
 CONFIG_VIDEO_IVTV=m
-# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
 CONFIG_VIDEO_IVTV_ALSA=m
-CONFIG_VIDEO_FB_IVTV=m
-# CONFIG_VIDEO_FB_IVTV_FORCE_PAT is not set
+# CONFIG_VIDEO_FB_IVTV is not set
 CONFIG_VIDEO_HEXIUM_GEMINI=m
 CONFIG_VIDEO_HEXIUM_ORION=m
 CONFIG_VIDEO_MXB=m
@@ -5630,14 +5773,10 @@ CONFIG_VIDEO_SAA7164=m
 #
 # Media digital TV PCI Adapters
 #
-CONFIG_DVB_AV7110_IR=y
-CONFIG_DVB_AV7110=m
-CONFIG_DVB_AV7110_OSD=y
 CONFIG_DVB_BUDGET_CORE=m
 CONFIG_DVB_BUDGET=m
 CONFIG_DVB_BUDGET_CI=m
 CONFIG_DVB_BUDGET_AV=m
-CONFIG_DVB_BUDGET_PATCH=m
 CONFIG_DVB_B2C2_FLEXCOP_PCI=m
 # CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set
 CONFIG_DVB_PLUTO2=m
@@ -5653,6 +5792,7 @@ CONFIG_DVB_DDBRIDGE=m
 CONFIG_DVB_SMIPCIE=m
 CONFIG_DVB_NETUP_UNIDVB=m
 CONFIG_VIDEO_IPU3_CIO2=m
+CONFIG_CIO2_BRIDGE=y
 CONFIG_RADIO_ADAPTERS=y
 CONFIG_RADIO_TEA575X=m
 CONFIG_RADIO_SI470X=m
@@ -5683,6 +5823,7 @@ CONFIG_MEDIA_COMMON_OPTIONS=y
 #
 CONFIG_VIDEO_CX2341X=m
 CONFIG_VIDEO_TVEEPROM=m
+CONFIG_TTPCI_EEPROM=m
 CONFIG_CYPRESS_FIRMWARE=m
 CONFIG_VIDEOBUF2_CORE=m
 CONFIG_VIDEOBUF2_V4L2=m
@@ -5782,6 +5923,7 @@ CONFIG_VIDEO_M52790=m
 CONFIG_VIDEO_APTINA_PLL=m
 CONFIG_VIDEO_CCS_PLL=m
 CONFIG_VIDEO_HI556=m
+CONFIG_VIDEO_IMX208=m
 CONFIG_VIDEO_IMX214=m
 CONFIG_VIDEO_IMX219=m
 CONFIG_VIDEO_IMX258=m
@@ -5796,6 +5938,7 @@ CONFIG_VIDEO_OV2680=m
 CONFIG_VIDEO_OV2685=m
 CONFIG_VIDEO_OV2740=m
 CONFIG_VIDEO_OV5647=m
+CONFIG_VIDEO_OV5648=m
 CONFIG_VIDEO_OV6650=m
 CONFIG_VIDEO_OV5670=m
 CONFIG_VIDEO_OV5675=m
@@ -5806,6 +5949,7 @@ CONFIG_VIDEO_OV7640=m
 CONFIG_VIDEO_OV7670=m
 CONFIG_VIDEO_OV7740=m
 CONFIG_VIDEO_OV8856=m
+CONFIG_VIDEO_OV8865=m
 CONFIG_VIDEO_OV9640=m
 CONFIG_VIDEO_OV9650=m
 CONFIG_VIDEO_OV9734=m
@@ -5823,7 +5967,9 @@ CONFIG_VIDEO_MT9V111=m
 CONFIG_VIDEO_SR030PC30=m
 CONFIG_VIDEO_NOON010PC30=m
 CONFIG_VIDEO_M5MOLS=m
+CONFIG_VIDEO_MAX9271_LIB=m
 CONFIG_VIDEO_RDACM20=m
+CONFIG_VIDEO_RDACM21=m
 CONFIG_VIDEO_RJ54N1=m
 CONFIG_VIDEO_S5K6AA=m
 CONFIG_VIDEO_S5K6A3=m
@@ -5963,7 +6109,6 @@ CONFIG_DVB_TDA10071=m
 #
 # DVB-T (terrestrial) frontends
 #
-CONFIG_DVB_SP8870=m
 CONFIG_DVB_SP887X=m
 CONFIG_DVB_CX22700=m
 CONFIG_DVB_CX22702=m
@@ -6014,6 +6159,7 @@ CONFIG_DVB_AU8522=m
 CONFIG_DVB_AU8522_DTV=m
 CONFIG_DVB_AU8522_V4L=m
 CONFIG_DVB_S5H1411=m
+CONFIG_DVB_MXL692=m
 
 #
 # ISDB-T (terrestrial) frontends
@@ -6070,7 +6216,7 @@ CONFIG_DVB_DUMMY_FE=m
 #
 # Graphics support
 #
-CONFIG_AGP=m
+CONFIG_AGP=y
 CONFIG_AGP_AMD64=m
 CONFIG_AGP_INTEL=m
 CONFIG_AGP_SIS=m
@@ -6079,13 +6225,13 @@ CONFIG_INTEL_GTT=m
 CONFIG_VGA_ARB=y
 CONFIG_VGA_ARB_MAX_GPUS=10
 CONFIG_VGA_SWITCHEROO=y
-CONFIG_DRM=m
+CONFIG_DRM=y
 CONFIG_DRM_MIPI_DBI=m
 CONFIG_DRM_MIPI_DSI=y
 CONFIG_DRM_DP_AUX_CHARDEV=y
+# CONFIG_DRM_DEBUG_MM is not set
 # CONFIG_DRM_DEBUG_SELFTEST is not set
-CONFIG_DRM_KMS_HELPER=m
-CONFIG_DRM_KMS_FB_HELPER=y
+CONFIG_DRM_KMS_HELPER=y
 CONFIG_DRM_FBDEV_EMULATION=y
 CONFIG_DRM_FBDEV_OVERALLOC=100
 CONFIG_DRM_LOAD_EDID_FIRMWARE=y
@@ -6118,7 +6264,6 @@ CONFIG_DRM_AMDGPU=m
 CONFIG_DRM_AMDGPU_SI=y
 CONFIG_DRM_AMDGPU_CIK=y
 CONFIG_DRM_AMDGPU_USERPTR=y
-# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
 
 #
 # ACP (Audio CoProcessor) Configuration
@@ -6133,9 +6278,11 @@ CONFIG_DRM_AMD_DC=y
 CONFIG_DRM_AMD_DC_DCN=y
 CONFIG_DRM_AMD_DC_HDCP=y
 CONFIG_DRM_AMD_DC_SI=y
+CONFIG_DRM_AMD_SECURE_DISPLAY=y
 # end of Display Engine Configuration
 
 CONFIG_HSA_AMD=y
+CONFIG_HSA_AMD_SVM=y
 CONFIG_DRM_NOUVEAU=m
 # CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT is not set
 CONFIG_NOUVEAU_DEBUG=5
@@ -6151,6 +6298,7 @@ CONFIG_DRM_I915_COMPRESS_ERROR=y
 CONFIG_DRM_I915_USERPTR=y
 CONFIG_DRM_I915_GVT=y
 CONFIG_DRM_I915_GVT_KVMGT=m
+CONFIG_DRM_I915_REQUEST_TIMEOUT=20000
 CONFIG_DRM_I915_FENCE_TIMEOUT=10000
 CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250
 CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500
@@ -6162,14 +6310,12 @@ CONFIG_DRM_VGEM=m
 CONFIG_DRM_VKMS=m
 CONFIG_DRM_VMWGFX=m
 CONFIG_DRM_VMWGFX_FBCON=y
+CONFIG_DRM_VMWGFX_MKSSTATS=y
 CONFIG_DRM_GMA500=m
-CONFIG_DRM_GMA600=y
-CONFIG_DRM_GMA3600=y
 CONFIG_DRM_UDL=m
 CONFIG_DRM_AST=m
 CONFIG_DRM_MGAG200=m
 CONFIG_DRM_QXL=m
-CONFIG_DRM_BOCHS=m
 CONFIG_DRM_VIRTIO_GPU=m
 CONFIG_DRM_PANEL=y
 
@@ -6177,6 +6323,7 @@ CONFIG_DRM_PANEL=y
 # Display Panels
 #
 CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
+CONFIG_DRM_PANEL_WIDECHIPS_WS2401=m
 # end of Display Panels
 
 CONFIG_DRM_BRIDGE=y
@@ -6190,8 +6337,10 @@ CONFIG_DRM_ANALOGIX_DP=m
 # end of Display Interface Bridges
 
 # CONFIG_DRM_ETNAVIV is not set
+CONFIG_DRM_BOCHS=m
 CONFIG_DRM_CIRRUS_QEMU=m
 CONFIG_DRM_GM12U320=m
+CONFIG_DRM_SIMPLEDRM=y
 CONFIG_TINYDRM_HX8357D=m
 CONFIG_TINYDRM_ILI9225=m
 CONFIG_TINYDRM_ILI9341=m
@@ -6203,6 +6352,8 @@ CONFIG_TINYDRM_ST7735R=m
 CONFIG_DRM_XEN=y
 CONFIG_DRM_XEN_FRONTEND=m
 CONFIG_DRM_VBOXVIDEO=m
+CONFIG_DRM_GUD=m
+CONFIG_DRM_HYPERV=m
 # CONFIG_DRM_LEGACY is not set
 CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
 
@@ -6217,13 +6368,13 @@ CONFIG_FB_BOOT_VESA_SUPPORT=y
 CONFIG_FB_CFB_FILLRECT=y
 CONFIG_FB_CFB_COPYAREA=y
 CONFIG_FB_CFB_IMAGEBLIT=y
-CONFIG_FB_SYS_FILLRECT=m
-CONFIG_FB_SYS_COPYAREA=m
-CONFIG_FB_SYS_IMAGEBLIT=m
+CONFIG_FB_SYS_FILLRECT=y
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_IMAGEBLIT=y
 # CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_SYS_FOPS=y
 CONFIG_FB_DEFERRED_IO=y
-# CONFIG_FB_MODE_HELPERS is not set
+CONFIG_FB_MODE_HELPERS=y
 CONFIG_FB_TILEBLITTING=y
 
 #
@@ -6269,11 +6420,11 @@ CONFIG_FB_EFI=y
 # CONFIG_FB_UDL is not set
 # CONFIG_FB_IBM_GXT4500 is not set
 # CONFIG_FB_VIRTUAL is not set
-CONFIG_XEN_FBDEV_FRONTEND=m
+# CONFIG_XEN_FBDEV_FRONTEND is not set
 # CONFIG_FB_METRONOME is not set
 # CONFIG_FB_MB862XX is not set
-CONFIG_FB_HYPERV=m
-CONFIG_FB_SIMPLE=y
+# CONFIG_FB_HYPERV is not set
+# CONFIG_FB_SSD1307 is not set
 # CONFIG_FB_SM712 is not set
 # end of Frame buffer Devices
 
@@ -6302,6 +6453,7 @@ CONFIG_BACKLIGHT_DA9052=m
 CONFIG_BACKLIGHT_MAX8925=m
 CONFIG_BACKLIGHT_APPLE=m
 CONFIG_BACKLIGHT_QCOM_WLED=m
+CONFIG_BACKLIGHT_RT4831=m
 CONFIG_BACKLIGHT_SAHARA=m
 CONFIG_BACKLIGHT_WM831X=m
 CONFIG_BACKLIGHT_ADP5520=m
@@ -6374,8 +6526,10 @@ CONFIG_SND_DEBUG=y
 # CONFIG_SND_DEBUG_VERBOSE is not set
 # CONFIG_SND_PCM_XRUN_DEBUG is not set
 # CONFIG_SND_CTL_VALIDATION is not set
+# CONFIG_SND_JACK_INJECTION_DEBUG is not set
 CONFIG_SND_VMASTER=y
 CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_CTL_LED=m
 CONFIG_SND_SEQUENCER=m
 CONFIG_SND_SEQ_DUMMY=m
 CONFIG_SND_SEQUENCER_OSS=m
@@ -6493,6 +6647,7 @@ CONFIG_SND_HDA_CODEC_SIGMATEL=m
 CONFIG_SND_HDA_CODEC_VIA=m
 CONFIG_SND_HDA_CODEC_HDMI=m
 CONFIG_SND_HDA_CODEC_CIRRUS=m
+CONFIG_SND_HDA_CODEC_CS8409=m
 CONFIG_SND_HDA_CODEC_CONEXANT=m
 CONFIG_SND_HDA_CODEC_CA0110=m
 CONFIG_SND_HDA_CODEC_CA0132=m
@@ -6512,6 +6667,8 @@ CONFIG_SND_HDA_EXT_CORE=m
 CONFIG_SND_HDA_PREALLOC_SIZE=0
 CONFIG_SND_INTEL_NHLT=y
 CONFIG_SND_INTEL_DSP_CONFIG=m
+CONFIG_SND_INTEL_SOUNDWIRE_ACPI=m
+# CONFIG_SND_INTEL_BYT_PREFER_SOF is not set
 CONFIG_SND_SPI=y
 CONFIG_SND_USB=y
 CONFIG_SND_USB_AUDIO=m
@@ -6559,6 +6716,7 @@ CONFIG_SND_SOC_AMD_ACP3x=m
 CONFIG_SND_SOC_AMD_RV_RT5682_MACH=m
 CONFIG_SND_SOC_AMD_RENOIR=m
 CONFIG_SND_SOC_AMD_RENOIR_MACH=m
+CONFIG_SND_SOC_AMD_ACP5x=m
 CONFIG_SND_ATMEL_SOC=m
 # CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
 CONFIG_SND_DESIGNWARE_I2S=m
@@ -6579,6 +6737,7 @@ CONFIG_SND_DESIGNWARE_PCM=y
 # CONFIG_SND_SOC_FSL_ESAI is not set
 # CONFIG_SND_SOC_FSL_MICFIL is not set
 CONFIG_SND_SOC_FSL_XCVR=m
+CONFIG_SND_SOC_FSL_RPMSG=m
 # CONFIG_SND_SOC_IMX_AUDMUX is not set
 # end of SoC Audio for Freescale CPUs
 
@@ -6612,12 +6771,15 @@ CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m
 CONFIG_SND_SOC_ACPI_INTEL_MATCH=m
 CONFIG_SND_SOC_INTEL_MACH=y
 CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y
+CONFIG_SND_SOC_INTEL_HDA_DSP_COMMON=m
+CONFIG_SND_SOC_INTEL_SOF_MAXIM_COMMON=m
 CONFIG_SND_SOC_INTEL_HASWELL_MACH=m
 CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m
 CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m
 CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
 CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
 CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m
+CONFIG_SND_SOC_INTEL_BYTCR_WM5102_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m
@@ -6643,6 +6805,7 @@ CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH=m
 CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH=m
 CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m
 CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m
+CONFIG_SND_SOC_INTEL_SOF_CS42L42_MACH=m
 CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m
 CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH=m
 CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m
@@ -6651,50 +6814,39 @@ CONFIG_SND_SOC_INTEL_EHL_RT5660_MACH=m
 CONFIG_SND_SOC_INTEL_SOUNDWIRE_SOF_MACH=m
 CONFIG_SND_SOC_MTK_BTCVSD=m
 CONFIG_SND_SOC_SOF_TOPLEVEL=y
+CONFIG_SND_SOC_SOF_PCI_DEV=m
 CONFIG_SND_SOC_SOF_PCI=m
 CONFIG_SND_SOC_SOF_ACPI=m
+CONFIG_SND_SOC_SOF_ACPI_DEV=m
 # CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set
 CONFIG_SND_SOC_SOF=m
 CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE=y
 CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y
-CONFIG_SND_SOC_SOF_INTEL_ACPI=m
-CONFIG_SND_SOC_SOF_INTEL_PCI=m
 CONFIG_SND_SOC_SOF_INTEL_HIFI_EP_IPC=m
 CONFIG_SND_SOC_SOF_INTEL_ATOM_HIFI_EP=m
 CONFIG_SND_SOC_SOF_INTEL_COMMON=m
-CONFIG_SND_SOC_SOF_BAYTRAIL_SUPPORT=y
 CONFIG_SND_SOC_SOF_BAYTRAIL=m
-# CONFIG_SND_SOC_SOF_BROADWELL_SUPPORT is not set
-CONFIG_SND_SOC_SOF_MERRIFIELD_SUPPORT=y
+# CONFIG_SND_SOC_SOF_BROADWELL is not set
 CONFIG_SND_SOC_SOF_MERRIFIELD=m
-CONFIG_SND_SOC_SOF_APOLLOLAKE_SUPPORT=y
+CONFIG_SND_SOC_SOF_INTEL_APL=m
 CONFIG_SND_SOC_SOF_APOLLOLAKE=m
-CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT=y
 CONFIG_SND_SOC_SOF_GEMINILAKE=m
-CONFIG_SND_SOC_SOF_CANNONLAKE_SUPPORT=y
+CONFIG_SND_SOC_SOF_INTEL_CNL=m
 CONFIG_SND_SOC_SOF_CANNONLAKE=m
-CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT=y
 CONFIG_SND_SOC_SOF_COFFEELAKE=m
-CONFIG_SND_SOC_SOF_ICELAKE_SUPPORT=y
-CONFIG_SND_SOC_SOF_ICELAKE=m
 CONFIG_SND_SOC_SOF_COMETLAKE=m
-CONFIG_SND_SOC_SOF_COMETLAKE_SUPPORT=y
-CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT=y
-CONFIG_SND_SOC_SOF_TIGERLAKE_SUPPORT=y
+CONFIG_SND_SOC_SOF_INTEL_ICL=m
+CONFIG_SND_SOC_SOF_ICELAKE=m
+CONFIG_SND_SOC_SOF_JASPERLAKE=m
+CONFIG_SND_SOC_SOF_INTEL_TGL=m
 CONFIG_SND_SOC_SOF_TIGERLAKE=m
-CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT=y
 CONFIG_SND_SOC_SOF_ELKHARTLAKE=m
-CONFIG_SND_SOC_SOF_JASPERLAKE_SUPPORT=y
-CONFIG_SND_SOC_SOF_JASPERLAKE=m
-CONFIG_SND_SOC_SOF_ALDERLAKE_SUPPORT=y
 CONFIG_SND_SOC_SOF_ALDERLAKE=m
 CONFIG_SND_SOC_SOF_HDA_COMMON=m
 CONFIG_SND_SOC_SOF_HDA_LINK=y
 CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y
-# CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 is not set
 CONFIG_SND_SOC_SOF_HDA_LINK_BASELINE=m
 CONFIG_SND_SOC_SOF_HDA=m
-CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE_LINK=y
 CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE=m
 CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE=m
 CONFIG_SND_SOC_SOF_XTENSA=m
@@ -6708,12 +6860,13 @@ CONFIG_SND_SOC_XILINX_I2S=m
 CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER=m
 CONFIG_SND_SOC_XILINX_SPDIF=m
 CONFIG_SND_SOC_XTFPGA_I2S=m
-CONFIG_ZX_TDM=m
 CONFIG_SND_SOC_I2C_AND_SPI=m
 
 #
 # CODEC drivers
 #
+CONFIG_SND_SOC_ARIZONA=m
+CONFIG_SND_SOC_WM_ADSP=m
 CONFIG_SND_SOC_AC97_CODEC=m
 CONFIG_SND_SOC_ADAU_UTILS=m
 CONFIG_SND_SOC_ADAU1372=m
@@ -6777,6 +6930,7 @@ CONFIG_SND_SOC_ES8328_SPI=m
 CONFIG_SND_SOC_GTM601=m
 CONFIG_SND_SOC_HDAC_HDMI=m
 CONFIG_SND_SOC_HDAC_HDA=m
+CONFIG_SND_SOC_ICS43432=m
 CONFIG_SND_SOC_INNO_RK3036=m
 CONFIG_SND_SOC_MAX98088=m
 CONFIG_SND_SOC_MAX98090=m
@@ -6816,8 +6970,10 @@ CONFIG_SND_SOC_RT286=m
 CONFIG_SND_SOC_RT298=m
 CONFIG_SND_SOC_RT1011=m
 CONFIG_SND_SOC_RT1015=m
+CONFIG_SND_SOC_RT1015P=m
 CONFIG_SND_SOC_RT1308=m
 CONFIG_SND_SOC_RT1308_SDW=m
+CONFIG_SND_SOC_RT1316_SDW=m
 CONFIG_SND_SOC_RT5514=m
 CONFIG_SND_SOC_RT5514_SPI=m
 CONFIG_SND_SOC_RT5616=m
@@ -6825,6 +6981,7 @@ CONFIG_SND_SOC_RT5631=m
 CONFIG_SND_SOC_RT5640=m
 CONFIG_SND_SOC_RT5645=m
 CONFIG_SND_SOC_RT5651=m
+CONFIG_SND_SOC_RT5659=m
 CONFIG_SND_SOC_RT5660=m
 CONFIG_SND_SOC_RT5663=m
 CONFIG_SND_SOC_RT5670=m
@@ -6837,8 +6994,11 @@ CONFIG_SND_SOC_RT700=m
 CONFIG_SND_SOC_RT700_SDW=m
 CONFIG_SND_SOC_RT711=m
 CONFIG_SND_SOC_RT711_SDW=m
+CONFIG_SND_SOC_RT711_SDCA_SDW=m
 CONFIG_SND_SOC_RT715=m
 CONFIG_SND_SOC_RT715_SDW=m
+CONFIG_SND_SOC_RT715_SDCA_SDW=m
+# CONFIG_SND_SOC_SDW_MOCKUP is not set
 CONFIG_SND_SOC_SGTL5000=m
 CONFIG_SND_SOC_SI476X=m
 CONFIG_SND_SOC_SIGMADSP=m
@@ -6846,9 +7006,9 @@ CONFIG_SND_SOC_SIGMADSP_I2C=m
 CONFIG_SND_SOC_SIGMADSP_REGMAP=m
 CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
 CONFIG_SND_SOC_SIMPLE_MUX=m
-CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m
 CONFIG_SND_SOC_SPDIF=m
 CONFIG_SND_SOC_SSM2305=m
+CONFIG_SND_SOC_SSM2518=m
 CONFIG_SND_SOC_SSM2602=m
 CONFIG_SND_SOC_SSM2602_SPI=m
 CONFIG_SND_SOC_SSM2602_I2C=m
@@ -6866,6 +7026,7 @@ CONFIG_SND_SOC_TAS5720=m
 CONFIG_SND_SOC_TAS6424=m
 CONFIG_SND_SOC_TDA7419=m
 CONFIG_SND_SOC_TFA9879=m
+CONFIG_SND_SOC_TFA989X=m
 CONFIG_SND_SOC_TLV320AIC23=m
 CONFIG_SND_SOC_TLV320AIC23_I2C=m
 CONFIG_SND_SOC_TLV320AIC23_SPI=m
@@ -6874,13 +7035,19 @@ CONFIG_SND_SOC_TLV320AIC32X4=m
 CONFIG_SND_SOC_TLV320AIC32X4_I2C=m
 CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
 CONFIG_SND_SOC_TLV320AIC3X=m
+CONFIG_SND_SOC_TLV320AIC3X_I2C=m
+CONFIG_SND_SOC_TLV320AIC3X_SPI=m
 CONFIG_SND_SOC_TLV320ADCX140=m
 CONFIG_SND_SOC_TS3A227E=m
 CONFIG_SND_SOC_TSCS42XX=m
 CONFIG_SND_SOC_TSCS454=m
 CONFIG_SND_SOC_UDA1334=m
 CONFIG_SND_SOC_WCD9335=m
+CONFIG_SND_SOC_WCD_MBHC=m
 CONFIG_SND_SOC_WCD934X=m
+CONFIG_SND_SOC_WCD938X=m
+CONFIG_SND_SOC_WCD938X_SDW=m
+CONFIG_SND_SOC_WM5102=m
 CONFIG_SND_SOC_WM8510=m
 CONFIG_SND_SOC_WM8523=m
 CONFIG_SND_SOC_WM8524=m
@@ -6907,7 +7074,6 @@ CONFIG_SND_SOC_WM8978=m
 CONFIG_SND_SOC_WM8985=m
 CONFIG_SND_SOC_WSA881X=m
 CONFIG_SND_SOC_ZL38060=m
-CONFIG_SND_SOC_ZX_AUD96P22=m
 CONFIG_SND_SOC_MAX9759=m
 CONFIG_SND_SOC_MT6351=m
 CONFIG_SND_SOC_MT6358=m
@@ -6921,6 +7087,8 @@ CONFIG_SND_SOC_NAU8825=m
 CONFIG_SND_SOC_TPA6130A2=m
 CONFIG_SND_SOC_LPASS_WSA_MACRO=m
 CONFIG_SND_SOC_LPASS_VA_MACRO=m
+CONFIG_SND_SOC_LPASS_RX_MACRO=m
+CONFIG_SND_SOC_LPASS_TX_MACRO=m
 # end of CODEC drivers
 
 CONFIG_SND_SIMPLE_CARD_UTILS=m
@@ -6929,6 +7097,7 @@ CONFIG_SND_X86=y
 CONFIG_HDMI_LPE_AUDIO=m
 CONFIG_SND_SYNTH_EMUX=m
 CONFIG_SND_XEN_FRONTEND=m
+CONFIG_SND_VIRTIO=m
 CONFIG_AC97_BUS=m
 
 #
@@ -6971,6 +7140,7 @@ CONFIG_HID_ELAN=m
 CONFIG_HID_ELECOM=m
 CONFIG_HID_ELO=m
 CONFIG_HID_EZKEY=m
+CONFIG_HID_FT260=m
 CONFIG_HID_GEMBIRD=m
 CONFIG_HID_GFRM=m
 CONFIG_HID_GLORIOUS=m
@@ -7021,11 +7191,14 @@ CONFIG_HID_PICOLCD_LCD=y
 CONFIG_HID_PICOLCD_LEDS=y
 CONFIG_HID_PICOLCD_CIR=y
 CONFIG_HID_PLANTRONICS=m
+CONFIG_HID_PLAYSTATION=m
+CONFIG_PLAYSTATION_FF=y
 CONFIG_HID_PRIMAX=m
 CONFIG_HID_RETRODE=m
 CONFIG_HID_ROCCAT=m
 CONFIG_HID_SAITEK=m
 CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SEMITEK=m
 CONFIG_HID_SONY=m
 CONFIG_SONY_FF=y
 CONFIG_HID_SPEEDLINK=m
@@ -7052,7 +7225,7 @@ CONFIG_HID_ZEROPLUS=m
 CONFIG_ZEROPLUS_FF=y
 CONFIG_HID_ZYDACRON=m
 CONFIG_HID_SENSOR_HUB=m
-# CONFIG_HID_SENSOR_CUSTOM_SENSOR is not set
+CONFIG_HID_SENSOR_CUSTOM_SENSOR=m
 CONFIG_HID_ALPS=m
 CONFIG_HID_MCP2221=m
 # end of Special HID drivers
@@ -7068,9 +7241,11 @@ CONFIG_USB_HIDDEV=y
 #
 # I2C HID support
 #
-CONFIG_I2C_HID=m
+CONFIG_I2C_HID_ACPI=m
 # end of I2C HID support
 
+CONFIG_I2C_HID_CORE=m
+
 #
 # Intel ISH HID support
 #
@@ -7083,6 +7258,15 @@ CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER=m
 #
 CONFIG_AMD_SFH_HID=m
 # end of AMD SFH HID Support
+
+#
+# Surface System Aggregator Module HID support
+#
+CONFIG_SURFACE_HID=m
+CONFIG_SURFACE_KBD=m
+# end of Surface System Aggregator Module HID support
+
+CONFIG_SURFACE_HID_CORE=m
 # end of HID support
 
 CONFIG_USB_OHCI_LITTLE_ENDIAN=y
@@ -7185,10 +7369,15 @@ CONFIG_USBIP_VHCI_NR_HCS=1
 CONFIG_USBIP_HOST=m
 CONFIG_USBIP_VUDC=m
 # CONFIG_USBIP_DEBUG is not set
+CONFIG_USB_CDNS_SUPPORT=m
+CONFIG_USB_CDNS_HOST=y
 CONFIG_USB_CDNS3=m
 CONFIG_USB_CDNS3_GADGET=y
 CONFIG_USB_CDNS3_HOST=y
 CONFIG_USB_CDNS3_PCI_WRAP=m
+CONFIG_USB_CDNSP_PCI=m
+CONFIG_USB_CDNSP_GADGET=y
+CONFIG_USB_CDNSP_HOST=y
 CONFIG_USB_MUSB_HDRC=m
 # CONFIG_USB_MUSB_HOST is not set
 # CONFIG_USB_MUSB_GADGET is not set
@@ -7296,6 +7485,7 @@ CONFIG_USB_SERIAL_WISHBONE=m
 CONFIG_USB_SERIAL_SSU100=m
 CONFIG_USB_SERIAL_QT2=m
 CONFIG_USB_SERIAL_UPD78F0730=m
+CONFIG_USB_SERIAL_XR=m
 CONFIG_USB_SERIAL_DEBUG=m
 
 #
@@ -7364,10 +7554,6 @@ CONFIG_USB_MV_U3D=m
 CONFIG_USB_SNP_CORE=m
 CONFIG_USB_M66592=m
 CONFIG_USB_BDC_UDC=m
-
-#
-# Platform Support
-#
 CONFIG_USB_AMD5536UDC=m
 CONFIG_USB_NET2272=m
 # CONFIG_USB_NET2272_DMA is not set
@@ -7469,8 +7655,8 @@ CONFIG_TYPEC_WCOVE=m
 CONFIG_TYPEC_UCSI=m
 CONFIG_UCSI_CCG=m
 CONFIG_UCSI_ACPI=m
-CONFIG_TYPEC_HD3SS3220=m
 CONFIG_TYPEC_TPS6598X=m
+CONFIG_TYPEC_HD3SS3220=m
 CONFIG_TYPEC_STUSB160X=m
 
 #
@@ -7494,6 +7680,7 @@ CONFIG_MMC_BLOCK=m
 CONFIG_MMC_BLOCK_MINORS=8
 CONFIG_SDIO_UART=m
 CONFIG_MMC_TEST=m
+CONFIG_MMC_CRYPTO=y
 
 #
 # MMC/SD/SDIO Host Controller Drivers
@@ -7552,12 +7739,10 @@ CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
 #
 CONFIG_LEDS_88PM860X=m
 CONFIG_LEDS_APU=m
-CONFIG_LEDS_AS3645A=m
 CONFIG_LEDS_LM3530=m
 CONFIG_LEDS_LM3532=m
 CONFIG_LEDS_LM3533=m
 CONFIG_LEDS_LM3642=m
-CONFIG_LEDS_LM3601X=m
 CONFIG_LEDS_MT6323=m
 CONFIG_LEDS_PCA9532=m
 CONFIG_LEDS_PCA9532_GPIO=y
@@ -7579,6 +7764,7 @@ CONFIG_LEDS_PWM=m
 CONFIG_LEDS_REGULATOR=m
 CONFIG_LEDS_BD2802=m
 CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
 CONFIG_LEDS_ADP5520=m
 CONFIG_LEDS_MC13783=m
 CONFIG_LEDS_TCA6507=m
@@ -7598,12 +7784,14 @@ CONFIG_LEDS_NIC78BX=m
 CONFIG_LEDS_TI_LMU_COMMON=m
 CONFIG_LEDS_LM36274=m
 CONFIG_LEDS_TPS6105X=m
-CONFIG_LEDS_SGM3140=m
 
 #
 # Flash and Torch LED drivers
 #
+CONFIG_LEDS_AS3645A=m
+CONFIG_LEDS_LM3601X=m
 CONFIG_LEDS_RT8515=m
+CONFIG_LEDS_SGM3140=m
 
 #
 # LED Triggers
@@ -7629,6 +7817,7 @@ CONFIG_LEDS_TRIGGER_PANIC=y
 CONFIG_LEDS_TRIGGER_NETDEV=m
 CONFIG_LEDS_TRIGGER_PATTERN=m
 CONFIG_LEDS_TRIGGER_AUDIO=m
+CONFIG_LEDS_TRIGGER_TTY=m
 CONFIG_ACCESSIBILITY=y
 CONFIG_A11Y_BRAILLE_CONSOLE=y
 
@@ -7663,7 +7852,7 @@ CONFIG_INFINIBAND_QIB=m
 CONFIG_INFINIBAND_QIB_DCA=y
 CONFIG_INFINIBAND_CXGB4=m
 CONFIG_INFINIBAND_EFA=m
-CONFIG_INFINIBAND_I40IW=m
+CONFIG_INFINIBAND_IRDMA=m
 CONFIG_MLX4_INFINIBAND=m
 CONFIG_MLX5_INFINIBAND=m
 CONFIG_INFINIBAND_OCRDMA=m
@@ -7697,7 +7886,6 @@ CONFIG_EDAC_LEGACY_SYSFS=y
 CONFIG_EDAC_DECODE_MCE=m
 CONFIG_EDAC_GHES=y
 CONFIG_EDAC_AMD64=m
-# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
 CONFIG_EDAC_E752X=m
 CONFIG_EDAC_I82975X=m
 CONFIG_EDAC_I3000=m
@@ -7778,7 +7966,6 @@ CONFIG_RTC_DRV_EM3027=m
 CONFIG_RTC_DRV_RV3028=m
 CONFIG_RTC_DRV_RV3032=m
 CONFIG_RTC_DRV_RV8803=m
-CONFIG_RTC_DRV_S5M=m
 CONFIG_RTC_DRV_SD3078=m
 
 #
@@ -7839,7 +8026,6 @@ CONFIG_RTC_DRV_V3020=m
 CONFIG_RTC_DRV_WM831X=m
 CONFIG_RTC_DRV_WM8350=m
 CONFIG_RTC_DRV_PCF50633=m
-CONFIG_RTC_DRV_AB3100=m
 CONFIG_RTC_DRV_CROS_EC=m
 
 #
@@ -7854,6 +8040,7 @@ CONFIG_RTC_DRV_MT6397=m
 # HID Sensor RTC drivers
 #
 CONFIG_RTC_DRV_HID_SENSOR_TIME=m
+CONFIG_RTC_DRV_GOLDFISH=m
 CONFIG_RTC_DRV_WILCO_EC=m
 CONFIG_DMADEVICES=y
 # CONFIG_DMADEVICES_DEBUG is not set
@@ -7866,11 +8053,14 @@ CONFIG_DMA_VIRTUAL_CHANNELS=y
 CONFIG_DMA_ACPI=y
 CONFIG_ALTERA_MSGDMA=m
 CONFIG_INTEL_IDMA64=m
+CONFIG_INTEL_IDXD_BUS=m
 CONFIG_INTEL_IDXD=m
+# CONFIG_INTEL_IDXD_COMPAT is not set
 CONFIG_INTEL_IDXD_SVM=y
+CONFIG_INTEL_IDXD_PERFMON=y
 CONFIG_INTEL_IOATDMA=m
 CONFIG_PLX_DMA=m
-CONFIG_XILINX_ZYNQMP_DPDMA=m
+CONFIG_AMD_PTDMA=m
 CONFIG_QCOM_HIDMA_MGMT=m
 CONFIG_QCOM_HIDMA=m
 CONFIG_DW_DMAC_CORE=y
@@ -7880,6 +8070,7 @@ CONFIG_DW_EDMA=m
 CONFIG_DW_EDMA_PCIE=m
 CONFIG_HSU_DMA=y
 CONFIG_SF_PDMA=m
+CONFIG_INTEL_LDMA=y
 
 #
 # DMA Clients
@@ -7895,32 +8086,17 @@ CONFIG_SYNC_FILE=y
 # CONFIG_SW_SYNC is not set
 CONFIG_UDMABUF=y
 # CONFIG_DMABUF_MOVE_NOTIFY is not set
+# CONFIG_DMABUF_DEBUG is not set
 # CONFIG_DMABUF_SELFTESTS is not set
 CONFIG_DMABUF_HEAPS=y
+CONFIG_DMABUF_SYSFS_STATS=y
 CONFIG_DMABUF_HEAPS_SYSTEM=y
 CONFIG_DMABUF_HEAPS_CMA=y
 # end of DMABUF options
 
 CONFIG_DCA=m
-CONFIG_AUXDISPLAY=y
-CONFIG_CHARLCD=m
-CONFIG_HD44780_COMMON=m
-CONFIG_HD44780=m
-CONFIG_KS0108=m
-CONFIG_KS0108_PORT=0x378
-CONFIG_KS0108_DELAY=2
-CONFIG_CFAG12864B=m
-CONFIG_CFAG12864B_RATE=20
-CONFIG_IMG_ASCII_LCD=m
-CONFIG_LCD2S=m
-CONFIG_PARPORT_PANEL=m
-CONFIG_PANEL_PARPORT=0
-CONFIG_PANEL_PROFILE=5
-# CONFIG_PANEL_CHANGE_MESSAGE is not set
-# CONFIG_CHARLCD_BL_OFF is not set
-# CONFIG_CHARLCD_BL_ON is not set
-CONFIG_CHARLCD_BL_FLASH=y
-CONFIG_PANEL=m
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_PANEL is not set
 CONFIG_UIO=m
 CONFIG_UIO_CIF=m
 CONFIG_UIO_PDRV_GENIRQ=m
@@ -7932,22 +8108,26 @@ CONFIG_UIO_NETX=m
 CONFIG_UIO_PRUSS=m
 CONFIG_UIO_MF624=m
 CONFIG_UIO_HV_GENERIC=m
+CONFIG_UIO_DFL=m
+CONFIG_VFIO=m
 CONFIG_VFIO_IOMMU_TYPE1=m
 CONFIG_VFIO_VIRQFD=m
-CONFIG_VFIO=m
 # CONFIG_VFIO_NOIOMMU is not set
-CONFIG_VFIO_PCI=m
-CONFIG_VFIO_PCI_VGA=y
+CONFIG_VFIO_PCI_CORE=m
 CONFIG_VFIO_PCI_MMAP=y
 CONFIG_VFIO_PCI_INTX=y
+CONFIG_VFIO_PCI=m
+CONFIG_VFIO_PCI_VGA=y
 CONFIG_VFIO_PCI_IGD=y
 CONFIG_VFIO_MDEV=m
-CONFIG_VFIO_MDEV_DEVICE=m
 CONFIG_IRQ_BYPASS_MANAGER=m
 CONFIG_VIRT_DRIVERS=y
 CONFIG_VBOXGUEST=m
 CONFIG_NITRO_ENCLAVES=m
+CONFIG_ACRN_HSM=m
 CONFIG_VIRTIO=y
+CONFIG_ARCH_HAS_RESTRICTED_VIRTIO_MEMORY_ACCESS=y
+CONFIG_VIRTIO_PCI_LIB=m
 CONFIG_VIRTIO_MENU=y
 CONFIG_VIRTIO_PCI=m
 CONFIG_VIRTIO_PCI_LEGACY=y
@@ -7962,9 +8142,12 @@ CONFIG_VIRTIO_DMA_SHARED_BUFFER=m
 CONFIG_VDPA=m
 CONFIG_VDPA_SIM=m
 CONFIG_VDPA_SIM_NET=m
+CONFIG_VDPA_SIM_BLOCK=m
+CONFIG_VDPA_USER=m
 CONFIG_IFCVF=m
 CONFIG_MLX5_VDPA=y
 CONFIG_MLX5_VDPA_NET=m
+CONFIG_VP_VDPA=m
 CONFIG_VHOST_IOTLB=m
 CONFIG_VHOST_RING=m
 CONFIG_VHOST=m
@@ -8020,9 +8203,9 @@ CONFIG_XEN_UNPOPULATED_ALLOC=y
 # end of Xen driver support
 
 # CONFIG_GREYBUS is not set
+# CONFIG_COMEDI is not set
 CONFIG_STAGING=y
 CONFIG_PRISM2_USB=m
-# CONFIG_COMEDI is not set
 CONFIG_RTL8192U=m
 CONFIG_RTLLIB=m
 CONFIG_RTLLIB_CRYPTO_CCMP=m
@@ -8066,7 +8249,6 @@ CONFIG_ADT7316_I2C=m
 #
 # Capacitance to digital converters
 #
-CONFIG_AD7150=m
 CONFIG_AD7746=m
 # end of Capacitance to digital converters
 
@@ -8113,6 +8295,11 @@ CONFIG_VIDEO_ATOMISP_OV5693=m
 CONFIG_VIDEO_ATOMISP_LM3554=m
 # CONFIG_VIDEO_ZORAN is not set
 CONFIG_VIDEO_IPU3_IMGU=m
+CONFIG_DVB_AV7110_IR=y
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_PATCH=m
+CONFIG_DVB_SP8870=m
 
 #
 # Android
@@ -8131,72 +8318,56 @@ CONFIG_UNISYS_VISORHBA=m
 # CONFIG_FB_TFT is not set
 CONFIG_MOST_COMPONENTS=m
 CONFIG_MOST_NET=m
-CONFIG_MOST_SOUND=m
 CONFIG_MOST_VIDEO=m
 CONFIG_MOST_I2C=m
 CONFIG_KS7010=m
 CONFIG_PI433=m
-
-#
-# Gasket devices
-#
-CONFIG_STAGING_GASKET_FRAMEWORK=m
-CONFIG_STAGING_APEX_DRIVER=m
-# end of Gasket devices
-
 CONFIG_FIELDBUS_DEV=m
-CONFIG_KPC2000=y
-CONFIG_KPC2000_CORE=m
-CONFIG_KPC2000_SPI=m
-CONFIG_KPC2000_I2C=m
-CONFIG_KPC2000_DMA=m
 CONFIG_QLGE=m
-CONFIG_WIMAX=m
-CONFIG_WIMAX_DEBUG_LEVEL=8
-CONFIG_WIMAX_I2400M=m
-CONFIG_WIMAX_I2400M_USB=m
-CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
 CONFIG_WFX=m
 CONFIG_X86_PLATFORM_DEVICES=y
 CONFIG_ACPI_WMI=m
 CONFIG_WMI_BMOF=m
-CONFIG_ALIENWARE_WMI=m
 CONFIG_HUAWEI_WMI=m
-CONFIG_INTEL_WMI_SBL_FW_UPDATE=m
-CONFIG_INTEL_WMI_THUNDERBOLT=m
 CONFIG_MXM_WMI=m
 CONFIG_PEAQ_WMI=m
 CONFIG_XIAOMI_WMI=m
+CONFIG_GIGABYTE_WMI=m
 CONFIG_ACERHDF=m
 CONFIG_ACER_WIRELESS=m
 CONFIG_ACER_WMI=m
 CONFIG_AMD_PMC=m
+CONFIG_ADV_SWBUTTON=m
 CONFIG_APPLE_GMUX=m
 CONFIG_ASUS_LAPTOP=m
 CONFIG_ASUS_WIRELESS=m
 CONFIG_ASUS_WMI=m
 CONFIG_ASUS_NB_WMI=m
+CONFIG_MERAKI_MX100=m
 CONFIG_EEEPC_LAPTOP=m
 CONFIG_EEEPC_WMI=m
+CONFIG_X86_PLATFORM_DRIVERS_DELL=y
+CONFIG_ALIENWARE_WMI=m
 CONFIG_DCDBAS=m
+CONFIG_DELL_LAPTOP=m
+# CONFIG_DELL_RBU is not set
+CONFIG_DELL_RBTN=m
 CONFIG_DELL_SMBIOS=m
 CONFIG_DELL_SMBIOS_WMI=y
 CONFIG_DELL_SMBIOS_SMM=y
-CONFIG_DELL_LAPTOP=m
-CONFIG_DELL_RBTN=m
-# CONFIG_DELL_RBU is not set
 CONFIG_DELL_SMO8800=m
 CONFIG_DELL_WMI=m
-CONFIG_DELL_WMI_SYSMAN=m
-CONFIG_DELL_WMI_DESCRIPTOR=m
+CONFIG_DELL_WMI_PRIVACY=y
 CONFIG_DELL_WMI_AIO=m
+CONFIG_DELL_WMI_DESCRIPTOR=m
 CONFIG_DELL_WMI_LED=m
+CONFIG_DELL_WMI_SYSMAN=m
 CONFIG_AMILO_RFKILL=m
 CONFIG_FUJITSU_LAPTOP=m
 CONFIG_FUJITSU_TABLET=m
 CONFIG_GPD_POCKET_FAN=m
 CONFIG_HP_ACCEL=m
-CONFIG_HP_WIRELESS=m
+CONFIG_WIRELESS_HOTKEY=m
 CONFIG_HP_WMI=m
 CONFIG_IBM_RTL=m
 CONFIG_IDEAPAD_LAPTOP=m
@@ -8208,13 +8379,39 @@ CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
 # CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
 CONFIG_THINKPAD_ACPI_VIDEO=y
 CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_THINKPAD_LMI=m
+CONFIG_INTEL_ATOMISP2_PDX86=y
 CONFIG_INTEL_ATOMISP2_LED=m
+CONFIG_INTEL_SAR_INT1092=m
 CONFIG_INTEL_CHT_INT33FE=m
+CONFIG_INTEL_SKL_INT3472=m
+CONFIG_INTEL_PMC_CORE=y
+CONFIG_INTEL_PMT_CLASS=m
+CONFIG_INTEL_PMT_TELEMETRY=m
+CONFIG_INTEL_PMT_CRASHLOG=m
+
+#
+# Intel Speed Select Technology interface support
+#
+CONFIG_INTEL_SPEED_SELECT_INTERFACE=m
+# end of Intel Speed Select Technology interface support
+
+CONFIG_INTEL_TELEMETRY=m
+CONFIG_INTEL_WMI=y
+CONFIG_INTEL_WMI_SBL_FW_UPDATE=m
+CONFIG_INTEL_WMI_THUNDERBOLT=m
 CONFIG_INTEL_HID_EVENT=m
+CONFIG_INTEL_VBTN=m
 CONFIG_INTEL_INT0002_VGPIO=m
-CONFIG_INTEL_MENLOW=m
 CONFIG_INTEL_OAKTRAIL=m
-CONFIG_INTEL_VBTN=m
+CONFIG_INTEL_BXTWC_PMIC_TMU=m
+CONFIG_INTEL_CHTDC_TI_PWRBTN=m
+CONFIG_INTEL_MRFLD_PWRBTN=m
+CONFIG_INTEL_PUNIT_IPC=m
+CONFIG_INTEL_RST=m
+CONFIG_INTEL_SMARTCONNECT=m
+CONFIG_INTEL_TURBO_MAX_3=y
+CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
 CONFIG_MSI_LAPTOP=m
 CONFIG_MSI_WMI=m
 CONFIG_PCENGINES_APU2=m
@@ -8235,34 +8432,13 @@ CONFIG_TOPSTAR_LAPTOP=m
 CONFIG_I2C_MULTI_INSTANTIATE=m
 CONFIG_MLX_PLATFORM=m
 CONFIG_TOUCHSCREEN_DMI=y
+CONFIG_FW_ATTR_CLASS=m
 CONFIG_INTEL_IPS=m
-CONFIG_INTEL_RST=m
-CONFIG_INTEL_SMARTCONNECT=m
-
-#
-# Intel Speed Select Technology interface support
-#
-CONFIG_INTEL_SPEED_SELECT_INTERFACE=m
-# end of Intel Speed Select Technology interface support
-
-CONFIG_INTEL_TURBO_MAX_3=y
-CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
-CONFIG_INTEL_BXTWC_PMIC_TMU=m
-CONFIG_INTEL_CHTDC_TI_PWRBTN=m
-CONFIG_INTEL_MFLD_THERMAL=m
-CONFIG_INTEL_MID_POWER_BUTTON=m
-CONFIG_INTEL_MRFLD_PWRBTN=m
-CONFIG_INTEL_PMC_CORE=y
-CONFIG_INTEL_PMT_CLASS=m
-CONFIG_INTEL_PMT_TELEMETRY=m
-CONFIG_INTEL_PMT_CRASHLOG=m
-CONFIG_INTEL_PUNIT_IPC=m
 CONFIG_INTEL_SCU_IPC=y
 CONFIG_INTEL_SCU=y
 CONFIG_INTEL_SCU_PCI=y
 CONFIG_INTEL_SCU_PLATFORM=m
 CONFIG_INTEL_SCU_IPC_UTIL=m
-CONFIG_INTEL_TELEMETRY=m
 CONFIG_PMC_ATOM=y
 CONFIG_CHROME_PLATFORMS=y
 CONFIG_CHROMEOS_LAPTOP=m
@@ -8294,23 +8470,40 @@ CONFIG_SURFACE_PLATFORMS=y
 CONFIG_SURFACE3_WMI=m
 CONFIG_SURFACE_3_BUTTON=m
 CONFIG_SURFACE_3_POWER_OPREGION=m
+CONFIG_SURFACE_ACPI_NOTIFY=m
+CONFIG_SURFACE_AGGREGATOR_CDEV=m
+CONFIG_SURFACE_AGGREGATOR_REGISTRY=m
+CONFIG_SURFACE_DTX=m
 CONFIG_SURFACE_GPE=m
+CONFIG_SURFACE_HOTPLUG=m
+CONFIG_SURFACE_PLATFORM_PROFILE=m
 CONFIG_SURFACE_PRO3_BUTTON=m
+CONFIG_SURFACE_AGGREGATOR=m
+CONFIG_SURFACE_AGGREGATOR_BUS=y
+# CONFIG_SURFACE_AGGREGATOR_ERROR_INJECTION is not set
 CONFIG_HAVE_CLK=y
-CONFIG_CLKDEV_LOOKUP=y
 CONFIG_HAVE_CLK_PREPARE=y
 CONFIG_COMMON_CLK=y
 CONFIG_COMMON_CLK_WM831X=m
+
+#
+# Clock driver for ARM Reference designs
+#
+# CONFIG_ICST is not set
+# CONFIG_CLK_SP810 is not set
+# end of Clock driver for ARM Reference designs
+
+CONFIG_LMK04832=m
 CONFIG_COMMON_CLK_MAX9485=m
 CONFIG_COMMON_CLK_SI5341=m
 CONFIG_COMMON_CLK_SI5351=m
 CONFIG_COMMON_CLK_SI544=m
 CONFIG_COMMON_CLK_CDCE706=m
 CONFIG_COMMON_CLK_CS2000_CP=m
-CONFIG_COMMON_CLK_S2MPS11=m
 CONFIG_CLK_TWL6040=m
 CONFIG_COMMON_CLK_PALMAS=m
 CONFIG_COMMON_CLK_PWM=m
+CONFIG_XILINX_VCU=m
 CONFIG_HWSPINLOCK=y
 
 #
@@ -8332,11 +8525,15 @@ CONFIG_IOMMU_SUPPORT=y
 #
 # Generic IOMMU Pagetable Support
 #
+CONFIG_IOMMU_IO_PGTABLE=y
 # end of Generic IOMMU Pagetable Support
 
 # CONFIG_IOMMU_DEBUGFS is not set
+# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set
+CONFIG_IOMMU_DEFAULT_DMA_LAZY=y
 # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
 CONFIG_IOMMU_DMA=y
+CONFIG_IOMMU_SVA_LIB=y
 CONFIG_AMD_IOMMU=y
 CONFIG_AMD_IOMMU_V2=y
 CONFIG_DMAR_TABLE=y
@@ -8347,6 +8544,7 @@ CONFIG_INTEL_IOMMU_FLOPPY_WA=y
 CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
 CONFIG_IRQ_REMAP=y
 CONFIG_HYPERV_IOMMU=y
+CONFIG_VIRTIO_IOMMU=m
 
 #
 # Remoteproc drivers
@@ -8416,7 +8614,6 @@ CONFIG_SOC_TI=y
 #
 # Xilinx SoC drivers
 #
-CONFIG_XILINX_VCU=m
 # end of Xilinx SoC drivers
 # end of SOC (System On Chip) specific Drivers
 
@@ -8441,7 +8638,6 @@ CONFIG_EXTCON=y
 # Extcon Device Drivers
 #
 CONFIG_EXTCON_ADC_JACK=m
-CONFIG_EXTCON_ARIZONA=m
 CONFIG_EXTCON_AXP288=m
 CONFIG_EXTCON_FSA9480=m
 CONFIG_EXTCON_GPIO=m
@@ -8461,6 +8657,7 @@ CONFIG_EXTCON_USB_GPIO=m
 CONFIG_EXTCON_USBC_CROS_EC=m
 CONFIG_EXTCON_USBC_TUSB320=m
 CONFIG_MEMORY=y
+CONFIG_FPGA_DFL_EMIF=m
 CONFIG_IIO=m
 CONFIG_IIO_BUFFER=y
 CONFIG_IIO_BUFFER_CB=m
@@ -8491,10 +8688,15 @@ CONFIG_BMA400_SPI=m
 CONFIG_BMC150_ACCEL=m
 CONFIG_BMC150_ACCEL_I2C=m
 CONFIG_BMC150_ACCEL_SPI=m
+CONFIG_BMI088_ACCEL=m
+CONFIG_BMI088_ACCEL_SPI=m
 CONFIG_DA280=m
 CONFIG_DA311=m
 CONFIG_DMARD09=m
 CONFIG_DMARD10=m
+CONFIG_FXLS8962AF=m
+CONFIG_FXLS8962AF_I2C=m
+CONFIG_FXLS8962AF_SPI=m
 CONFIG_HID_SENSOR_ACCEL_3D=m
 CONFIG_IIO_CROS_EC_ACCEL_LEGACY=m
 CONFIG_IIO_ST_ACCEL_3AXIS=m
@@ -8516,6 +8718,7 @@ CONFIG_MMA9553=m
 CONFIG_MXC4005=m
 CONFIG_MXC6255=m
 CONFIG_SCA3000=m
+CONFIG_SCA3300=m
 CONFIG_STK8312=m
 CONFIG_STK8BA50=m
 # end of Accelerometers
@@ -8544,7 +8747,6 @@ CONFIG_AD7887=m
 CONFIG_AD7923=m
 CONFIG_AD7949=m
 CONFIG_AD799X=m
-# CONFIG_AD9467 is not set
 CONFIG_AXP20X_ADC=m
 CONFIG_AXP288_ADC=m
 CONFIG_CC10001_ADC=m
@@ -8582,8 +8784,10 @@ CONFIG_TI_ADC128S052=m
 CONFIG_TI_ADC161S626=m
 CONFIG_TI_ADS1015=m
 CONFIG_TI_ADS7950=m
+CONFIG_TI_ADS131E08=m
 CONFIG_TI_AM335X_ADC=m
 CONFIG_TI_TLC4541=m
+CONFIG_TI_TSC2046=m
 CONFIG_TWL4030_MADC=m
 CONFIG_TWL6030_GPADC=m
 CONFIG_VIPERBOARD_ADC=m
@@ -8603,6 +8807,12 @@ CONFIG_HMC425=m
 # end of Amplifiers
 
 #
+# Capacitance to digital converters
+#
+CONFIG_AD7150=m
+# end of Capacitance to digital converters
+
+#
 # Chemical Sensors
 #
 CONFIG_ATLAS_PH_SENSOR=m
@@ -8617,7 +8827,10 @@ CONFIG_SCD30_CORE=m
 CONFIG_SCD30_I2C=m
 CONFIG_SCD30_SERIAL=m
 CONFIG_SENSIRION_SGP30=m
+CONFIG_SENSIRION_SGP40=m
 CONFIG_SPS30=m
+CONFIG_SPS30_I2C=m
+CONFIG_SPS30_SERIAL=m
 CONFIG_VZ89X=m
 # end of Chemical Sensors
 
@@ -8635,6 +8848,11 @@ CONFIG_HID_SENSOR_IIO_TRIGGER=m
 CONFIG_IIO_MS_SENSORS_I2C=m
 
 #
+# IIO SCMI Sensors
+#
+# end of IIO SCMI Sensors
+
+#
 # SSP Sensor Common
 #
 CONFIG_IIO_SSP_SENSORS_COMMONS=m
@@ -8666,6 +8884,7 @@ CONFIG_AD5755=m
 CONFIG_AD5758=m
 CONFIG_AD5761=m
 CONFIG_AD5764=m
+CONFIG_AD5766=m
 CONFIG_AD5770R=m
 CONFIG_AD5791=m
 CONFIG_AD7303=m
@@ -8784,6 +9003,9 @@ CONFIG_INV_MPU6050_SPI=m
 CONFIG_IIO_ST_LSM6DSX=m
 CONFIG_IIO_ST_LSM6DSX_I2C=m
 CONFIG_IIO_ST_LSM6DSX_SPI=m
+CONFIG_IIO_ST_LSM9DS0=m
+CONFIG_IIO_ST_LSM9DS0_I2C=m
+CONFIG_IIO_ST_LSM9DS0_SPI=m
 # end of Inertial measurement units
 
 CONFIG_IIO_ADIS_LIB=m
@@ -8835,6 +9057,7 @@ CONFIG_TCS3414=m
 CONFIG_TCS3472=m
 CONFIG_SENSORS_TSL2563=m
 CONFIG_TSL2583=m
+CONFIG_TSL2591=m
 CONFIG_TSL2772=m
 CONFIG_TSL4531=m
 CONFIG_US5182D=m
@@ -8866,6 +9089,7 @@ CONFIG_SENSORS_HMC5843_SPI=m
 CONFIG_SENSORS_RM3100=m
 CONFIG_SENSORS_RM3100_I2C=m
 CONFIG_SENSORS_RM3100_SPI=m
+CONFIG_YAMAHA_YAS530=m
 # end of Magnetometer sensors
 
 #
@@ -8893,11 +9117,13 @@ CONFIG_IIO_SYSFS_TRIGGER=m
 # Linear and angular position sensors
 #
 CONFIG_IQS624_POS=m
+CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE=m
 # end of Linear and angular position sensors
 
 #
 # Digital potentiometers
 #
+CONFIG_AD5110=m
 CONFIG_AD5272=m
 CONFIG_DS1803=m
 CONFIG_MAX5432=m
@@ -8956,6 +9182,7 @@ CONFIG_AS3935=m
 #
 # Proximity and distance sensors
 #
+CONFIG_CROS_EC_MKBP_PROXIMITY=m
 CONFIG_ISL29501=m
 CONFIG_LIDAR_LITE_V2=m
 CONFIG_MB1232=m
@@ -8987,6 +9214,7 @@ CONFIG_MLX90614=m
 CONFIG_MLX90632=m
 CONFIG_TMP006=m
 CONFIG_TMP007=m
+CONFIG_TMP117=m
 CONFIG_TSYS01=m
 CONFIG_TSYS02D=m
 CONFIG_MAX31856=m
@@ -8997,6 +9225,7 @@ CONFIG_NTB_MSI=y
 CONFIG_NTB_AMD=m
 CONFIG_NTB_IDT=m
 CONFIG_NTB_INTEL=m
+CONFIG_NTB_EPF=m
 CONFIG_NTB_SWITCHTEC=m
 # CONFIG_NTB_PINGPONG is not set
 # CONFIG_NTB_TOOL is not set
@@ -9029,7 +9258,6 @@ CONFIG_IPACK_BUS=m
 CONFIG_BOARD_TPCI200=m
 CONFIG_SERIAL_IPOCTAL=m
 CONFIG_RESET_CONTROLLER=y
-CONFIG_RESET_BRCMSTB_RESCAL=y
 CONFIG_RESET_TI_SYSCON=m
 
 #
@@ -9037,6 +9265,7 @@ CONFIG_RESET_TI_SYSCON=m
 #
 CONFIG_GENERIC_PHY=y
 CONFIG_USB_LGM_PHY=m
+CONFIG_PHY_CAN_TRANSCEIVER=m
 CONFIG_BCM_KONA_USB2_PHY=m
 CONFIG_PHY_PXA_28NM_HSIC=m
 CONFIG_PHY_PXA_28NM_USB2=m
@@ -9052,6 +9281,8 @@ CONFIG_POWERCAP=y
 CONFIG_INTEL_RAPL_CORE=m
 CONFIG_INTEL_RAPL=m
 CONFIG_IDLE_INJECT=y
+CONFIG_DTPM=y
+CONFIG_DTPM_CPU=y
 CONFIG_MCB=m
 CONFIG_MCB_PCI=m
 CONFIG_MCB_LPC=m
@@ -9094,6 +9325,7 @@ CONFIG_DEV_DAX_PMEM_COMPAT=m
 CONFIG_NVMEM=y
 CONFIG_NVMEM_SYSFS=y
 CONFIG_RAVE_SP_EEPROM=m
+CONFIG_NVMEM_RMEM=m
 
 #
 # HW tracing support
@@ -9131,6 +9363,7 @@ CONFIG_FPGA_DFL_FME_MGR=m
 CONFIG_FPGA_DFL_FME_BRIDGE=m
 CONFIG_FPGA_DFL_FME_REGION=m
 CONFIG_FPGA_DFL_AFU=m
+CONFIG_FPGA_DFL_NIOS_INTEL_PAC_N3000=m
 CONFIG_FPGA_DFL_PCI=m
 CONFIG_TEE=m
 
@@ -9158,9 +9391,12 @@ CONFIG_SLIMBUS=m
 CONFIG_SLIM_QCOM_CTRL=m
 CONFIG_INTERCONNECT=y
 CONFIG_COUNTER=m
+CONFIG_INTERRUPT_CNT=m
+CONFIG_INTEL_QEP=m
 CONFIG_MOST=m
 CONFIG_MOST_USB_HDM=m
 CONFIG_MOST_CDEV=m
+CONFIG_MOST_SND=m
 # end of Device Drivers
 
 #
@@ -9221,13 +9457,14 @@ CONFIG_F2FS_FS_XATTR=y
 CONFIG_F2FS_FS_POSIX_ACL=y
 CONFIG_F2FS_FS_SECURITY=y
 CONFIG_F2FS_CHECK_FS=y
-# CONFIG_F2FS_IO_TRACE is not set
 # CONFIG_F2FS_FAULT_INJECTION is not set
 CONFIG_F2FS_FS_COMPRESSION=y
 CONFIG_F2FS_FS_LZO=y
+CONFIG_F2FS_FS_LZORLE=y
 CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZ4HC=y
 CONFIG_F2FS_FS_ZSTD=y
-CONFIG_F2FS_FS_LZORLE=y
+CONFIG_F2FS_IOSTAT=y
 CONFIG_ZONEFS_FS=m
 CONFIG_FS_DAX=y
 CONFIG_FS_DAX_PMD=y
@@ -9235,7 +9472,6 @@ CONFIG_FS_POSIX_ACL=y
 CONFIG_EXPORTFS=y
 CONFIG_EXPORTFS_BLOCK_OPS=y
 CONFIG_FILE_LOCKING=y
-# CONFIG_MANDATORY_FILE_LOCKING is not set
 CONFIG_FS_ENCRYPTION=y
 CONFIG_FS_ENCRYPTION_ALGS=m
 CONFIG_FS_ENCRYPTION_INLINE_CRYPT=y
@@ -9271,14 +9507,13 @@ CONFIG_OVERLAY_FS_METACOPY=y
 #
 # Caches
 #
+CONFIG_NETFS_SUPPORT=m
+CONFIG_NETFS_STATS=y
 CONFIG_FSCACHE=m
 CONFIG_FSCACHE_STATS=y
-# CONFIG_FSCACHE_HISTOGRAM is not set
 # CONFIG_FSCACHE_DEBUG is not set
-CONFIG_FSCACHE_OBJECT_LIST=y
 CONFIG_CACHEFILES=m
 # CONFIG_CACHEFILES_DEBUG is not set
-# CONFIG_CACHEFILES_HISTOGRAM is not set
 # end of Caches
 
 #
@@ -9302,6 +9537,10 @@ CONFIG_FAT_DEFAULT_UTF8=y
 CONFIG_EXFAT_FS=m
 CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
 # CONFIG_NTFS_FS is not set
+CONFIG_NTFS3_FS=m
+# CONFIG_NTFS3_64BIT_CLUSTER is not set
+CONFIG_NTFS3_LZX_XPRESS=y
+CONFIG_NTFS3_FS_POSIX_ACL=y
 # end of DOS/FAT/EXFAT/NT Filesystems
 
 #
@@ -9324,6 +9563,8 @@ CONFIG_TMPFS_XATTR=y
 CONFIG_TMPFS_INODE64=y
 CONFIG_HUGETLBFS=y
 CONFIG_HUGETLB_PAGE=y
+CONFIG_HUGETLB_PAGE_FREE_VMEMMAP=y
+CONFIG_HUGETLB_PAGE_FREE_VMEMMAP_DEFAULT_ON=y
 CONFIG_MEMFD_CREATE=y
 CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
 CONFIG_CONFIGFS_FS=y
@@ -9425,7 +9666,6 @@ CONFIG_EROFS_FS_XATTR=y
 CONFIG_EROFS_FS_POSIX_ACL=y
 CONFIG_EROFS_FS_SECURITY=y
 CONFIG_EROFS_FS_ZIP=y
-CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=2
 CONFIG_VBOXSF_FS=m
 CONFIG_NETWORK_FILESYSTEMS=y
 CONFIG_NFS_FS=m
@@ -9464,6 +9704,7 @@ CONFIG_LOCKD=m
 CONFIG_LOCKD_V4=y
 CONFIG_NFS_ACL_SUPPORT=m
 CONFIG_NFS_COMMON=y
+CONFIG_NFS_V4_2_SSC_HELPER=y
 CONFIG_SUNRPC=m
 CONFIG_SUNRPC_GSS=m
 CONFIG_SUNRPC_BACKCHANNEL=y
@@ -9479,7 +9720,6 @@ CONFIG_CEPH_FS_SECURITY_LABEL=y
 CONFIG_CIFS=m
 # CONFIG_CIFS_STATS2 is not set
 CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
-# CONFIG_CIFS_WEAK_PW_HASH is not set
 CONFIG_CIFS_UPCALL=y
 CONFIG_CIFS_XATTR=y
 CONFIG_CIFS_POSIX=y
@@ -9490,6 +9730,11 @@ CONFIG_CIFS_DFS_UPCALL=y
 CONFIG_CIFS_SWN_UPCALL=y
 # CONFIG_CIFS_SMB_DIRECT is not set
 CONFIG_CIFS_FSCACHE=y
+CONFIG_SMB_SERVER=m
+CONFIG_SMB_SERVER_SMBDIRECT=y
+CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=y
+CONFIG_SMB_SERVER_KERBEROS5=y
+CONFIG_SMBFS_COMMON=m
 CONFIG_CODA_FS=m
 CONFIG_AFS_FS=m
 # CONFIG_AFS_DEBUG is not set
@@ -9599,7 +9844,7 @@ CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
 CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
 # CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set
 CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/usr/bin/tomoyo-init"
-CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/usr/bin/init"
+CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/usr/lib/systemd/systemd"
 # CONFIG_SECURITY_TOMOYO_INSECURE_BUILTIN_SETTING is not set
 CONFIG_SECURITY_APPARMOR=y
 CONFIG_SECURITY_APPARMOR_HASH=y
@@ -9614,6 +9859,7 @@ CONFIG_SECURITY_LOCKDOWN_LSM=y
 CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y
 # CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set
 # CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set
+CONFIG_SECURITY_LANDLOCK=y
 # CONFIG_INTEGRITY is not set
 # CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
 # CONFIG_DEFAULT_SECURITY_SELINUX is not set
@@ -9621,7 +9867,7 @@ CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y
 # CONFIG_DEFAULT_SECURITY_TOMOYO is not set
 # CONFIG_DEFAULT_SECURITY_APPARMOR is not set
 CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_LSM="lockdown,yama,bpf"
+CONFIG_LSM="landlock,lockdown,yama,bpf"
 
 #
 # Kernel hardening options
@@ -9639,6 +9885,8 @@ CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
 # CONFIG_GCC_PLUGIN_STACKLEAK is not set
 CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
 # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
+CONFIG_ZERO_CALL_USED_REGS=y
 # end of Memory initialization
 # end of Kernel hardening options
 # end of Security options
@@ -9664,7 +9912,7 @@ CONFIG_CRYPTO_HASH=y
 CONFIG_CRYPTO_HASH2=y
 CONFIG_CRYPTO_RNG=y
 CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_RNG_DEFAULT=m
+CONFIG_CRYPTO_RNG_DEFAULT=y
 CONFIG_CRYPTO_AKCIPHER2=y
 CONFIG_CRYPTO_AKCIPHER=y
 CONFIG_CRYPTO_KPP2=y
@@ -9682,7 +9930,6 @@ CONFIG_CRYPTO_CRYPTD=m
 CONFIG_CRYPTO_AUTHENC=m
 CONFIG_CRYPTO_TEST=m
 CONFIG_CRYPTO_SIMD=m
-CONFIG_CRYPTO_GLUE_HELPER_X86=m
 CONFIG_CRYPTO_ENGINE=m
 
 #
@@ -9690,8 +9937,9 @@ CONFIG_CRYPTO_ENGINE=m
 #
 CONFIG_CRYPTO_RSA=y
 CONFIG_CRYPTO_DH=y
-CONFIG_CRYPTO_ECC=m
+CONFIG_CRYPTO_ECC=y
 CONFIG_CRYPTO_ECDH=m
+CONFIG_CRYPTO_ECDSA=y
 CONFIG_CRYPTO_ECRDSA=m
 CONFIG_CRYPTO_SM2=m
 CONFIG_CRYPTO_CURVE25519=m
@@ -9754,10 +10002,7 @@ CONFIG_CRYPTO_POLY1305_X86_64=m
 CONFIG_CRYPTO_MD4=m
 CONFIG_CRYPTO_MD5=y
 CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_RMD128=m
 CONFIG_CRYPTO_RMD160=m
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
 CONFIG_CRYPTO_SHA1=y
 CONFIG_CRYPTO_SHA1_SSSE3=m
 CONFIG_CRYPTO_SHA256_SSSE3=m
@@ -9767,7 +10012,6 @@ CONFIG_CRYPTO_SHA512=y
 CONFIG_CRYPTO_SHA3=m
 CONFIG_CRYPTO_SM3=m
 CONFIG_CRYPTO_STREEBOG=m
-CONFIG_CRYPTO_TGR192=m
 CONFIG_CRYPTO_WP512=m
 CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
 
@@ -9792,7 +10036,6 @@ CONFIG_CRYPTO_CAST6_AVX_X86_64=m
 CONFIG_CRYPTO_DES=m
 CONFIG_CRYPTO_DES3_EDE_X86_64=m
 CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_SALSA20=m
 CONFIG_CRYPTO_CHACHA20=m
 CONFIG_CRYPTO_CHACHA20_X86_64=m
 CONFIG_CRYPTO_SERPENT=m
@@ -9800,6 +10043,8 @@ CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
 CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
 CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
 CONFIG_CRYPTO_SM4=m
+CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64=m
+CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64=m
 CONFIG_CRYPTO_TWOFISH=m
 CONFIG_CRYPTO_TWOFISH_COMMON=m
 CONFIG_CRYPTO_TWOFISH_X86_64=m
@@ -9820,11 +10065,11 @@ CONFIG_CRYPTO_ZSTD=y
 # Random Number Generation
 #
 CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_DRBG_MENU=m
+CONFIG_CRYPTO_DRBG_MENU=y
 CONFIG_CRYPTO_DRBG_HMAC=y
 CONFIG_CRYPTO_DRBG_HASH=y
 CONFIG_CRYPTO_DRBG_CTR=y
-CONFIG_CRYPTO_DRBG=m
+CONFIG_CRYPTO_DRBG=y
 CONFIG_CRYPTO_JITTERENTROPY=y
 CONFIG_CRYPTO_USER_API=m
 CONFIG_CRYPTO_USER_API_HASH=m
@@ -9857,6 +10102,7 @@ CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
 CONFIG_CRYPTO_LIB_POLY1305=m
 CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
 CONFIG_CRYPTO_LIB_SHA256=y
+CONFIG_CRYPTO_LIB_SM4=m
 CONFIG_CRYPTO_HW=y
 CONFIG_CRYPTO_DEV_PADLOCK=m
 CONFIG_CRYPTO_DEV_PADLOCK_AES=m
@@ -9899,12 +10145,16 @@ CONFIG_SIGNED_PE_FILE_VERIFICATION=y
 # Certificates for signature checking
 #
 CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
+# CONFIG_MODULE_SIG_KEY_TYPE_RSA is not set
+CONFIG_MODULE_SIG_KEY_TYPE_ECDSA=y
 CONFIG_SYSTEM_TRUSTED_KEYRING=y
 CONFIG_SYSTEM_TRUSTED_KEYS=""
 # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
 CONFIG_SECONDARY_TRUSTED_KEYRING=y
 CONFIG_SYSTEM_BLACKLIST_KEYRING=y
 CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
+CONFIG_SYSTEM_REVOCATION_LIST=y
+CONFIG_SYSTEM_REVOCATION_KEYS=""
 # end of Certificates for signature checking
 
 CONFIG_BINARY_PRINTF=y
@@ -9977,6 +10227,7 @@ CONFIG_GENERIC_ALLOCATOR=y
 CONFIG_REED_SOLOMON=m
 CONFIG_REED_SOLOMON_ENC8=y
 CONFIG_REED_SOLOMON_DEC8=y
+CONFIG_BCH=m
 CONFIG_TEXTSEARCH=y
 CONFIG_TEXTSEARCH_KMP=m
 CONFIG_TEXTSEARCH_BM=m
@@ -10050,10 +10301,10 @@ CONFIG_ARCH_STACKWALK=y
 CONFIG_SBITMAP=y
 CONFIG_PARMAN=m
 CONFIG_OBJAGG=m
-# CONFIG_STRING_SELFTEST is not set
 # end of Library routines
 
 CONFIG_PLDMFW=y
+CONFIG_ASN1_ENCODER=m
 
 #
 # Kernel hacking
@@ -10064,6 +10315,7 @@ CONFIG_PLDMFW=y
 #
 CONFIG_PRINTK_TIME=y
 # CONFIG_PRINTK_CALLER is not set
+CONFIG_STACKTRACE_BUILD_ID=y
 CONFIG_CONSOLE_LOGLEVEL_DEFAULT=4
 CONFIG_CONSOLE_LOGLEVEL_QUIET=1
 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -10081,8 +10333,11 @@ CONFIG_DEBUG_INFO=y
 # CONFIG_DEBUG_INFO_REDUCED is not set
 # CONFIG_DEBUG_INFO_COMPRESSED is not set
 # CONFIG_DEBUG_INFO_SPLIT is not set
+# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set
 CONFIG_DEBUG_INFO_DWARF4=y
 CONFIG_DEBUG_INFO_BTF=y
+CONFIG_PAHOLE_HAS_SPLIT_BTF=y
+CONFIG_DEBUG_INFO_BTF_MODULES=y
 # CONFIG_GDB_SCRIPTS is not set
 CONFIG_FRAME_WARN=2048
 CONFIG_STRIP_ASM_SYMS=y
@@ -10110,6 +10365,8 @@ CONFIG_HAVE_ARCH_KGDB=y
 CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
 # CONFIG_UBSAN is not set
 CONFIG_HAVE_ARCH_KCSAN=y
+CONFIG_HAVE_KCSAN_COMPILER=y
+# CONFIG_KCSAN is not set
 # end of Generic Kernel Debugging Instruments
 
 CONFIG_DEBUG_KERNEL=y
@@ -10150,6 +10407,11 @@ CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
 CONFIG_CC_HAS_KASAN_GENERIC=y
 CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
 # CONFIG_KASAN is not set
+CONFIG_HAVE_ARCH_KFENCE=y
+CONFIG_KFENCE=y
+CONFIG_KFENCE_SAMPLE_INTERVAL=100
+CONFIG_KFENCE_NUM_OBJECTS=255
+CONFIG_KFENCE_STRESS_TEST_FAULTS=0
 # end of Memory Debugging
 
 CONFIG_DEBUG_SHIRQ=y
@@ -10208,6 +10470,7 @@ CONFIG_LOCK_DEBUGGING_SUPPORT=y
 # CONFIG_CSD_LOCK_WAIT_DEBUG is not set
 # end of Lock Debugging (spinlocks, mutexes, etc...)
 
+# CONFIG_DEBUG_IRQFLAGS is not set
 CONFIG_STACKTRACE=y
 # CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
 # CONFIG_DEBUG_KOBJECT is not set
@@ -10215,7 +10478,7 @@ CONFIG_STACKTRACE=y
 #
 # Debug kernel data structures
 #
-# CONFIG_DEBUG_LIST is not set
+CONFIG_DEBUG_LIST=y
 # CONFIG_DEBUG_PLIST is not set
 # CONFIG_DEBUG_SG is not set
 # CONFIG_DEBUG_NOTIFIERS is not set
@@ -10233,11 +10496,9 @@ CONFIG_STACKTRACE=y
 CONFIG_RCU_CPU_STALL_TIMEOUT=60
 # CONFIG_RCU_TRACE is not set
 # CONFIG_RCU_EQS_DEBUG is not set
-# CONFIG_RCU_STRICT_GRACE_PERIOD is not set
 # end of RCU Debugging
 
 # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
 # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
 CONFIG_LATENCYTOP=y
 CONFIG_USER_STACKTRACE_SUPPORT=y
@@ -10251,13 +10512,13 @@ CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
 CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
 CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
 CONFIG_HAVE_FENTRY=y
+CONFIG_HAVE_OBJTOOL_MCOUNT=y
 CONFIG_HAVE_C_RECORDMCOUNT=y
 CONFIG_TRACER_MAX_TRACE=y
 CONFIG_TRACE_CLOCK=y
 CONFIG_RING_BUFFER=y
 CONFIG_EVENT_TRACING=y
 CONFIG_CONTEXT_SWITCH_TRACER=y
-CONFIG_RING_BUFFER_ALLOW_SWAP=y
 CONFIG_TRACING=y
 CONFIG_GENERIC_TRACER=y
 CONFIG_TRACING_SUPPORT=y
@@ -10268,12 +10529,15 @@ CONFIG_FUNCTION_GRAPH_TRACER=y
 CONFIG_DYNAMIC_FTRACE=y
 CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
 CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
+CONFIG_DYNAMIC_FTRACE_WITH_ARGS=y
 CONFIG_FUNCTION_PROFILER=y
 CONFIG_STACK_TRACER=y
 # CONFIG_IRQSOFF_TRACER is not set
 # CONFIG_PREEMPT_TRACER is not set
 CONFIG_SCHED_TRACER=y
 CONFIG_HWLAT_TRACER=y
+CONFIG_OSNOISE_TRACER=y
+CONFIG_TIMERLAT_TRACER=y
 CONFIG_MMIOTRACE=y
 CONFIG_FTRACE_SYSCALLS=y
 CONFIG_TRACER_SNAPSHOT=y
@@ -10289,6 +10553,7 @@ CONFIG_DYNAMIC_EVENTS=y
 CONFIG_PROBE_EVENTS=y
 CONFIG_BPF_KPROBE_OVERRIDE=y
 CONFIG_FTRACE_MCOUNT_RECORD=y
+CONFIG_FTRACE_MCOUNT_USE_CC=y
 CONFIG_TRACING_MAP=y
 CONFIG_SYNTH_EVENTS=y
 CONFIG_HIST_TRIGGERS=y
@@ -10314,7 +10579,6 @@ CONFIG_IO_STRICT_DEVMEM=y
 #
 # x86 Debugging
 #
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
 CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
 CONFIG_EARLY_PRINTK_USB=y
 # CONFIG_X86_VERBOSE_BOOTUP is not set
@@ -10351,22 +10615,23 @@ CONFIG_CC_HAS_SANCOV_TRACE_PC=y
 # CONFIG_KCOV is not set
 CONFIG_RUNTIME_TESTING_MENU=y
 # CONFIG_LKDTM is not set
-# CONFIG_TEST_LIST_SORT is not set
 # CONFIG_TEST_MIN_HEAP is not set
-# CONFIG_TEST_SORT is not set
+# CONFIG_TEST_DIV64 is not set
 # CONFIG_KPROBES_SANITY_TEST is not set
 # CONFIG_BACKTRACE_SELF_TEST is not set
 # CONFIG_RBTREE_TEST is not set
 # CONFIG_REED_SOLOMON_TEST is not set
 # CONFIG_INTERVAL_TREE_TEST is not set
 # CONFIG_PERCPU_TEST is not set
-CONFIG_ATOMIC64_SELFTEST=y
+# CONFIG_ATOMIC64_SELFTEST is not set
 CONFIG_ASYNC_RAID6_TEST=m
 # CONFIG_TEST_HEXDUMP is not set
+# CONFIG_STRING_SELFTEST is not set
 # CONFIG_TEST_STRING_HELPERS is not set
 # CONFIG_TEST_STRSCPY is not set
-CONFIG_TEST_KSTRTOX=y
+# CONFIG_TEST_KSTRTOX is not set
 # CONFIG_TEST_PRINTF is not set
+# CONFIG_TEST_SCANF is not set
 # CONFIG_TEST_BITMAP is not set
 # CONFIG_TEST_UUID is not set
 # CONFIG_TEST_XARRAY is not set
@@ -10394,6 +10659,8 @@ CONFIG_TEST_KSTRTOX=y
 # CONFIG_TEST_HMM is not set
 # CONFIG_TEST_FREE_PAGES is not set
 # CONFIG_TEST_FPU is not set
+# CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set
+CONFIG_ARCH_USE_MEMTEST=y
 # CONFIG_MEMTEST is not set
 # CONFIG_HYPERV_TESTING is not set
 # end of Kernel Testing and Coverage

From f2795ecdbfe59da4908acb90e5274aa4044a9e91 Mon Sep 17 00:00:00 2001
From: grizzlyuser <grizzlyuser@protonmail.com>
Date: Apr 06 2022 07:48:38 +0000
Subject: [PATCH 26/28] libre/iceweasel: Sync with upstream 98.0.1


---

diff --git a/libre/iceweasel/PKGBUILD b/libre/iceweasel/PKGBUILD
index 4014216..eef2c05 100644
--- a/libre/iceweasel/PKGBUILD
+++ b/libre/iceweasel/PKGBUILD
@@ -59,9 +59,9 @@
 
 pkgname=iceweasel
 epoch=1
-pkgver=98.0
+pkgver=98.0.1
 pkgrel=1
-pkgrel+=.parabola7
+pkgrel+=.parabola1
 _brandingver=95.0-1
 pkgdesc="Standalone web browser derived from Mozilla Firefox"
 arch=(x86_64)
@@ -102,7 +102,7 @@ source_armv7h=(build-arm-libopus.patch)
 source_i686=('avoid-libxul-OOM-python-check.patch'
              'rust-static-disable-network-test-on-static-libraries.patch'
              'firefox-93.0_x86_math_private_20211110.patch')
-sha256sums=('fd0a4c11d007d9045706667eb0f99f9b7422945188424cb937bfef530cb6f4dd'
+sha256sums=('f8de2f514d94cad25a2c8a5d219399de5c05a907607d51c5c5235a8bc9bb361c'
             'SKIP'
             '9cdc2602661717712092d28bb494e5b48e518cb930898aca85eaf21f91f7ef58')
 sha256sums+=('d1b9d98cea5356df97fc5c221830de1ced8f826cb39fac9427c407e3eae54c02'

From 413aec5c69f15c103ce5f8eb5ec5c1c503574f6f Mon Sep 17 00:00:00 2001
From: grizzlyuser <grizzlyuser@protonmail.com>
Date: Apr 06 2022 07:48:38 +0000
Subject: [PATCH 27/28] libre/iceweasel: Update existing and add new patch


1. Code has been moved from bookmarks.html.in to another file, see [1]
2. Code from region.properties has been moved as well, see [2]
3. Mozilla added yet another page for promotion of their products, this
   time it's in Preferences, and is called "More from Mozilla", which
   contains QR code and a feature to send a link to email, which lead to
   Firefox Mobile, which is not compatible with the FSDG. So the page
   has been removed.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1749435
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=1733497

---

diff --git a/libre/iceweasel/9004-FSDG-misc.patch b/libre/iceweasel/9004-FSDG-misc.patch
index a42043e..6324ce2 100644
--- a/libre/iceweasel/9004-FSDG-misc.patch
+++ b/libre/iceweasel/9004-FSDG-misc.patch
@@ -1,3 +1,196 @@
+From d8ea43891548f1e2a205cf73bb5b39f916a0ee8d Mon Sep 17 00:00:00 2001
+From: grizzlyuser <grizzlyuser@protonmail.com>
+Date: Sat, 12 Mar 2022 17:14:25 +0100
+Subject: [PATCH] FSDG: Replace upstream default bookmarks
+
+---
+ browser/base/content/default-bookmarks.html | 50 +++++++++------------
+ 1 file changed, 21 insertions(+), 29 deletions(-)
+
+diff --git a/browser/base/content/default-bookmarks.html b/browser/base/content/default-bookmarks.html
+index b2d18d3098..e2e643bcf2 100644
+--- a/browser/base/content/default-bookmarks.html
++++ b/browser/base/content/default-bookmarks.html
+@@ -1,14 +1,14 @@
+ #filter substitution
+ 
+-#define mozilla_icon data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E %3Cpath d='M0 0h16v16H0z'/%3E %3Cpath d='M13.994 10.356H15V12h-3.171V7.741c0-1.308-.435-1.81-1.29-1.81-1.04 0-1.46.737-1.46 1.8v2.63h1.006V12H6.918V7.741c0-1.308-.435-1.81-1.291-1.81-1.039 0-1.459.737-1.459 1.8v2.63h1.441V12H1v-1.644h1.006V6.079H1V4.435h3.168v1.139a2.507 2.507 0 0 1 2.3-1.29A2.452 2.452 0 0 1 8.931 5.91 2.535 2.535 0 0 1 11.4 4.284 2.448 2.448 0 0 1 14 6.9v3.458z' fill='%23fff'/%3E %3C/svg%3E
+-
+-#define firefox_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAHY0lEQVR4Aa3VA5RrSdfG8f+uOidJp/umczm2ffFhbNvG9722bdv22LZt+3I81+04B1XvfpPmWHut3yk06smus1Z4L8uXDv6MHzpowA8eWFS8FaY9eU+cCvxaFfF8W/FWGDy8a6n7DM7/H96DR3ldu0MVb8a0J+9CI1qXJP11a+79GOdP1f11FW/EtCfvQpx8mziFxMHEEEV1KYkrKl6Pea1Nbnrs/7hz7q2KUQsqRcUE/eV1acb/pyFQ7b9N3fguzNTxVsXrMa/avFgPb6SnukY8W6EgXvszrszjivH08F0VLZFK0rbUgRt9H2aS+lORznUxnTMV45kJG6fNPZSGnEodTJwUFGbphqdSll/H/SxWjEc92kYxSoO0uzEcwo90g/9rlKpHpCmX491MxQgzuvjtE0UieyqxhYZA3UGp8CjUtSMR2YrkFdf+/szi9X88+zM3/uncSx/81/f+7/HzPsu8q09i8MUNcCUHUTImceAAL+RC+UW1nMzHuUvxSVGBCloTgMT+GuOLipaGyg/OpLuE/jVI58wHb/zsdxD5tBVbDMQwOPe/8UDqHYuuPJjCZnP5nw/+mfyUPhADRtkAaIfosum23klBxH8b+KzCfuczG8IPXi4C5yHQwvDoPYhCBSkz1n9y1+WLd8xFzVUxxmIRjBIBVHXFZF58aEtW3exxsp0V8Aac8gpBnGQBRNymkP4VXKPdgdj8H2JB/DgMVwreATFhdoCdj/wY8x7+GM8/djyJ81hlnCPTUWfHb/0QlyRUelalEPcCHswIQARJPd64ohh/KHBagPcQB7sggHgIVHcM0wUyWWUAoNaEuobI9bP1dj9lw1nnMvehj/LS0wdinYO4wM1f/h6z3v9n1t3pTnAWBj04ZQA7LFROwMsu7QCpgcjuCh4Asg5Wa0ImgNDqqHTOtDyIgPPKkZ/cZOstzmT+Nw4jcA5JBO9SHjzzWKZt8CRd03ohD/RZALCigIwHawBmKgKSVoAiAi2VDCzsgo0bYB04lSojEAaQDyETsmTZf3PPdZ+irvMgTTF4SAVX7+SRC/dj5/f/C6D9d5UQLBAIFBJILIhtB1g2a8uZq+1+LwiAV8CSTujPwqoRbJjCJMdAeRVue+j/WLh4T2I3jcCEhN4ShmDFYR2IAXC8OHdDaMYAYBxU82AFAgPShHoejAEgUEViy2h5UbS9LLBajf5oMr866wc0wlWQvEEyNQKbIcSSwZBNIfAO41NQ9ZXd0IgBAQdUDAQWpjQhcfi6gCgguDtTm3vIUBdhdwUA/Pggqmy49/n/pr/q8ZMq4DziEwI0QOtpiT1kXUqQRqC8ohaDy0BqoGzxOUE6q9DwMBiOvtzm5OLi3migAFEwpjnOCzmKhZXUkyr1uEwtLqky1aStNk4jqhFFDVZb6ykYMjBodQxw5RAKZUgSqAq+YmmWzFxF0P8L61Z8pHhf5/S+bfHQJm1OLcuzw4YPcWH3/qysTcebFHyESTOkhLjUokt8M8VFCVYDbLXhvdCfARfiG3lkykDr2qhbXJTRUZBAngMwootGI3tbrbcIsR3ugp3Yhbun89l9/ko+qCDVGpQruHKJqDakBmnq2KyXaDZKrDX1KWau+ij0ZqAvgwR1JFuFmihwPTkdDQN9co3C6IMnwujs0sppELcOV+NHVc2wzv2eb+74J6ZP6kGazeEgZZJqiaRWJo6qbDb5MU7c4ixYmYUhC7YJaQxVgYrgSxa3sgNftdww31+usFuvuykfWDzU/4HytL0llTVz+SbiAScTryKxFFc6dlnnQVZP+wEo2grT7ACb5V7g2BnXsVfxHsLEgfGQTYb/1kJqWpKV3VDLM1iXi/a8PDrtqmecl451DwLg8oG1DtnMmcsKq/bQ1V3BmBTsfzgIfHucwINxICivADt8eADkBLJGtcc0ydHsmU7QEXBFfzwTeFwRnLFtDoBD7nv5+vv61v2XXzHlfR7oKtQxLkFcCqkDK8qMHdIex4gSMxaoKZBtS8lQ18NtJsPSmv/Nyfc3nma4RjsA8Jnq1HU+WC9cY01z865pJQrdDcQkrW6IpGOfun3oxLnw6m/SEBIyVFbOIMhmiXJy35oL+vYDBhkuGxY3YaTuy9TLA+Jv2inu2j2ph9NrTUMmCyIGjwEnyiCtUaUWnGlLR1hIlM6rKwpUX5qBiTuI02Du94aqx8zJhEsVI4IPduUZV+7vDC0CDv9GdeolUjObL18ckutqMKkQkc2kiFHOITLCwyiUp1bNUhuYRFrrxPoMzdDM/XbUf/gZvvYsozX+Cl5d5vh690afrk3+0hR4XyoxqYmQICaTSwjClI6cA3EIvhWi0QiIm6rRgaQh1ikfsMK43/xv8YWfASuUe6sBAIzqPmNwjb1nJdnP5PDbOpPgJMXjWhDAC4JgvEWUaQkoib/o/NzQb37S1fP0+Dt/6wHGKqe6v1yZvuG+zc69p3m7d4dnW8TjAaEdwmFKEcztkfSG67KVG346aeV8YEglincRYLQClVcdKsery6lI1VVNJbyF+jdp8gPG4E08mAAAAABJRU5ErkJggg==
+-
+-#define bugzilla_icon data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnYCL7J0pY9wwETY9kYEM9AAAAAEBAYAhVVVUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1bjTOS1Vb/wAA2/8JEqT/Q0g8kQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJnMqoiJtJ/0haST/NEkp/yQnW/8AAPD8AAHY/RsgP/JZUI+GKitih4ObUEAAAAAAAAAAAAAAAAAAAAAAKnouwip5Lv9ooW//a6Jz/y9GIv8JBXb/AADO/gEBvf8AAK7/FRJp/z9BfP8iLGj1AAAAAAAAAAAAAAAAL4YzwiB0I/+UwJ3/bK+C/02eZ/9CTjz/DBa1/wABxf8BAOj/AACp/w8Oc/sJCv//EhCN9AAAAAAAAAAANJA6iC2MMv93tYL/TZ5U/3mzjP9NoWr/NEss/wYIU/8CBOn/ARCX/wwNqP0TD6X/Cgyex5qacDAAAAAAAAAAADKUN/ZirWj/d76R/0SgXf9Ln1P/eLSM/1mda/8rOkb/CQiD/wMQvf8UEnT/MTAt4P//MwUhZyN8AAAAAAAAAAAznDf5UqlZ/228jP9NqnD/Qp9c/0yiVP+Dv5b/VaVw/0VxXf9PZXD/S3pQ/y54Nf8jcCf/I2wn/wAAAAA0ozjIM6E4/zOeOP+Uz6z/XLR+/06scv9BoV3/TqZX/4XBmP9XqHP/hr6Z/yp+Lf8leSr1JXUqbQAAAAA3rTz7Nqo7/zWmOqM3oz7rUK1W/43Mpf9etYD/T61z/0KjXf9Rqln/msup/46/lf8pgy7/JFg6sAAAAAAAAAAAOK8+8jqvOiMAAAAAAAAAADSlOv85pT//kM6o/2K5hP9Ysnv/YLJ2/ziXPv8piS3/V6Ri/yZQQ9wAAAAAAAAAAAAAAAAAAAAAAAAAADetP0E2qzz/OKg98UWsS/+e1K3/pNe4/4XDjv8ojy3/T7df/5fIqv8sjTH/K4kw/yqFLv8AAAAAAAAAAAAAAAA4sT3xN7A8+QAAAAA4qz3yNag6/zSlOf80oTn/csJ+/6/jwv9fjHj/MmRMdQAAAAAAAAAAAAAAAAAAAAAAAAAAOrdA/zm0QHQAAAAAAAAAADasO/k2qTvuRX5lpjqGT/gznDr/O3FXigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADq9QiMAAAAAAAAAAAAAAAA4sj7/Nq09s0uOaSI1qTplM6U68wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOrc//zu0P0EAAAAAOK4+UjWsPPgAAAAAAAAAAAAAAAAAAAAA/48AAP8HAAD4AQAA8AAAAOAAAADAAQAAwAMAAMAAAACAAwAAAAMAAHADAADwAAAA5AcAAO4HAAD+bwAA/u8AAA==
+-
+-#define mdn_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAABgElEQVR4AWPouPiRpmjUAjgatSBj+aG0OVuyVhymsgWl2y475zXySikwwIC4lpFDVk3avG0BrXP9mmeV7bhCvgXuxW3M7JwMeAGfpByZFpjHFzAQB2KmrSfZAtuMKgaiAZ+MUuLc7SRY4FbYwkA60HAJiJm8uubQAwIWeJV1MlAAOAREHDJrcFqQMG+ngIK6oKyykLwqAyMjeXZwiUjgtKD+yGMIwyGzmoGBTAs4hcXrgObgi4OiVkpCiUtYov7YU5wW1B194t0ww69ldvjktYouwWRYIGdkQ1Q+iJ28hp2Xn7B5zKzIPAlNw6S52wlbkL3mJJecOq+CBqeIJC6TjUJTMlcdz9lwLmriSuPgJBVbj/D+5SSXRequQVhNN4nIoEJhV77jKgs7B6bprJw85XtuU8GCpNlbSS3gSA4ii4QiTAvElDWpWeH41kxg5eZDSypUrtFKd1zTcA1EpHRDS5rUyQEts+VN7JjYOGR0TWhY6RdsOhc/Y9NoswUJjVoAAE+h555Rgcg2AAAAAElFTkSuQmCC
+-
+-#define addon_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAABOFBMVEUAAAAAzdwAydcAyNgA//8AzOYAydcAyNgAyNgA2NgAytoAzNkAytgAydgA29sA0egAyNgAyNgA//8AyNgAydgA//8Ay9cAydcAytkAz90Ay9gA1eoAydgAytsAyNgAytgAydkAydgAydgAyNgAydgAyNcAy9oAydgA//8AytsAy9kAytkAyNgAydgAydkAy9kAzP8AydgAydgAydgAz98AzN0AyNcAyNsAydcAydgAydgAydcAytgAytcAydcAydcAytcAydcAyNcAydcAy9gAztgAydcAydgAzOAAydcAyNgAyNgAytwAyNcAyNgAy9wAyNcAyNcAyNgAydgAyNcAydcAydgA0uEAydkAyNgAyeQA4+MAyNgAydkAzN0AyNsA1f8AyNgAydgAydcA1eMAydgAydcAyNdj6PGJAAAAZ3RSTlMAJFpBAQqm8qwNPiiPygcLv8QEw5cDQMA1JU4MwiuDbl/+6+m4+0XLAj9KePz9cjYFvervEA/IDsfFr+xcgeaOYIDo+ica1OMZ9bXlHe73LM3M35itxs8Rf5ATCbFeHjgGttC5ErzO3WvwaAAAAWxJREFUOMt9kudCwkAQhFcITQWCoaggiBqxoaixYUVsYMMGCmLXff838LIXCJAL84fvmCHsTg4AYMDhlIDkcnu8Po4w6BjiIA0joj+gY1BmGKLEiMIwHNFR9xGjuh8jpMQoYZjRGBGOA8QTHDEUB4hynABwcEqCT8GW2DNSnCYBnJzSoSk0NT2jcphlM/rRXpk5NkRgfmFxSWBml6MrOWNlWBUEEmDKtyYIrGttP66gSP4Nww8mUKzNLd5/zHaJbb1Tl9xnzR2WcGM/5QE8BLvJvf0Dc4HDo8IxUVECL5Vywv7s9Mzwz/WLcFHSsWy8w0sa9+qa/JtbOlUY3mnGLbjnCz9Q4JEfnhCrNb5nXi3w754p8MIPKVWpt6psGJ+vFJBbBUO3GlozzYdsSmCV1NlntiTnegNvPQ29Wx7h7fKrEUvg47PD/6oLpgh8m7//AZEav4b/J/bbb75SAzvR3crY+6y8fLGsQV9ZSvwHF4LQIhDjT+8AAAAASUVORK5CYII=
++#define parabola_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC
++ 
++#define fsf_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAADG0lEQVQoFQEQA+/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQECAAAAAAAAAAAAAAAAAAAA2qOp7tTXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP///wAAAAAAAOCyt7pUXQcSEgcQDwAAAP///wAAAAAAAAD//x9NSDqNhQEBAQQAAAAAAAAAAAAAAAAQJiQGDQ0aPToZPjoAAQEAAAAAAAAAAAABAQEpZV4AAAAAAAAAAAAA////////////////pSIv05KZ////////////////////////////////AAAAAQAAAP///6krNwAAAAAAAPHc3ggSEQcSEQAAAAAAAAAAABY3NEGelQAAAAAAAAEBAQEAAAD///+YARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDg1g690CBgYAAAABAQEEAAAAAAAAS7etAAAAAAAAwGVtHklFIlJOAAAAAAAAAAAAAAAA+/X2BwYGAAAAAAAABAAAAAAAAB1IQwAAAAAAAAYNDBAmJB1IQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAgL//v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAQEB//7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAECAv/+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////cqK3qzM////////////////////////////////8AAAABAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGuLjDf9F8oBAAAAAElFTkSuQmCC
++ 
++#define gnu_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAGFBMVEVFRUV+fn6mpqa/v7/Ozs7Y2Njg4OD8/Pwuhn+TAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9MBDhQ6Gd8s57cAAAEVSURBVBgZBcGxVtpgGADQL9gHSBzqSognzMixmcWWzB6pmRHhnyvku6/fewMAIPD3TwHmQxHs6vr+A16bphNum/vV0x429201hcPjAGBTDZGnR/Kw1U181+u4HXvOdSxjUcztz8jjg1xGVBG9XPYxt4PviKiaWLg168iXtbrq+mPT1utjNcR1U73deRnL43M2sRgj3+oYs8uL3rLphPd2QWmHbMu/VS/cnk6UdtSW657g9yBlcZ0UAkUWzPvyRaAYmfd+HT4IZtvC59ibEJxXiqJjQpBpNEufBYE0McoOAunGhRMEFIPc7h4goJigQEBxk8u7AgEpL3IEAUZfcgAByGFXQACm5+4MAuB19QMEgI8CAgDgP4rivVgoKP6ZAAAAAElFTkSuQmCC
++ 
++#define libreplanet_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACfElEQVQ4jZXTS0hUcRTH8f+9M3fGd0gRRq1a2bZdBAotWtS6TQtB6IHgKzRy0UKqjRaRCAq+R21MDMsUR83JR5fJxhmaK2lzsWAWw+ToEHJxgnFm7reFIgza66z/58P/dzhHcESZpsluIsFPwyCVSmGa5lHPEEIIkdGYTqPPvqUlP4fK8nJ2DINYNEq71YJ3fv4QlAGkUynaj+VRdfUK7580M52rEN/ZYWNjg2GrjEMSPFXsmOn0YcA0TZ4V5tNZUkJTTTWfJiZIJhJ8U1VczwcZs0o4JUHzufM0ZGcf/OQASCaTxGIxDMNA00P8iEbpuXyJ8Tw77+wWJhWZQYuVbiHoFIKwpmUC4XCYzc1NDMMgHo9z8+IFvl6/xsf7D9ArbjOpyAxLEt1C0CUErfvJDwBd14lEImxvb/N9fR1fgY3egmyWsq0sO/poUyw4pb3mLiFolyRM09wDEokEfr+fUChEJBJh4HgBS7kKn92zLIy9ZriqklFZwiEEHfsRRp1O0un0HpDa3cU9M8PKygp3Tp5AzbKgZlmYt1uYtkn02q0MyYKmnBxWNI27Nhtut5tkMrkHmKZJbWkpqqryQpFxKTJTisyEVeaVRWJIlqgpLuZRWRkejwe/34/P58ucwZvWVhYXF5l2uejIzeHGqbM4ZYmB/dy1hUV8mJpibm4On8/H1tbW4T1YXV3F6/WysLDA5Pg4nfsDe5yfz8OiIjweD5qmEQwGf7/KwWCQtbU1NE2jRZbpEoI2SWKqr49lVUXX9T/fAkAgEKC/e5SW6mo6hKD+zGn6e0bw+/x/PyaA9S/rvOwfobGukfpbddyraMDR7iCwHPg34H9KCCF+Abts3KCj/p6aAAAAAElFTkSuQmCC
++ 
++#define hnode_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABgElEQVQ4jaXRz2uSARzHcb0vlRGEzTVWISU1BVkFYTIyjNK1pKcxHA+yhWMWIamHYikFgpoLIi9jwegi3QbL9SzdLmMbM9J+DkJBgm5RDvEPeHeQHOyQz0OH9+V7ePGBr0pqpPmfVPsP8a0AR4MnMEwf48x9K0s/E8oAY9iEMOvD+8yP2qVjrhhRBnSN61n5sIpULqC+pGHh8wNlgEY8jPQXcGh4VXukDND5evYAl46odIuXtYdKAANSudAChO52/XeMZMohecCbcoGdH99Y+7LO72adT9+/4nh8nYOjBl7/SsoB8gBkpHk8T0S2K++pN3fRin3cfnFDHvCuWkI9rEMvHGEo5gbAHnXhnLF1BpZLeRaLOVT2A8Q3A5wMngXgWtKLxX9KPqC+rCWQvYkpeK4NWKcGOgO50ts2MJJ0cPreeQDciTHMchZYIhcwh2wcuqjn+ccwGm9v6wsTxxn0dVgQXZ7Ek3Agpq6QrcaQGmmebtxFSDkRU1fJVmL/BpT2ByV/3eDMhinRAAAAAElFTkSuQmCC
+ <!-- This Source Code Form is subject to the terms of the Mozilla Public
+    - License, v. 2.0. If a copy of the MPL was not distributed with this
+    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+@@ -29,31 +29,23 @@
+ <dl><p>
+     <dt><h3 personal_toolbar_folder="true" data-l10n-id="default-bookmarks-toolbarfolder">default-bookmarks-toolbarfolder</h3></dt>
+     <dd data-l10n-id="default-bookmarks-toolbarfolder-description">default-bookmarks-toolbarfolder-description</dd>
+-#ifndef NIGHTLY_BUILD
+         <dl><p>
+-            <dt><a href="https://www.mozilla.org/firefox/central/" icon="@firefox_icon@" data-l10n-id="default-bookmarks-getting-started">default-bookmarks-getting-started</a></dt>
++            <dt><a href="https://www.parabola.nu/" icon="@parabola_icon@">Parabola GNU/Linux-libre</a></dt>
+         </dl><p>
+-    <dt><h3 data-l10n-id="default-bookmarks-firefox-heading">default-bookmarks-firefox-heading</h3></dt>
++    <dt><h3>Parabola GNU/Linux-libre</h3></dt>
+         <dl><p>
+-            <dt><a href="https://support.mozilla.org/products/firefox" icon="@firefox_icon@" data-l10n-id="default-bookmarks-firefox-get-help">default-bookmarks-firefox-get-help</a></dt>
+-            <dt><a href="https://support.mozilla.org/kb/customize-firefox-controls-buttons-and-toolbars?utm_source=firefox-browser&utm_medium=default-bookmarks&utm_campaign=customize" icon="@firefox_icon@" data-l10n-id="default-bookmarks-firefox-customize">default-bookmarks-firefox-customize</a></dt>
+-            <dt><a href="https://www.mozilla.org/contribute/" icon="@mozilla_icon@" data-l10n-id="default-bookmarks-firefox-community">default-bookmarks-firefox-community</a></dt>
+-            <dt><a href="https://www.mozilla.org/about/" icon="@mozilla_icon@" data-l10n-id="default-bookmarks-firefox-about">default-bookmarks-firefox-about</a></dt>
+-        </dl><p>
+-#else
+-        <dl><p>
+-            <dt><a href="https://www.mozilla.org/contribute/" icon="@mozilla_icon@" data-l10n-id="default-bookmarks-firefox-community">default-bookmarks-firefox-community</a></dt>
+-        </dl><p>
+-    <dt><h3 data-l10n-id="default-bookmarks-nightly-heading">default-bookmarks-nightly-heading</h3></dt>
++            <dt><a href="https://www.parabola.nu/" icon="@parabola_icon@">Parabola GNU/Linux-libre</a>
++            <dt><a href="https://www.parabola.nu/packages/" icon="@parabola_icon@">Parabola GNU/Linux-libre Packages</a>
++            <dt><a href="https://wiki.parabola.nu/" icon="@parabola_icon@">Parabola GNU/Linux-libre Wiki</a>
++            <dt><a href="https://labs.parabola.nu/" icon="@parabola_icon@">Parabola GNU/Linux-libre Labs</a>
++    </dl><p>
++    <dt><h3>Free Software Foundation</h3></dt>
+         <dl><p>
+-            <dt><a href="https://blog.nightly.mozilla.org/" icon="@mozilla_icon@" data-l10n-id="default-bookmarks-nightly-blog">default-bookmarks-nightly-blog</a></dt>
+-            <dt><a href="https://bugzilla.mozilla.org/" icon="@bugzilla_icon@" shortcuturl="bz" data-l10n-id="default-bookmarks-bugzilla">default-bookmarks-bugzilla</a></dt>
+-            <dt><a href="https://developer.mozilla.org/" icon="@mdn_icon@" shortcuturl="mdn" data-l10n-id="default-bookmarks-mdn">default-bookmarks-mdn</a></dt>
+-            <dt><a href="https://addons.mozilla.org/firefox/addon/nightly-tester-tools/" icon="@addon_icon@" data-l10n-id="default-bookmarks-nightly-tester-tools">default-bookmarks-nightly-tester-tools</a></dt>
+-            <dt><a href="about:crashes" icon="@mozilla_icon@" data-l10n-id="default-bookmarks-crashes">default-bookmarks-crashes</a></dt>
+-            <dt><a href="https://planet.mozilla.org/" icon="@mozilla_icon@" data-l10n-id="default-bookmarks-planet">default-bookmarks-planet</a></dt>
++            <dt><a href="https://www.fsf.org/" icon="@fsf_icon@">Free Software Foundation</a>
++            <dt><a href="https://www.gnu.org/" icon="@gnu_icon@">The GNU Operating System and the Free Software Movement</a>
++            <dt><a href="https://libreplanet.org/" icon="@libreplanet_icon@">LibrePlanet</a>
++            <dt><a href="https://www.h-node.org/" icon="@hnode_icon@">h-node</a>
+         </dl><p>
+-#endif
+ </dl>
+ </body>
+ </html>
+-- 
+2.35.1
+
+From 897828b97d1729b3e2fc734c699a1f0fa127cbe2 Mon Sep 17 00:00:00 2001
+From: grizzlyuser <grizzlyuser@protonmail.com>
+Date: Tue, 15 Mar 2022 13:29:29 +0100
+Subject: [PATCH] Remove 'More from Mozilla' section in Preferences
+
+Currently it contains functionality to provide links to nonfree software
+like Firefox Mobile, which is not compatible with the FSDG.
+---
+ browser/app/profile/firefox.js                   |  2 +-
+ browser/components/preferences/jar.mn            |  4 ----
+ browser/components/preferences/preferences.js    |  9 ---------
+ browser/components/preferences/preferences.xhtml | 12 ------------
+ 4 files changed, 1 insertion(+), 26 deletions(-)
+
+diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
+index 33a2ff36a7..72526ee950 100644
+--- a/browser/app/profile/firefox.js
++++ b/browser/app/profile/firefox.js
+@@ -997,7 +997,7 @@ pref("browser.preferences.experimental", true);
+ #else
+ pref("browser.preferences.experimental", false);
+ #endif
+-pref("browser.preferences.moreFromMozilla", true);
++pref("browser.preferences.moreFromMozilla", false);
+ pref("browser.preferences.experimental.hidden", false);
+ pref("browser.preferences.defaultPerformanceSettings.enabled", true);
+ 
+diff --git a/browser/components/preferences/jar.mn b/browser/components/preferences/jar.mn
+index 752b0b2ae3..4f3babeaf8 100644
+--- a/browser/components/preferences/jar.mn
++++ b/browser/components/preferences/jar.mn
+@@ -14,10 +14,6 @@ browser.jar:
+    content/browser/preferences/containers.js
+    content/browser/preferences/sync.js
+    content/browser/preferences/experimental.js
+-   content/browser/preferences/moreFromMozilla.js
+    content/browser/preferences/fxaPairDevice.xhtml
+    content/browser/preferences/fxaPairDevice.js
+    content/browser/preferences/findInPage.js
+-   content/browser/preferences/more-from-mozilla-qr-code-simple.svg
+-   content/browser/preferences/more-from-mozilla-qr-code-simple-cn.svg
+-   content/browser/preferences/more-from-mozilla-qr-code-advanced.svg
+diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js
+index f6dc2b3781..34c7d8c528 100644
+--- a/browser/components/preferences/preferences.js
++++ b/browser/components/preferences/preferences.js
+@@ -10,7 +10,6 @@
+ /* import-globals-from privacy.js */
+ /* import-globals-from sync.js */
+ /* import-globals-from experimental.js */
+-/* import-globals-from moreFromMozilla.js */
+ /* import-globals-from findInPage.js */
+ /* import-globals-from /browser/base/content/utilityOverlay.js */
+ /* import-globals-from /toolkit/content/preferencesBindings.js */
+@@ -203,14 +202,6 @@ function init_all() {
+     register_module("paneExperimental", gExperimentalPane);
+   }
+ 
+-  NimbusFeatures.moreFromMozilla.recordExposureEvent({ once: true });
+-  if (NimbusFeatures.moreFromMozilla.getVariable("enabled")) {
+-    document.getElementById("category-more-from-mozilla").hidden = false;
+-    gMoreFromMozillaPane.option = NimbusFeatures.moreFromMozilla.getVariable(
+-      "template"
+-    );
+-    register_module("paneMoreFromMozilla", gMoreFromMozillaPane);
+-  }
+   // The Sync category needs to be the last of the "real" categories
+   // registered and inititalized since many tests wait for the
+   // "sync-pane-loaded" observer notification before starting the test.
+diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml
+index 81059f3d2e..be23729276 100644
+--- a/browser/components/preferences/preferences.xhtml
++++ b/browser/components/preferences/preferences.xhtml
+@@ -33,7 +33,6 @@
+   <link rel="localization" href="browser/branding/sync-brand.ftl"/>
+   <link rel="localization" href="browser/browser.ftl"/>
+   <link rel="localization" href="browser/preferences/preferences.ftl"/>
+-  <link rel="localization" href="browser/preferences/moreFromMozilla.ftl"/>
+   <!-- Used by fontbuilder.js -->
+   <link rel="localization" href="browser/preferences/fonts.ftl"/>
+   <link rel="localization" href="toolkit/featuregates/features.ftl"/>
+@@ -152,16 +151,6 @@
+           <image class="category-icon"/>
+           <label class="category-name" flex="1" data-l10n-id="pane-experimental-title"></label>
+         </richlistitem>
+-        <richlistitem id="category-more-from-mozilla"
+-                      class="category"
+-                      hidden="true"
+-                      data-l10n-id="more-from-moz-category"
+-                      data-l10n-attrs="tooltiptext"
+-                      value="paneMoreFromMozilla"
+-                      align="center">
+-          <image class="category-icon"/>
+-          <label class="category-name" flex="1" data-l10n-id="more-from-moz-title"></label>
+-        </richlistitem>
+       </richlistbox>
+ 
+       <spacer flex="1"/>
+@@ -214,7 +203,6 @@
+ #include containers.inc.xhtml
+ #include sync.inc.xhtml
+ #include experimental.inc.xhtml
+-#include moreFromMozilla.inc.xhtml
+         </vbox>
+       </vbox>
+     </vbox>
+-- 
+2.35.1
+
 diff --git a/browser/app/permissions b/browser/app/permissions
 index 991284081d..888cc811ce 100644
 --- a/browser/app/permissions
@@ -98,79 +291,6 @@ index 1b29e8d..6f7566c 100644
  ## Firefox Account - Signed in
  
  sync-profile-picture =
-diff --git a/browser/base/content/default-bookmarks.html b/browser/base/content/default-bookmarks.html
-index b2d18d3..41cd27a 100644
---- a/browser/base/content/default-bookmarks.html
-+++ b/browser/base/content/default-bookmarks.html
-@@ -1,14 +1,14 @@
- #filter substitution
-
--#define mozilla_icon data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E %3Cpath d='M0 0h16v16H0z'/%3E %3Cpath d='M13.994 10.356H15V12h-3.171V7.741c0-1.308-.435-1.81-1.29-1.81-1.04 0-1.46.737-1.46 1.8v2.63h1.006V12H6.918V7.741c0-1.308-.435-1.81-1.291-1.81-1.039 0-1.459.737-1.459 1.8v2.63h1.441V12H1v-1.644h1.006V6.079H1V4.435h3.168v1.139a2.507 2.507 0 0 1 2.3-1.29A2.452 2.452 0 0 1 8.931 5.91 2.535 2.535 0 0 1 11.4 4.284 2.448 2.448 0 0 1 14 6.9v3.458z' fill='%23fff'/%3E %3C/svg%3E
-+#define parabola_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC
-
--#define firefox_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAHY0lEQVR4Aa3VA5RrSdfG8f+uOidJp/umczm2ffFhbNvG9722bdv22LZt+3I81+04B1XvfpPmWHut3yk06smus1Z4L8uXDv6MHzpowA8eWFS8FaY9eU+cCvxaFfF8W/FWGDy8a6n7DM7/H96DR3ldu0MVb8a0J+9CI1qXJP11a+79GOdP1f11FW/EtCfvQpx8mziFxMHEEEV1KYkrKl6Pea1Nbnrs/7hz7q2KUQsqRcUE/eV1acb/pyFQ7b9N3fguzNTxVsXrMa/avFgPb6SnukY8W6EgXvszrszjivH08F0VLZFK0rbUgRt9H2aS+lORznUxnTMV45kJG6fNPZSGnEodTJwUFGbphqdSll/H/SxWjEc92kYxSoO0uzEcwo90g/9rlKpHpCmX491MxQgzuvjtE0UieyqxhYZA3UGp8CjUtSMR2YrkFdf+/szi9X88+zM3/uncSx/81/f+7/HzPsu8q09i8MUNcCUHUTImceAAL+RC+UW1nMzHuUvxSVGBCloTgMT+GuOLipaGyg/OpLuE/jVI58wHb/zsdxD5tBVbDMQwOPe/8UDqHYuuPJjCZnP5nw/+mfyUPhADRtkAaIfosum23klBxH8b+KzCfuczG8IPXi4C5yHQwvDoPYhCBSkz1n9y1+WLd8xFzVUxxmIRjBIBVHXFZF58aEtW3exxsp0V8Aac8gpBnGQBRNymkP4VXKPdgdj8H2JB/DgMVwreATFhdoCdj/wY8x7+GM8/djyJ81hlnCPTUWfHb/0QlyRUelalEPcCHswIQARJPd64ohh/KHBagPcQB7sggHgIVHcM0wUyWWUAoNaEuobI9bP1dj9lw1nnMvehj/LS0wdinYO4wM1f/h6z3v9n1t3pTnAWBj04ZQA7LFROwMsu7QCpgcjuCh4Asg5Wa0ImgNDqqHTOtDyIgPPKkZ/cZOstzmT+Nw4jcA5JBO9SHjzzWKZt8CRd03ohD/RZALCigIwHawBmKgKSVoAiAi2VDCzsgo0bYB04lSojEAaQDyETsmTZf3PPdZ+irvMgTTF4SAVX7+SRC/dj5/f/C6D9d5UQLBAIFBJILIhtB1g2a8uZq+1+LwiAV8CSTujPwqoRbJjCJMdAeRVue+j/WLh4T2I3jcCEhN4ShmDFYR2IAXC8OHdDaMYAYBxU82AFAgPShHoejAEgUEViy2h5UbS9LLBajf5oMr866wc0wlWQvEEyNQKbIcSSwZBNIfAO41NQ9ZXd0IgBAQdUDAQWpjQhcfi6gCgguDtTm3vIUBdhdwUA/Pggqmy49/n/pr/q8ZMq4DziEwI0QOtpiT1kXUqQRqC8ohaDy0BqoGzxOUE6q9DwMBiOvtzm5OLi3migAFEwpjnOCzmKhZXUkyr1uEwtLqky1aStNk4jqhFFDVZb6ykYMjBodQxw5RAKZUgSqAq+YmmWzFxF0P8L61Z8pHhf5/S+bfHQJm1OLcuzw4YPcWH3/qysTcebFHyESTOkhLjUokt8M8VFCVYDbLXhvdCfARfiG3lkykDr2qhbXJTRUZBAngMwootGI3tbrbcIsR3ugp3Yhbun89l9/ko+qCDVGpQruHKJqDakBmnq2KyXaDZKrDX1KWau+ij0ZqAvgwR1JFuFmihwPTkdDQN9co3C6IMnwujs0sppELcOV+NHVc2wzv2eb+74J6ZP6kGazeEgZZJqiaRWJo6qbDb5MU7c4ixYmYUhC7YJaQxVgYrgSxa3sgNftdww31+usFuvuykfWDzU/4HytL0llTVz+SbiAScTryKxFFc6dlnnQVZP+wEo2grT7ACb5V7g2BnXsVfxHsLEgfGQTYb/1kJqWpKV3VDLM1iXi/a8PDrtqmecl451DwLg8oG1DtnMmcsKq/bQ1V3BmBTsfzgIfHucwINxICivADt8eADkBLJGtcc0ydHsmU7QEXBFfzwTeFwRnLFtDoBD7nv5+vv61v2XXzHlfR7oKtQxLkFcCqkDK8qMHdIex4gSMxaoKZBtS8lQ18NtJsPSmv/Nyfc3nma4RjsA8Jnq1HU+WC9cY01z865pJQrdDcQkrW6IpGOfun3oxLnw6m/SEBIyVFbOIMhmiXJy35oL+vYDBhkuGxY3YaTuy9TLA+Jv2inu2j2ph9NrTUMmCyIGjwEnyiCtUaUWnGlLR1hIlM6rKwpUX5qBiTuI02Du94aqx8zJhEsVI4IPduUZV+7vDC0CDv9GdeolUjObL18ckutqMKkQkc2kiFHOITLCwyiUp1bNUhuYRFrrxPoMzdDM/XbUf/gZvvYsozX+Cl5d5vh690afrk3+0hR4XyoxqYmQICaTSwjClI6cA3EIvhWi0QiIm6rRgaQh1ikfsMK43/xv8YWfASuUe6sBAIzqPmNwjb1nJdnP5PDbOpPgJMXjWhDAC4JgvEWUaQkoib/o/NzQb37S1fP0+Dt/6wHGKqe6v1yZvuG+zc69p3m7d4dnW8TjAaEdwmFKEcztkfSG67KVG346aeV8YEglincRYLQClVcdKsery6lI1VVNJbyF+jdp8gPG4E08mAAAAABJRU5ErkJggg==
-+#define fsf_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAADG0lEQVQoFQEQA+/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQECAAAAAAAAAAAAAAAAAAAA2qOp7tTXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP///wAAAAAAAOCyt7pUXQcSEgcQDwAAAP///wAAAAAAAAD//x9NSDqNhQEBAQQAAAAAAAAAAAAAAAAQJiQGDQ0aPToZPjoAAQEAAAAAAAAAAAABAQEpZV4AAAAAAAAAAAAA////////////////pSIv05KZ////////////////////////////////AAAAAQAAAP///6krNwAAAAAAAPHc3ggSEQcSEQAAAAAAAAAAABY3NEGelQAAAAAAAAEBAQEAAAD///+YARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDg1g690CBgYAAAABAQEEAAAAAAAAS7etAAAAAAAAwGVtHklFIlJOAAAAAAAAAAAAAAAA+/X2BwYGAAAAAAAABAAAAAAAAB1IQwAAAAAAAAYNDBAmJB1IQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAgL//v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAQEB//7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAECAv/+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////cqK3qzM////////////////////////////////8AAAABAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGuLjDf9F8oBAAAAAElFTkSuQmCC
-
--#define bugzilla_icon data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnYCL7J0pY9wwETY9kYEM9AAAAAEBAYAhVVVUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1bjTOS1Vb/wAA2/8JEqT/Q0g8kQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJnMqoiJtJ/0haST/NEkp/yQnW/8AAPD8AAHY/RsgP/JZUI+GKitih4ObUEAAAAAAAAAAAAAAAAAAAAAAKnouwip5Lv9ooW//a6Jz/y9GIv8JBXb/AADO/gEBvf8AAK7/FRJp/z9BfP8iLGj1AAAAAAAAAAAAAAAAL4YzwiB0I/+UwJ3/bK+C/02eZ/9CTjz/DBa1/wABxf8BAOj/AACp/w8Oc/sJCv//EhCN9AAAAAAAAAAANJA6iC2MMv93tYL/TZ5U/3mzjP9NoWr/NEss/wYIU/8CBOn/ARCX/wwNqP0TD6X/Cgyex5qacDAAAAAAAAAAADKUN/ZirWj/d76R/0SgXf9Ln1P/eLSM/1mda/8rOkb/CQiD/wMQvf8UEnT/MTAt4P//MwUhZyN8AAAAAAAAAAAznDf5UqlZ/228jP9NqnD/Qp9c/0yiVP+Dv5b/VaVw/0VxXf9PZXD/S3pQ/y54Nf8jcCf/I2wn/wAAAAA0ozjIM6E4/zOeOP+Uz6z/XLR+/06scv9BoV3/TqZX/4XBmP9XqHP/hr6Z/yp+Lf8leSr1JXUqbQAAAAA3rTz7Nqo7/zWmOqM3oz7rUK1W/43Mpf9etYD/T61z/0KjXf9Rqln/msup/46/lf8pgy7/JFg6sAAAAAAAAAAAOK8+8jqvOiMAAAAAAAAAADSlOv85pT//kM6o/2K5hP9Ysnv/YLJ2/ziXPv8piS3/V6Ri/yZQQ9wAAAAAAAAAAAAAAAAAAAAAAAAAADetP0E2qzz/OKg98UWsS/+e1K3/pNe4/4XDjv8ojy3/T7df/5fIqv8sjTH/K4kw/yqFLv8AAAAAAAAAAAAAAAA4sT3xN7A8+QAAAAA4qz3yNag6/zSlOf80oTn/csJ+/6/jwv9fjHj/MmRMdQAAAAAAAAAAAAAAAAAAAAAAAAAAOrdA/zm0QHQAAAAAAAAAADasO/k2qTvuRX5lpjqGT/gznDr/O3FXigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADq9QiMAAAAAAAAAAAAAAAA4sj7/Nq09s0uOaSI1qTplM6U68wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOrc//zu0P0EAAAAAOK4+UjWsPPgAAAAAAAAAAAAAAAAAAAAA/48AAP8HAAD4AQAA8AAAAOAAAADAAQAAwAMAAMAAAACAAwAAAAMAAHADAADwAAAA5AcAAO4HAAD+bwAA/u8AAA==
-+#define gnu_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAGFBMVEVFRUV+fn6mpqa/v7/Ozs7Y2Njg4OD8/Pwuhn+TAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9MBDhQ6Gd8s57cAAAEVSURBVBgZBcGxVtpgGADQL9gHSBzqSognzMixmcWWzB6pmRHhnyvku6/fewMAIPD3TwHmQxHs6vr+A16bphNum/vV0x429201hcPjAGBTDZGnR/Kw1U181+u4HXvOdSxjUcztz8jjg1xGVBG9XPYxt4PviKiaWLg168iXtbrq+mPT1utjNcR1U73deRnL43M2sRgj3+oYs8uL3rLphPd2QWmHbMu/VS/cnk6UdtSW657g9yBlcZ0UAkUWzPvyRaAYmfd+HT4IZtvC59ibEJxXiqJjQpBpNEufBYE0McoOAunGhRMEFIPc7h4goJigQEBxk8u7AgEpL3IEAUZfcgAByGFXQACm5+4MAuB19QMEgI8CAgDgP4rivVgoKP6ZAAAAAElFTkSuQmCC
-
--#define mdn_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAABgElEQVR4AWPouPiRpmjUAjgatSBj+aG0OVuyVhymsgWl2y475zXySikwwIC4lpFDVk3avG0BrXP9mmeV7bhCvgXuxW3M7JwMeAGfpByZFpjHFzAQB2KmrSfZAtuMKgaiAZ+MUuLc7SRY4FbYwkA60HAJiJm8uubQAwIWeJV1MlAAOAREHDJrcFqQMG+ngIK6oKyykLwqAyMjeXZwiUjgtKD+yGMIwyGzmoGBTAs4hcXrgObgi4OiVkpCiUtYov7YU5wW1B194t0ww69ldvjktYouwWRYIGdkQ1Q+iJ28hp2Xn7B5zKzIPAlNw6S52wlbkL3mJJecOq+CBqeIJC6TjUJTMlcdz9lwLmriSuPgJBVbj/D+5SSXRequQVhNN4nIoEJhV77jKgs7B6bprJw85XtuU8GCpNlbSS3gSA4ii4QiTAvElDWpWeH41kxg5eZDSypUrtFKd1zTcA1EpHRDS5rUyQEts+VN7JjYOGR0TWhY6RdsOhc/Y9NoswUJjVoAAE+h555Rgcg2AAAAAElFTkSuQmCC
-+#define libreplanet_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACfElEQVQ4jZXTS0hUcRTH8f+9M3fGd0gRRq1a2bZdBAotWtS6TQtB6IHgKzRy0UKqjRaRCAq+R21MDMsUR83JR5fJxhmaK2lzsWAWw+ToEHJxgnFm7reFIgza66z/58P/dzhHcESZpsluIsFPwyCVSmGa5lHPEEIIkdGYTqPPvqUlP4fK8nJ2DINYNEq71YJ3fv4QlAGkUynaj+VRdfUK7580M52rEN/ZYWNjg2GrjEMSPFXsmOn0YcA0TZ4V5tNZUkJTTTWfJiZIJhJ8U1VczwcZs0o4JUHzufM0ZGcf/OQASCaTxGIxDMNA00P8iEbpuXyJ8Tw77+wWJhWZQYuVbiHoFIKwpmUC4XCYzc1NDMMgHo9z8+IFvl6/xsf7D9ArbjOpyAxLEt1C0CUErfvJDwBd14lEImxvb/N9fR1fgY3egmyWsq0sO/poUyw4pb3mLiFolyRM09wDEokEfr+fUChEJBJh4HgBS7kKn92zLIy9ZriqklFZwiEEHfsRRp1O0un0HpDa3cU9M8PKygp3Tp5AzbKgZlmYt1uYtkn02q0MyYKmnBxWNI27Nhtut5tkMrkHmKZJbWkpqqryQpFxKTJTisyEVeaVRWJIlqgpLuZRWRkejwe/34/P58ucwZvWVhYXF5l2uejIzeHGqbM4ZYmB/dy1hUV8mJpibm4On8/H1tbW4T1YXV3F6/WysLDA5Pg4nfsDe5yfz8OiIjweD5qmEQwGf7/KwWCQtbU1NE2jRZbpEoI2SWKqr49lVUXX9T/fAkAgEKC/e5SW6mo6hKD+zGn6e0bw+/x/PyaA9S/rvOwfobGukfpbddyraMDR7iCwHPg34H9KCCF+Abts3KCj/p6aAAAAAElFTkSuQmCC
-
--#define addon_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAABOFBMVEUAAAAAzdwAydcAyNgA//8AzOYAydcAyNgAyNgA2NgAytoAzNkAytgAydgA29sA0egAyNgAyNgA//8AyNgAydgA//8Ay9cAydcAytkAz90Ay9gA1eoAydgAytsAyNgAytgAydkAydgAydgAyNgAydgAyNcAy9oAydgA//8AytsAy9kAytkAyNgAydgAydkAy9kAzP8AydgAydgAydgAz98AzN0AyNcAyNsAydcAydgAydgAydcAytgAytcAydcAydcAytcAydcAyNcAydcAy9gAztgAydcAydgAzOAAydcAyNgAyNgAytwAyNcAyNgAy9wAyNcAyNcAyNgAydgAyNcAydcAydgA0uEAydkAyNgAyeQA4+MAyNgAydkAzN0AyNsA1f8AyNgAydgAydcA1eMAydgAydcAyNdj6PGJAAAAZ3RSTlMAJFpBAQqm8qwNPiiPygcLv8QEw5cDQMA1JU4MwiuDbl/+6+m4+0XLAj9KePz9cjYFvervEA/IDsfFr+xcgeaOYIDo+ica1OMZ9bXlHe73LM3M35itxs8Rf5ATCbFeHjgGttC5ErzO3WvwaAAAAWxJREFUOMt9kudCwkAQhFcITQWCoaggiBqxoaixYUVsYMMGCmLXff838LIXCJAL84fvmCHsTg4AYMDhlIDkcnu8Po4w6BjiIA0joj+gY1BmGKLEiMIwHNFR9xGjuh8jpMQoYZjRGBGOA8QTHDEUB4hynABwcEqCT8GW2DNSnCYBnJzSoSk0NT2jcphlM/rRXpk5NkRgfmFxSWBml6MrOWNlWBUEEmDKtyYIrGttP66gSP4Nww8mUKzNLd5/zHaJbb1Tl9xnzR2WcGM/5QE8BLvJvf0Dc4HDo8IxUVECL5Vywv7s9Mzwz/WLcFHSsWy8w0sa9+qa/JtbOlUY3mnGLbjnCz9Q4JEfnhCrNb5nXi3w754p8MIPKVWpt6psGJ+vFJBbBUO3GlozzYdsSmCV1NlntiTnegNvPQ29Wx7h7fKrEUvg47PD/6oLpgh8m7//AZEav4b/J/bbb75SAzvR3crY+6y8fLGsQV9ZSvwHF4LQIhDjT+8AAAAASUVORK5CYII=
-+#define hnode_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABgElEQVQ4jaXRz2uSARzHcb0vlRGEzTVWISU1BVkFYTIyjNK1pKcxHA+yhWMWIamHYikFgpoLIi9jwegi3QbL9SzdLmMbM9J+DkJBgm5RDvEPeHeQHOyQz0OH9+V7ePGBr0pqpPmfVPsP8a0AR4MnMEwf48x9K0s/E8oAY9iEMOvD+8yP2qVjrhhRBnSN61n5sIpULqC+pGHh8wNlgEY8jPQXcGh4VXukDND5evYAl46odIuXtYdKAANSudAChO52/XeMZMohecCbcoGdH99Y+7LO72adT9+/4nh8nYOjBl7/SsoB8gBkpHk8T0S2K++pN3fRin3cfnFDHvCuWkI9rEMvHGEo5gbAHnXhnLF1BpZLeRaLOVT2A8Q3A5wMngXgWtKLxX9KPqC+rCWQvYkpeK4NWKcGOgO50ts2MJJ0cPreeQDciTHMchZYIhcwh2wcuqjn+ccwGm9v6wsTxxn0dVgQXZ7Ek3Agpq6QrcaQGmmebtxFSDkRU1fJVmL/BpT2ByV/3eDMhinRAAAAAElFTkSuQmCC
- <!-- This Source Code Form is subject to the terms of the Mozilla Public
-    - License, v. 2.0. If a copy of the MPL was not distributed with this
-    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-@@ -29,31 +29,31 @@
- <dl><p>
-     <dt><h3 personal_toolbar_folder="true" data-l10n-id="default-bookmarks-toolbarfolder">default-bookmarks-toolbarfolder</h3></dt>
-     <dd data-l10n-id="default-bookmarks-toolbarfolder-description">default-bookmarks-toolbarfolder-description</dd>
--#ifndef NIGHTLY_BUILD
-         <dl><p>
--            <dt><a href="https://www.mozilla.org/firefox/central/" icon="@firefox_icon@" data-l10n-id="default-bookmarks-getting-started">default-bookmarks-getting-started</a></dt>
-+            <dt><a href="https://www.parabola.nu/"          icon="@parabola_icon@" data-l10n-id="default-bookmarks-getting-started">Parabola GNU/Linux-libre</a></dt>
-         </dl><p>
--    <dt><h3 data-l10n-id="default-bookmarks-firefox-heading">default-bookmarks-firefox-heading</h3></dt>
-+    <dt><h3 data-l10n-id="default-bookmarks-firefox-heading">Parabola GNU/Linux-libre</h3></dt>
-         <dl><p>
--            <dt><a href="https://support.mozilla.org/products/firefox" icon="@firefox_icon@" data-l10n-id="default-bookmarks-firefox-get-help">default-bookmarks-firefox-get-help</a></dt>
--            <dt><a href="https://support.mozilla.org/kb/customize-firefox-controls-buttons-and-toolbars?utm_source=firefox-browser&utm_medium=default-bookmarks&utm_campaign=customize" icon="@firefox_icon@" data-l10n-id="default-bookmarks-firefox-customize">default-bookmarks-firefox-customize</a></dt>
--            <dt><a href="https://www.mozilla.org/contribute/" icon="@mozilla_icon@" data-l10n-id="default-bookmarks-firefox-community">default-bookmarks-firefox-community</a></dt>
--            <dt><a href="https://www.mozilla.org/about/" icon="@mozilla_icon@" data-l10n-id="default-bookmarks-firefox-about">default-bookmarks-firefox-about</a></dt>
-+            <dt><a href="https://www.parabola.nu/"          icon="@parabola_icon@" data-l10n-id="default-bookmarks-firefox-get-help">Parabola GNU/Linux-libre</a></dt>
-+            <dt><a href="https://www.parabola.nu/packages/" icon="@parabola_icon@" data-l10n-id="default-bookmarks-firefox-customize">Parabola GNU/Linux-libre Packages</a></dt>
-+            <dt><a href="https://wiki.parabola.nu/"         icon="@parabola_icon@" data-l10n-id="default-bookmarks-firefox-community">Parabola GNU/Linux-libre Wiki</a></dt>
-+            <dt><a href="https://labs.parabola.nu/"         icon="@parabola_icon@" data-l10n-id="default-bookmarks-firefox-about">Parabola GNU/Linux-libre Labs</a></dt>
-         </dl><p>
--#else
-+    <!-- TODO: delete one of these duplicated sections above or below  -->
-+    <dt><h3 data-l10n-id="default-bookmarks-parabola-heading">Parabola GNU/Linux-libre</h3></dt>
-         <dl><p>
--            <dt><a href="https://www.mozilla.org/contribute/" icon="@mozilla_icon@" data-l10n-id="default-bookmarks-firefox-community">default-bookmarks-firefox-community</a></dt>
-+            <dt><a href="https://www.parabola.nu/"          icon="@parabola_icon@" data-l10n-id="default-bookmarks-parabola-get-help">Parabola GNU/Linux-libre</a></dt>
-+            <dt><a href="https://www.parabola.nu/packages/" icon="@parabola_icon@" data-l10n-id="default-bookmarks-parabola-customize">Parabola GNU/Linux-libre Packages</a></dt>
-+            <dt><a href="https://wiki.parabola.nu/"         icon="@parabola_icon@" data-l10n-id="default-bookmarks-parabola-community">Parabola GNU/Linux-libre Wiki</a></dt>
-+            <dt><a href="https://labs.parabola.nu/"         icon="@parabola_icon@" data-l10n-id="default-bookmarks-parabola-about">Parabola GNU/Linux-libre Labs</a></dt>
-         </dl><p>
--    <dt><h3 data-l10n-id="default-bookmarks-nightly-heading">default-bookmarks-nightly-heading</h3></dt>
-+    <dt><h3 data-l10n-id="default-bookmarks-fsf-heading">Free Software Foundation</h3></dt>
-         <dl><p>
--            <dt><a href="https://blog.nightly.mozilla.org/" icon="@mozilla_icon@" data-l10n-id="default-bookmarks-nightly-blog">default-bookmarks-nightly-blog</a></dt>
--            <dt><a href="https://bugzilla.mozilla.org/" icon="@bugzilla_icon@" shortcuturl="bz" data-l10n-id="default-bookmarks-bugzilla">default-bookmarks-bugzilla</a></dt>
--            <dt><a href="https://developer.mozilla.org/" icon="@mdn_icon@" shortcuturl="mdn" data-l10n-id="default-bookmarks-mdn">default-bookmarks-mdn</a></dt>
--            <dt><a href="https://addons.mozilla.org/firefox/addon/nightly-tester-tools/" icon="@addon_icon@" data-l10n-id="default-bookmarks-nightly-tester-tools">default-bookmarks-nightly-tester-tools</a></dt>
--            <dt><a href="about:crashes" icon="@mozilla_icon@" data-l10n-id="default-bookmarks-crashes">default-bookmarks-crashes</a></dt>
--            <dt><a href="https://planet.mozilla.org/" icon="@mozilla_icon@" data-l10n-id="default-bookmarks-planet">default-bookmarks-planet</a></dt>
-+            <dt><a href="https://www.fsf.org/"     icon="@fsf_icon@"         data-l10n-id="default-bookmarks-fsf">Free Software Foundation</a></dt>
-+            <dt><a href="https://www.gnu.org/"     icon="@gnu_icon@"         data-l10n-id="default-bookmarks-gnu">The GNU Operating System and the Free Software Movement</a></dt>
-+            <dt><a href="https://libreplanet.org/" icon="@libreplanet_icon@" data-l10n-id="default-bookmarks-libreplanet">LibrePlanet</a></dt>
-+            <dt><a href="https://www.h-node.org/"  icon="@hnode_icon@"       data-l10n-id="default-bookmarks-hnode" shortcuturl="hnode">h-node</a></dt>
-         </dl><p>
--#endif
- </dl>
- </body>
- </html>
 diff --git a/devtools/startup/aboutdevtools/aboutdevtools.xhtml b/devtools/startup/aboutdevtools/aboutdevtools.xhtml
 index 5b0709e..38ea275 100644
 --- a/devtools/startup/aboutdevtools/aboutdevtools.xhtml
diff --git a/libre/iceweasel/PKGBUILD b/libre/iceweasel/PKGBUILD
index eef2c05..bb71cd6 100644
--- a/libre/iceweasel/PKGBUILD
+++ b/libre/iceweasel/PKGBUILD
@@ -110,7 +110,7 @@ sha256sums+=('d1b9d98cea5356df97fc5c221830de1ced8f826cb39fac9427c407e3eae54c02'
              'a4e3c3869085cb282cb5a0fcb64e816c0415f25d4792a62c4f1d599d3111b23c'
              'cb3079a0dc30321183bf8e112532c6f2aad045f68103f8d422c9691137aa770e'
              'e192458a2a9878483984e1400bb3c66df369adfbf6f144b90445f80973c32ed1'
-             'e7b8d08bb9fa98f09290632f37d1453c52db56fa0d20acf9bc5d110d2d64a920'
+             '0471c2f625ed8e76833bc7c15dfab23e613600f4ee1abe5e81047237644eea95'
              '9386f1c50506cd20ab6d212335d5e4417faeb2aea371dd46f2d107d171e80b83'
              'c93ce98e1cb64033079343ff1f3037fab6a3bc6d3eb5bc14c5edb70e2d45965d')
 sha256sums_armv7h=('2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9')

From d905ca067863c6a5b2c917eb4ed03167f1aeb717 Mon Sep 17 00:00:00 2001
From: grizzlyuser <grizzlyuser@protonmail.com>
Date: Apr 06 2022 13:08:30 +0000
Subject: [PATCH 28/28] libre/iceweasel: Update to 99.0 according to upstream changes


---

diff --git a/libre/iceweasel/9001-FSDG-sync-remote-settings-with-local-dump.patch b/libre/iceweasel/9001-FSDG-sync-remote-settings-with-local-dump.patch
index d4e4ef5..c773a8b 100644
--- a/libre/iceweasel/9001-FSDG-sync-remote-settings-with-local-dump.patch
+++ b/libre/iceweasel/9001-FSDG-sync-remote-settings-with-local-dump.patch
@@ -1,4 +1,4 @@
-From 15cacd9bfdb9c08def24e780d83bb8dd672c711f Mon Sep 17 00:00:00 2001
+From bec8749011d7dba665eace92557f9d36b36c3060 Mon Sep 17 00:00:00 2001
 From: grizzlyuser <grizzlyuser@protonmail.com>
 Date: Wed, 30 Dec 2020 17:20:39 +0200
 Subject: [PATCH 01/13] Point to local omni.ja files, not remote server
@@ -34,10 +34,10 @@ If necessary, missing files can be added later.
  9 files changed, 13 insertions(+), 13 deletions(-)
 
 diff --git a/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx b/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx
-index e0d8e45cc0..4cb5fca1c6 100644
+index 0a9da8d804..fdc387aa63 100644
 --- a/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx
 +++ b/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx
-@@ -1230,7 +1230,7 @@ export class ASRouterAdminInner extends React.PureComponent {
+@@ -1226,7 +1226,7 @@ export class ASRouterAdminInner extends React.PureComponent {
                    <a
                      className="providerUrl"
                      target="_blank"
@@ -47,10 +47,10 @@ index e0d8e45cc0..4cb5fca1c6 100644
                    >
                      nimbus-desktop-experiments
 diff --git a/browser/components/newtab/data/content/activity-stream.bundle.js b/browser/components/newtab/data/content/activity-stream.bundle.js
-index 5227e5af81..427759dcfe 100644
+index 6e7cc5e33d..f2b4f3fcc9 100644
 --- a/browser/components/newtab/data/content/activity-stream.bundle.js
 +++ b/browser/components/newtab/data/content/activity-stream.bundle.js
-@@ -1841,7 +1841,7 @@ class ASRouterAdminInner extends react__WEBPACK_IMPORTED_MODULE_3___default.a.Pu
+@@ -1819,7 +1819,7 @@ class ASRouterAdminInner extends react__WEBPACK_IMPORTED_MODULE_3___default.a.Pu
          label = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("span", null, "remote settings (", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("a", {
            className: "providerUrl",
            target: "_blank",
@@ -60,10 +60,10 @@ index 5227e5af81..427759dcfe 100644
          }, "nimbus-desktop-experiments"), ")");
        }
 diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
-index 1ed81b6f53..edca292681 100644
+index 651d38c0e2..cb72224e1b 100644
 --- a/modules/libpref/init/all.js
 +++ b/modules/libpref/init/all.js
-@@ -2210,7 +2210,7 @@ pref("security.cert_pinning.hpkp.enabled", false);
+@@ -2198,7 +2198,7 @@ pref("security.insecure_field_warning.ignore_local_ip_address", true);
  // Remote settings preferences
  // Note: if you change this, make sure to also review security.onecrl.maximum_staleness_in_seconds
  pref("services.settings.poll_interval", 86400); // 24H
@@ -73,16 +73,15 @@ index 1ed81b6f53..edca292681 100644
  
  // The percentage of clients who will report uptake telemetry as
 diff --git a/services/settings/Utils.jsm b/services/settings/Utils.jsm
-index ee23591a6a..ef91781ac6 100644
+index f91e5dcb67..c09c58e693 100644
 --- a/services/settings/Utils.jsm
 +++ b/services/settings/Utils.jsm
-@@ -60,11 +60,11 @@ var Utils = {
-       !Cu.isInAutomation &&
-       !isXpcshell &&
-       isNotThunderbird
--      ? "https://firefox.settings.services.mozilla.com/v1"
-+      ? "resource://app/defaults/settings"
-       : gServerURL;
+@@ -90,10 +90,10 @@ var Utils = {
+   get SERVER_URL() {
+     return allowServerURLOverride
+       ? gServerURL
+-      : "https://firefox.settings.services.mozilla.com/v1";
++      : "resource://app/defaults/settings";
    },
  
 -  CHANGES_PATH: "/buckets/monitor/collections/changes/changeset",
@@ -91,10 +90,10 @@ index ee23591a6a..ef91781ac6 100644
    /**
     * Logger instance.
 diff --git a/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh b/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
-index 7764777c1a..3c8db49743 100755
+index 191d3d563b..49fb961be2 100755
 --- a/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
 +++ b/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
-@@ -279,7 +279,7 @@ function compare_suffix_lists {
+@@ -285,7 +285,7 @@ function compare_suffix_lists {
  }
  
  function compare_remote_settings_files {
@@ -104,7 +103,7 @@ index 7764777c1a..3c8db49743 100755
    # 1. List remote settings collections from server.
    echo "INFO: fetch remote settings list from server"
 diff --git a/toolkit/components/search/SearchUtils.jsm b/toolkit/components/search/SearchUtils.jsm
-index 8a3c6acb84..b0a9c4b86f 100644
+index 41d2a23e55..e123f3f392 100644
 --- a/toolkit/components/search/SearchUtils.jsm
 +++ b/toolkit/components/search/SearchUtils.jsm
 @@ -159,13 +159,13 @@ var SearchUtils = {
@@ -126,10 +125,10 @@ index 8a3c6acb84..b0a9c4b86f 100644
  
    // The following constants are left undocumented in nsISearchService.idl
 diff --git a/toolkit/components/search/docs/DefaultSearchEngines.rst b/toolkit/components/search/docs/DefaultSearchEngines.rst
-index 0648471396..37948dca31 100644
+index 1506af2913..5f43ff26f3 100644
 --- a/toolkit/components/search/docs/DefaultSearchEngines.rst
 +++ b/toolkit/components/search/docs/DefaultSearchEngines.rst
-@@ -86,4 +86,4 @@ is updated.
+@@ -99,4 +99,4 @@ is updated.
  
  .. _configuration schema: SearchConfigurationSchema.html
  .. _remote settings: /services/common/services/RemoteSettings.html
@@ -160,10 +159,10 @@ index 667d9fc628..b2bf628f29 100644
  #define PROD_CID "windows-default-browser-agent"
  #define PROD_ID "state"
 -- 
-2.31.1
+2.35.1
 
 
-From f1e92b5fb7844a57ad63d8a52b4867db9817fc14 Mon Sep 17 00:00:00 2001
+From 99e7bd7760ebcd68575d19761d35a6db20ac8b48 Mon Sep 17 00:00:00 2001
 From: grizzlyuser <grizzlyuser@protonmail.com>
 Date: Wed, 30 Dec 2020 17:34:08 +0200
 Subject: [PATCH 02/13] Remove polling triggered by push broadcasts
@@ -204,10 +203,10 @@ index aa1504211d..d635a2c3aa 100644
     * Call the listeners of the specified broadcasts.
     *
 diff --git a/services/settings/remote-settings.js b/services/settings/remote-settings.js
-index 6d0185faf9..aae93fa440 100644
+index 4307597351..64cad55929 100644
 --- a/services/settings/remote-settings.js
 +++ b/services/settings/remote-settings.js
-@@ -441,7 +441,7 @@ function remoteSettingsFunction() {
+@@ -446,7 +446,7 @@ function remoteSettingsFunction() {
        moduleURI: __URI__,
        symbolName: "remoteSettingsBroadcastHandler",
      };
@@ -216,7 +215,7 @@ index 6d0185faf9..aae93fa440 100644
    };
  
    return remoteSettings;
-@@ -461,9 +461,6 @@ var remoteSettingsBroadcastHandler = {
+@@ -466,9 +466,6 @@ var remoteSettingsBroadcastHandler = {
        `Push notification received (version=${version} phase=${phase})`
      );
  
@@ -228,10 +227,10 @@ index 6d0185faf9..aae93fa440 100644
    },
  };
 -- 
-2.31.1
+2.35.1
 
 
-From 3054d3efe22802ab5503dd812e0a0283bbd791f1 Mon Sep 17 00:00:00 2001
+From 52e9a179bc94e96fd8959b5fea9884ef9aa5fe77 Mon Sep 17 00:00:00 2001
 From: grizzlyuser <grizzlyuser@protonmail.com>
 Date: Wed, 30 Dec 2020 17:41:54 +0200
 Subject: [PATCH 03/13] Remove timer that triggers polling for changes
@@ -272,10 +271,10 @@ index 3bfed26ea4..807eb220ec 100644
 -# see syntax https://searchfox.org/mozilla-central/rev/cc280c4be94ff8cf64a27cc9b3d6831ffa49fa45/toolkit/components/timermanager/UpdateTimerManager.jsm#155
 -category update-timer RemoteSettingsComponents @mozilla.org/services/settings;1,getService,services-settings-poll-changes,services.settings.poll_interval,86400,259200
 -- 
-2.31.1
+2.35.1
 
 
-From c856641861ca70da2d5aa720e402f2e505ebe5ac Mon Sep 17 00:00:00 2001
+From 04b7e9a6af031487d55eef867e581eb68c4d07c9 Mon Sep 17 00:00:00 2001
 From: grizzlyuser <grizzlyuser@protonmail.com>
 Date: Wed, 30 Dec 2020 17:47:41 +0200
 Subject: [PATCH 04/13] Utils: fetch timestamps of each collection locally
@@ -287,29 +286,29 @@ timestamps from that file and mock response headers to not confuse any
 code that expects them.
 ---
  browser/installer/package-manifest.in     |  1 +
- services/settings/Utils.jsm               | 13 ++++++++++++-
+ services/settings/Utils.jsm               | 17 ++++++++++++++---
  services/settings/dumps/monitor/moz.build |  8 ++++++++
  services/settings/dumps/moz.build         |  1 +
- 4 files changed, 22 insertions(+), 1 deletion(-)
+ 4 files changed, 24 insertions(+), 3 deletions(-)
  create mode 100644 services/settings/dumps/monitor/moz.build
 
 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
-index ec20499166..c618c02a8f 100644
+index 73a41dc25b..04c2a3fb6a 100644
 --- a/browser/installer/package-manifest.in
 +++ b/browser/installer/package-manifest.in
-@@ -298,6 +298,7 @@
+@@ -275,6 +275,7 @@
+ @RESPATH@/browser/defaults/settings/last_modified.json
  @RESPATH@/browser/defaults/settings/blocklists
- @RESPATH@/browser/defaults/settings/pinning
  @RESPATH@/browser/defaults/settings/main
 +@RESPATH@/browser/defaults/settings/monitor
  @RESPATH@/browser/defaults/settings/security-state
  
  ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
 diff --git a/services/settings/Utils.jsm b/services/settings/Utils.jsm
-index ef91781ac6..8736951968 100644
+index c09c58e693..f5605b1b16 100644
 --- a/services/settings/Utils.jsm
 +++ b/services/settings/Utils.jsm
-@@ -150,7 +150,7 @@ var Utils = {
+@@ -300,7 +300,7 @@ var Utils = {
    async fetchLatestChanges(serverUrl, options = {}) {
      const { expectedTimestamp, lastEtag = "", filters = {} } = options;
  
@@ -318,7 +317,7 @@ index ef91781ac6..8736951968 100644
      const params = {
        ...filters,
        _expected: expectedTimestamp ?? 0,
-@@ -273,7 +264,10 @@ var Utils = {
+@@ -315,7 +315,10 @@ var Utils = {
            .map(([k, v]) => `${k}=${encodeURIComponent(v)}`)
            .join("&");
      }
@@ -330,7 +329,7 @@ index ef91781ac6..8736951968 100644
  
      if (response.status >= 500) {
        throw new Error(`Server error ${response.status} ${response.statusText}`);
-@@ -200,7 +194,15 @@ var Utils = {
+@@ -350,7 +353,15 @@ var Utils = {
        }
      }
  
@@ -362,7 +361,7 @@ index 0000000000..d3d017fda5
 +if CONFIG["MOZ_BUILD_APP"] == "browser":
 +    DIST_SUBDIR = "browser"
 diff --git a/services/settings/dumps/moz.build b/services/settings/dumps/moz.build
-index 3cc9436f61..3742da5667 100644
+index f407580bfa..53e9d8b45e 100644
 --- a/services/settings/dumps/moz.build
 +++ b/services/settings/dumps/moz.build
 @@ -5,6 +5,7 @@
@@ -374,10 +373,10 @@ index 3cc9436f61..3742da5667 100644
  ]
  
 -- 
-2.31.1
+2.35.1
 
 
-From a0f311bed359d484fbf85e696b5b7e3a288292f8 Mon Sep 17 00:00:00 2001
+From d2b5ce3db6af3e000f9ab7a10b2608e77cde0067 Mon Sep 17 00:00:00 2001
 From: grizzlyuser <grizzlyuser@protonmail.com>
 Date: Wed, 30 Dec 2020 17:52:10 +0200
 Subject: [PATCH 05/13] Utils: disable offline checking
@@ -389,10 +388,10 @@ current and any future code that relies on it.
  1 file changed, 9 deletions(-)
 
 diff --git a/services/settings/Utils.jsm b/services/settings/Utils.jsm
-index 8736951968..8ac085feea 100644
+index f5605b1b16..cd189f1500 100644
 --- a/services/settings/Utils.jsm
 +++ b/services/settings/Utils.jsm
-@@ -80,15 +80,6 @@ var Utils = {
+@@ -109,15 +109,6 @@ var Utils = {
     * @return {bool} Whether network is down or not.
     */
    get isOffline() {
@@ -409,10 +408,10 @@ index 8736951968..8ac085feea 100644
    },
  
 -- 
-2.31.1
+2.35.1
 
 
-From 95e4979573c79c987160a71e913c7564de22127f Mon Sep 17 00:00:00 2001
+From 588cd28c3cd000501be66af573ac136e55d7e1ea Mon Sep 17 00:00:00 2001
 From: grizzlyuser <grizzlyuser@protonmail.com>
 Date: Wed, 30 Dec 2020 17:56:02 +0200
 Subject: [PATCH 06/13] Refactor hashing logic to a separate function
@@ -463,10 +462,10 @@ index db5017a742..1a8e83c2e8 100644
  
    /**
 -- 
-2.31.1
+2.35.1
 
 
-From daac032f8a4e12451cda9ec6b1eca29f5a35521f Mon Sep 17 00:00:00 2001
+From bce803bdb3e4f7203042454c65c386db6f385439 Mon Sep 17 00:00:00 2001
 From: grizzlyuser <grizzlyuser@protonmail.com>
 Date: Wed, 30 Dec 2020 18:05:02 +0200
 Subject: [PATCH 07/13] Client: Fetch and hash records from local dump
@@ -501,10 +500,10 @@ the upgrade to local-only setup.
  1 file changed, 27 insertions(+), 35 deletions(-)
 
 diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index 80dd563e11..1025ab33a2 100644
+index bd3fddbcf2..1c9dd2378f 100644
 --- a/services/settings/RemoteSettingsClient.jsm
 +++ b/services/settings/RemoteSettingsClient.jsm
-@@ -556,11 +556,9 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -587,11 +587,9 @@ class RemoteSettingsClient extends EventEmitter {
  
            // If the data is up-to-date but don't have metadata (records loaded from dump),
            // we fetch them and validate the signature immediately.
@@ -518,7 +517,7 @@ index 80dd563e11..1025ab33a2 100644
              await this.db.importChanges(metadata);
              // We don't bother validating the signature if the dump was just loaded. We do
              // if the dump was loaded at some other point (eg. from .get()).
-@@ -813,32 +811,23 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -844,32 +842,23 @@ class RemoteSettingsClient extends EventEmitter {
    async _validateCollectionSignature(records, timestamp, metadata) {
      const start = Cu.now() * 1000;
  
@@ -557,7 +556,7 @@ index 80dd563e11..1025ab33a2 100644
        ))
      ) {
        throw new InvalidSignatureError(this.identifier);
-@@ -1030,24 +1019,27 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -1061,24 +1050,27 @@ class RemoteSettingsClient extends EventEmitter {
     * @param since timestamp of last sync (optional)
     */
    async _fetchChangeset(expectedTimestamp, since) {
@@ -602,10 +601,10 @@ index 80dd563e11..1025ab33a2 100644
        remoteRecords,
      };
 -- 
-2.31.1
+2.35.1
 
 
-From 4d36e599e6b24e10960ebb978c038c66c5ade06d Mon Sep 17 00:00:00 2001
+From dd4897ba2ece2d0deb23953c044c44323d9934d0 Mon Sep 17 00:00:00 2001
 From: grizzlyuser <grizzlyuser@protonmail.com>
 Date: Wed, 30 Dec 2020 18:42:56 +0200
 Subject: [PATCH 08/13] Client: start deferred sync on get() or on()
@@ -627,7 +626,7 @@ occurs during the session.
  1 file changed, 29 insertions(+), 1 deletion(-)
 
 diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index 1025ab33a2..1cebf2bc29 100644
+index 1c9dd2378f..f7a0b3bdaa 100644
 --- a/services/settings/RemoteSettingsClient.jsm
 +++ b/services/settings/RemoteSettingsClient.jsm
 @@ -16,6 +16,7 @@ XPCOMUtils.defineLazyModuleGetters(this, {
@@ -638,7 +637,7 @@ index 1025ab33a2..1cebf2bc29 100644
    Downloader: "resource://services-settings/Attachments.jsm",
    IDBHelpers: "resource://services-settings/IDBHelpers.jsm",
    KintoHttpClient: "resource://services-common/kinto-http-client.js",
-@@ -30,6 +31,7 @@ XPCOMUtils.defineLazyModuleGetters(this, {
+@@ -28,6 +29,7 @@ XPCOMUtils.defineLazyModuleGetters(this, {
  });
  
  const TELEMETRY_COMPONENT = "remotesettings";
@@ -661,7 +660,7 @@ index 1025ab33a2..1cebf2bc29 100644
  
      // This attribute allows signature verification to be disabled, when running tests
      // or when pulling data from a dev server.
-@@ -290,6 +300,11 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -293,6 +303,11 @@ class RemoteSettingsClient extends EventEmitter {
      );
    }
  
@@ -673,7 +672,7 @@ index 1025ab33a2..1cebf2bc29 100644
    get identifier() {
      return `${this.bucketName}/${this.collectionName}`;
    }
-@@ -353,6 +368,10 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -361,6 +376,10 @@ class RemoteSettingsClient extends EventEmitter {
        let lastModified = await this.db.getLastModified();
        let hasLocalData = lastModified !== null;
  
@@ -684,7 +683,7 @@ index 1025ab33a2..1cebf2bc29 100644
        if (syncIfEmpty && !hasLocalData) {
          // .get() was called before we had the chance to synchronize the local database.
          // We'll try to avoid returning an empty list.
-@@ -414,7 +433,10 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -445,7 +464,10 @@ class RemoteSettingsClient extends EventEmitter {
        // No need to verify signature on JSON dumps.
        // If local DB cannot be read, then we don't even try to do anything,
        // we return results early.
@@ -696,7 +695,7 @@ index 1025ab33a2..1cebf2bc29 100644
      }
  
      console.debug(
-@@ -452,6 +474,12 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -483,6 +505,12 @@ class RemoteSettingsClient extends EventEmitter {
      return final;
    }
  
@@ -710,10 +709,10 @@ index 1025ab33a2..1cebf2bc29 100644
     * Synchronize the local database with the remote server.
     *
 -- 
-2.31.1
+2.35.1
 
 
-From defc4080596f5407a98f0c9f1a456f685226054f Mon Sep 17 00:00:00 2001
+From 192096cd8caa2cbdfdc294a71056e6ee1b7e513d Mon Sep 17 00:00:00 2001
 From: grizzlyuser <grizzlyuser@protonmail.com>
 Date: Wed, 30 Dec 2020 18:53:51 +0200
 Subject: [PATCH 09/13] Client: deep compare records if timestamps match
@@ -735,7 +734,7 @@ noticeable performance issues.
  1 file changed, 5 insertions(+), 1 deletion(-)
 
 diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index 1cebf2bc29..2c18c5cfb6 100644
+index f7a0b3bdaa..64ac27d149 100644
 --- a/services/settings/RemoteSettingsClient.jsm
 +++ b/services/settings/RemoteSettingsClient.jsm
 @@ -13,6 +13,7 @@ const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
@@ -746,7 +745,7 @@ index 1cebf2bc29..2c18c5cfb6 100644
    ClientEnvironmentBase:
      "resource://gre/modules/components-utils/ClientEnvironment.jsm",
    Database: "resource://services-settings/Database.jsm",
-@@ -1022,7 +1023,10 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -1053,7 +1054,10 @@ class RemoteSettingsClient extends EventEmitter {
          const old = oldById.get(r.id);
          if (old) {
            oldById.delete(r.id);
@@ -759,10 +758,10 @@ index 1cebf2bc29..2c18c5cfb6 100644
            }
          } else {
 -- 
-2.31.1
+2.35.1
 
 
-From c2ee19f01bc37e15c7742af8a502ffaa10745a52 Mon Sep 17 00:00:00 2001
+From c834cd3beeb989f30c88aabea480d08989c02abc Mon Sep 17 00:00:00 2001
 From: grizzlyuser <grizzlyuser@protonmail.com>
 Date: Wed, 30 Dec 2020 19:01:39 +0200
 Subject: [PATCH 10/13] Client: delete more data on cleanup
@@ -780,10 +779,10 @@ logic gets the data about the attachments from those records.
  1 file changed, 12 insertions(+), 3 deletions(-)
 
 diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index 2c18c5cfb6..8b65dc0cba 100644
+index 64ac27d149..ac6259ca2c 100644
 --- a/services/settings/RemoteSettingsClient.jsm
 +++ b/services/settings/RemoteSettingsClient.jsm
-@@ -221,7 +221,10 @@ class AttachmentDownloader extends Downloader {
+@@ -219,7 +219,10 @@ class AttachmentDownloader extends Downloader {
    async deleteAll() {
      let allRecords = await this._client.db.list();
      return Promise.all(
@@ -795,7 +794,7 @@ index 2c18c5cfb6..8b65dc0cba 100644
      );
    }
  }
-@@ -982,7 +985,7 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -1013,7 +1016,7 @@ class RemoteSettingsClient extends EventEmitter {
            // Signature failed, clear local DB because it contains
            // bad data (local + remote changes).
            console.debug(`${this.identifier} clear local data`);
@@ -804,7 +803,7 @@ index 2c18c5cfb6..8b65dc0cba 100644
            // Local data was tampered, throw and it will retry from empty DB.
            console.error(`${this.identifier} local data was corrupted`);
            throw new CorruptedDataError(this.identifier);
-@@ -1004,7 +1007,7 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -1035,7 +1038,7 @@ class RemoteSettingsClient extends EventEmitter {
              // _importJSONDump() only clears DB if dump is available,
              // therefore do it here!
              if (imported < 0) {
@@ -813,7 +812,7 @@ index 2c18c5cfb6..8b65dc0cba 100644
              }
            }
          }
-@@ -1044,6 +1047,12 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -1075,6 +1078,12 @@ class RemoteSettingsClient extends EventEmitter {
      return syncResult;
    }
  
@@ -827,10 +826,10 @@ index 2c18c5cfb6..8b65dc0cba 100644
     * Fetch information from changeset endpoint.
     *
 -- 
-2.31.1
+2.35.1
 
 
-From 56d2af487f7077753ea4df6bd0b1e6c91ed7ab9f Mon Sep 17 00:00:00 2001
+From 68ee3019155c605ea3fefd9370209d548d1049c2 Mon Sep 17 00:00:00 2001
 From: grizzlyuser <grizzlyuser@protonmail.com>
 Date: Wed, 30 Dec 2020 19:07:56 +0200
 Subject: [PATCH 11/13] Client: remove comparison of collection timestamps
@@ -845,10 +844,10 @@ necessary cleanup. So remove the checks.
  1 file changed, 5 deletions(-)
 
 diff --git a/services/settings/RemoteSettingsClient.jsm b/services/settings/RemoteSettingsClient.jsm
-index 8b65dc0cba..6274596591 100644
+index ac6259ca2c..e59845a337 100644
 --- a/services/settings/RemoteSettingsClient.jsm
 +++ b/services/settings/RemoteSettingsClient.jsm
-@@ -917,14 +917,9 @@ class RemoteSettingsClient extends EventEmitter {
+@@ -948,14 +948,9 @@ class RemoteSettingsClient extends EventEmitter {
        updated: [],
        deleted: [],
      };
@@ -864,10 +863,10 @@ index 8b65dc0cba..6274596591 100644
      const start = Cu.now() * 1000;
      await this.db.importChanges(metadata, remoteTimestamp, remoteRecords, {
 -- 
-2.31.1
+2.35.1
 
 
-From c009c1a9ba2477c9335921b706256f115ecfd498 Mon Sep 17 00:00:00 2001
+From aa15f1fee8030b3a315312fba2f1b19e6694aad4 Mon Sep 17 00:00:00 2001
 From: grizzlyuser <grizzlyuser@protonmail.com>
 Date: Wed, 30 Dec 2020 19:15:44 +0200
 Subject: [PATCH 12/13] Attachments: load only from dump and drop cached
@@ -877,10 +876,10 @@ Subject: [PATCH 12/13] Attachments: load only from dump and drop cached
  1 file changed, 8 insertions(+), 27 deletions(-)
 
 diff --git a/services/settings/Attachments.jsm b/services/settings/Attachments.jsm
-index 0eeb632799..eaa7db8c81 100644
+index 70c02627ac..d24d8907fd 100644
 --- a/services/settings/Attachments.jsm
 +++ b/services/settings/Attachments.jsm
-@@ -143,10 +143,11 @@ class Downloader {
+@@ -141,10 +141,11 @@ class Downloader {
        checkHash,
        attachmentId = record?.id,
        useCache = false,
@@ -893,7 +892,7 @@ index 0eeb632799..eaa7db8c81 100644
      if (!useCache) {
        // For backwards compatibility.
        // WARNING: Its return type is different from what's documented.
-@@ -206,6 +207,7 @@ class Downloader {
+@@ -204,6 +205,7 @@ class Downloader {
          const newBuffer = await this.downloadAsBytes(record, {
            retries,
            checkHash,
@@ -901,7 +900,7 @@ index 0eeb632799..eaa7db8c81 100644
          });
          const blob = new Blob([newBuffer]);
          if (useCache) {
-@@ -241,7 +243,7 @@ class Downloader {
+@@ -239,7 +241,7 @@ class Downloader {
        }
  
        try {
@@ -910,7 +909,7 @@ index 0eeb632799..eaa7db8c81 100644
        } catch (e) {
          // Failed to read from cache, e.g. IndexedDB unusable.
          Cu.reportError(e);
-@@ -278,7 +280,7 @@ class Downloader {
+@@ -276,7 +278,7 @@ class Downloader {
     * @returns {String} the absolute file path to the downloaded attachment.
     */
    async downloadToDisk(record, options = {}) {
@@ -919,7 +918,7 @@ index 0eeb632799..eaa7db8c81 100644
      const {
        attachment: { filename, size, hash },
      } = record;
-@@ -335,31 +337,10 @@ class Downloader {
+@@ -333,31 +335,10 @@ class Downloader {
     */
    async downloadAsBytes(record, options = {}) {
      const {
@@ -955,10 +954,10 @@ index 0eeb632799..eaa7db8c81 100644
  
    /**
 -- 
-2.31.1
+2.35.1
 
 
-From 2035bd7a6ce1816417b619d3f1ce994a8b44ce9d Mon Sep 17 00:00:00 2001
+From 271e88d8a18a6ae30ccc616c57fe7a36290ba520 Mon Sep 17 00:00:00 2001
 From: grizzlyuser <grizzlyuser@protonmail.com>
 Date: Wed, 30 Dec 2020 19:22:20 +0200
 Subject: [PATCH 13/13] Disable CRLite entirely for now
@@ -983,18 +982,18 @@ certificate revocations.
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
-index edca292681..da7e23d674 100644
+index cb72224e1b..79940b598a 100644
 --- a/modules/libpref/init/all.js
 +++ b/modules/libpref/init/all.js
-@@ -172,7 +172,7 @@ pref("security.cert_pinning.max_max_age_seconds", 5184000);
- // 0: Disable CRLite entirely
- // 1: Enable and check revocations via CRLite, but only collect telemetry
- // 2: Enable and enforce revocations via CRLite
+@@ -160,7 +160,7 @@ pref("security.xfocsp.errorReporting.automatic", false);
+ // 1: Consult CRLite but only collect telemetry.
+ // 2: Consult CRLite and enforce both "Revoked" and "Not Revoked" results.
+ // 3: Consult CRLite and enforce "Not Revoked" results, but defer to OCSP for "Revoked".
 -pref("security.pki.crlite_mode", 1);
 +pref("security.pki.crlite_mode", 0);
  
- // Represents the expected certificate transparency log merge delay (including
- // the time to generate a CRLite filter). Currently 28 hours in seconds.
+ // Issuer we use to detect MitM proxies. Set to the issuer of the cert of the
+ // Firefox update service. The string format is whatever NSS uses to print a DN.
 -- 
-2.31.1
+2.35.1
 
diff --git a/libre/iceweasel/9002-FSDG-preference-defaults.patch b/libre/iceweasel/9002-FSDG-preference-defaults.patch
index 651317f..a5e8435 100644
--- a/libre/iceweasel/9002-FSDG-preference-defaults.patch
+++ b/libre/iceweasel/9002-FSDG-preference-defaults.patch
@@ -1,4 +1,4 @@
-From f3f1223d1a9bee16672c6b7ec07dc5816a5ea084 Mon Sep 17 00:00:00 2001
+From b410d2259c469d5f3c30bbbdddaeeb1956c58297 Mon Sep 17 00:00:00 2001
 From: grizzlyuser <grizzlyuser@protonmail.com>
 Date: Sun, 4 Apr 2021 13:09:05 +0300
 Subject: [PATCH 1/2] geolocation: Disable API and remove Google API URLs
@@ -23,10 +23,10 @@ default for now.
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml
-index a9f8e6318f..81e40f6db4 100644
+index 153d7504d2..79928ac755 100644
 --- a/modules/libpref/init/StaticPrefList.yaml
 +++ b/modules/libpref/init/StaticPrefList.yaml
-@@ -4884,7 +4884,7 @@
+@@ -5067,7 +5067,7 @@
  # Is support for Navigator.geolocation enabled?
  - name: geo.enabled
    type: bool
@@ -36,10 +36,10 @@ index a9f8e6318f..81e40f6db4 100644
  
  # Time, in milliseconds, to wait for the location provider to spin up.
 diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
-index fab5c7b41b..9805ea69c9 100644
+index 651d38c0e2..0c5f36c5b6 100644
 --- a/modules/libpref/init/all.js
 +++ b/modules/libpref/init/all.js
-@@ -3720,7 +3720,7 @@ pref("network.psl.onUpdate_notify", false);
+@@ -3726,7 +3726,7 @@ pref("network.psl.onUpdate_notify", false);
  // All the Geolocation preferences are here.
  //
  #ifndef EARLY_BETA_OR_EARLIER
@@ -52,37 +52,31 @@ index fab5c7b41b..9805ea69c9 100644
 2.35.1
 
 
-From bff69763d7833a187d663a443cca20f5bdd83acf Mon Sep 17 00:00:00 2001
+From f687c43eb8adc710c54d9dd2ee2ea8d57b8088e3 Mon Sep 17 00:00:00 2001
 From: grizzlyuser <grizzlyuser@protonmail.com>
 Date: Sun, 4 Apr 2021 13:49:05 +0300
 Subject: [PATCH 2/2] Disable banners and remove URLs for mobile apps on
  about:protections page
 
 ---
- browser/app/profile/firefox.js | 18 +++++++++---------
- 1 file changed, 9 insertions(+), 9 deletions(-)
+ browser/app/profile/firefox.js | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
 
 diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
-index 6bbc26eb86..8ea3186824 100644
+index af9c349671..0ecb9726bd 100644
 --- a/browser/app/profile/firefox.js
 +++ b/browser/app/profile/firefox.js
-@@ -1877,7 +1877,7 @@ pref("browser.contentblocking.report.monitor.enabled", true);
+@@ -1883,7 +1883,7 @@ pref("browser.contentblocking.report.monitor.enabled", true);
  pref("browser.contentblocking.report.proxy.enabled", false);
  
  // Disable the mobile promotion by default.
 -pref("browser.contentblocking.report.show_mobile_app", true);
 +pref("browser.contentblocking.report.show_mobile_app", false);
  
- // Avoid advertising in certain regions. Comma separated string of two letter ISO 3166-1 country codes.
- // We're currently blocking all of Ukraine (ua), but would prefer to block just Crimea (ua-43). Currently, the Mozilla Location Service APIs used by Region.jsm only exposes the country, not the subdivision.
-@@ -1887,12 +1887,12 @@ pref("browser.vpn_promo.disallowed_regions", "ae,by,cn,cu,iq,ir,kp,om,ru,sd,sy,t
- pref("browser.vpn_promo.enabled", true);
+ // Locales in which Send to Device emails are supported
+ // The most recent list of supported locales can be found at https://github.com/mozilla/bedrock/blob/6a08c876f65924651554decc57b849c00874b4e7/bedrock/settings/base.py#L963
+@@ -1902,7 +1902,7 @@ pref("browser.contentblocking.report.vpn_regions", "at,be,ca,ch,de,fr,ie,it,my,n
  
- // Enable the vpn card by default.
--pref("browser.contentblocking.report.vpn.enabled", true);
-+pref("browser.contentblocking.report.vpn.enabled", false);
- // Only show vpn card to certain regions. Comma separated string of two letter ISO 3166-1 country codes.
- pref("browser.contentblocking.report.vpn_regions", "us,ca,nz,sg,my,gb,de,fr");
  // Comma separated string of mozilla vpn supported platforms.
  pref("browser.contentblocking.report.vpn_platforms", "win,mac,linux");
 -pref("browser.contentblocking.report.hide_vpn_banner", false);
@@ -90,7 +84,7 @@ index 6bbc26eb86..8ea3186824 100644
  pref("browser.contentblocking.report.vpn_sub_id", "sub_HrfCZF7VPHzZkA");
  
  pref("browser.contentblocking.report.monitor.url", "https://monitor.firefox.com/?entrypoint=protection_report_monitor&utm_source=about-protections");
-@@ -1903,12 +1903,12 @@ pref("browser.contentblocking.report.monitor.home_page_url", "https://monitor.fi
+@@ -1913,12 +1913,12 @@ pref("browser.contentblocking.report.monitor.home_page_url", "https://monitor.fi
  pref("browser.contentblocking.report.manage_devices.url", "https://accounts.firefox.com/settings/clients");
  pref("browser.contentblocking.report.endpoint_url", "https://monitor.firefox.com/user/breach-stats?includeResolved=true");
  pref("browser.contentblocking.report.proxy_extension.url", "https://fpn.firefox.com/browser?utm_source=firefox-desktop&utm_medium=referral&utm_campaign=about-protections&utm_content=about-protections");
diff --git a/libre/iceweasel/PKGBUILD b/libre/iceweasel/PKGBUILD
index bb71cd6..40d6f3c 100644
--- a/libre/iceweasel/PKGBUILD
+++ b/libre/iceweasel/PKGBUILD
@@ -59,7 +59,7 @@
 
 pkgname=iceweasel
 epoch=1
-pkgver=98.0.1
+pkgver=99.0
 pkgrel=1
 pkgrel+=.parabola1
 _brandingver=95.0-1
@@ -68,14 +68,12 @@ arch=(x86_64)
 arch+=(armv7h i686)
 license=(MPL GPL LGPL)
 url="https://wiki.parabola.nu/Iceweasel"
-depends=(gtk3 libxt mime-types dbus-glib ffmpeg4.4 nss ttf-font libpulse)
+depends=(gtk3 libxt mime-types dbus-glib ffmpeg nss ttf-font libpulse)
 makedepends=(unzip zip diffutils yasm mesa imake inetutils xorg-server-xvfb
              autoconf2.13 rust clang llvm jack nodejs cbindgen nasm
              python-setuptools python-psutil python-zstandard lld dump_syms
              wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi)
 makedepends+=(quilt libxslt imagemagick git jq python-jsonschema)
-depends=( ${depends[*]/ffmpeg4.4/ffmpeg} )
-makedepends+=(libvpx=1.11.0-1)
 [[ "${CARCH}" == i686 ]] && makedepends=( ${makedepends[*]/jack/jack2} )
 [[ "${CARCH}" == i686 ]] && makedepends=( ${makedepends[*]/llvm/llvm12} )
 makedepends_i686=(gcc10) # cannot build i686 today - rust is unusable
@@ -102,13 +100,13 @@ source_armv7h=(build-arm-libopus.patch)
 source_i686=('avoid-libxul-OOM-python-check.patch'
              'rust-static-disable-network-test-on-static-libraries.patch'
              'firefox-93.0_x86_math_private_20211110.patch')
-sha256sums=('f8de2f514d94cad25a2c8a5d219399de5c05a907607d51c5c5235a8bc9bb361c'
+sha256sums=('513f8d2cafa39a2d50f2c4a25cc48093e89f715a706b941170fa48e397976327'
             'SKIP'
             '9cdc2602661717712092d28bb494e5b48e518cb930898aca85eaf21f91f7ef58')
 sha256sums+=('d1b9d98cea5356df97fc5c221830de1ced8f826cb39fac9427c407e3eae54c02'
              'SKIP'
-             'a4e3c3869085cb282cb5a0fcb64e816c0415f25d4792a62c4f1d599d3111b23c'
-             'cb3079a0dc30321183bf8e112532c6f2aad045f68103f8d422c9691137aa770e'
+             'af53bd22378cd87c27438c34dc1daf3f1909735e85c914b56440751a9dc16856'
+             'a2c71759290dd48c87bf8aacb681040dcaefdabe0d57317de361d2d2d509664b'
              'e192458a2a9878483984e1400bb3c66df369adfbf6f144b90445f80973c32ed1'
              '0471c2f625ed8e76833bc7c15dfab23e613600f4ee1abe5e81047237644eea95'
              '9386f1c50506cd20ab6d212335d5e4417faeb2aea371dd46f2d107d171e80b83'

