summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernels/linux-libre-xtreme/ACPICA-AML-Parser-ignore-control-method-status-in-module-level-code.patch53
-rw-r--r--kernels/linux-libre-xtreme/PKGBUILD76
-rw-r--r--kernels/linux-libre-xtreme/config.armv7h8
3 files changed, 90 insertions, 47 deletions
diff --git a/kernels/linux-libre-xtreme/ACPICA-AML-Parser-ignore-control-method-status-in-module-level-code.patch b/kernels/linux-libre-xtreme/ACPICA-AML-Parser-ignore-control-method-status-in-module-level-code.patch
new file mode 100644
index 000000000..c6929908a
--- /dev/null
+++ b/kernels/linux-libre-xtreme/ACPICA-AML-Parser-ignore-control-method-status-in-module-level-code.patch
@@ -0,0 +1,53 @@
+From f51d7e02375963169fb1c1148ac3f96d54e97ec4 Mon Sep 17 00:00:00 2001
+From: Erik Schmauss <erik.schmauss@intel.com>
+Date: Sat, 28 Jul 2018 14:49:55 +0200
+Subject: [PATCH] ACPICA: AML Parser: ignore control method status in
+ module-level code
+
+Previous change in the AML parser code blindly set all non-successful
+dispatcher statuses to AE_OK. This approach is incorrect because
+successful control method invocations from module-level return
+AE_CTRL_TRANSFER. Overwriting AE_OK to this status causes the AML
+parser to think that there was no return value from the control
+method invocation.
+
+fixes: 73c2a01c52b6 (ACPICA: AML Parser: ignore dispatcher error status during table load)
+
+Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
+---
+ drivers/acpi/acpica/psloop.c | 19 ++++++++++++-------
+ 1 file changed, 12 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/acpi/acpica/psloop.c b/drivers/acpi/acpica/psloop.c
+index ee840be150b5e..44f35ab3347d1 100644
+--- a/drivers/acpi/acpica/psloop.c
++++ b/drivers/acpi/acpica/psloop.c
+@@ -709,15 +709,20 @@ acpi_status acpi_ps_parse_loop(struct acpi_walk_state *walk_state)
+ } else
+ if ((walk_state->
+ parse_flags & ACPI_PARSE_MODULE_LEVEL)
++ && status != AE_CTRL_TRANSFER
+ && ACPI_FAILURE(status)) {
+ /*
+- * ACPI_PARSE_MODULE_LEVEL means that we are loading a table by
+- * executing it as a control method. However, if we encounter
+- * an error while loading the table, we need to keep trying to
+- * load the table rather than aborting the table load. Set the
+- * status to AE_OK to proceed with the table load. If we get a
+- * failure at this point, it means that the dispatcher got an
+- * error while processing Op (most likely an AML operand error.
++ * ACPI_PARSE_MODULE_LEVEL flag means that we are currently
++ * loading a table by executing it as a control method.
++ * However, if we encounter an error while loading the table,
++ * we need to keep trying to load the table rather than
++ * aborting the table load (setting the status to AE_OK
++ * continues the table load). If we get a failure at this
++ * point, it means that the dispatcher got an error while
++ * processing Op (most likely an AML operand error) or a
++ * control method was called from module level and the
++ * dispatcher returned AE_CTRL_TRANSFER. In the latter case,
++ * leave the status alone, there's nothing wrong with it.
+ */
+ status = AE_OK;
+ }
diff --git a/kernels/linux-libre-xtreme/PKGBUILD b/kernels/linux-libre-xtreme/PKGBUILD
index 6eea2e930..2c8785b88 100644
--- a/kernels/linux-libre-xtreme/PKGBUILD
+++ b/kernels/linux-libre-xtreme/PKGBUILD
@@ -11,7 +11,8 @@
pkgbase=linux-libre-xtreme
_pkgbasever=4.17-gnu
-_pkgver=4.17.10-gnu
+_pkgver=4.17.11-gnu
+_archpatchver=arch1
_hardenedver=a
_replacesarchkernel=('linux%') # '%' gets replaced with _kernelname
@@ -22,7 +23,7 @@ _srcname=linux-${_pkgbasever%-*}
_archpkgver=${_pkgver%-*}
pkgver=${_pkgver//-/_}
pkgrel=1
-rcnrel=armv7-x10
+rcnrel=armv7-x11
arch=('i686' 'x86_64' 'armv7h')
url="https://wiki.parabola.nu/Xtreme"
license=('GPL2')
@@ -31,6 +32,7 @@ options=('!strip')
source=(
"https://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgbasever}/linux-libre-${_pkgbasever}.tar.xz"{,.sign}
"https://linux-libre.fsfla.org/pub/linux-libre/releases/${_pkgver}/patch-${_pkgbasever}-${_pkgver}.xz"{,.sign}
+ "https://repo.parabola.nu/other/arch/patches/${_pkgver%-*}/patch-${_pkgver%-*}-${_archpatchver}.patch"{,.sig}
"https://github.com/anthraxx/linux-hardened/releases/download/${_pkgver%-*}.${_hardenedver}/linux-hardened-${_pkgver%-*}.${_hardenedver}.patch"{,.sig}
"https://repo.parabola.nu/other/linux-libre/logos/logo_linux_clut224.ppm"{,.sig}
"https://repo.parabola.nu/other/linux-libre/logos/logo_linux_mono.pbm"{,.sig}
@@ -63,6 +65,7 @@ source=(
'ACPI-watchdog-Prefer-iTCO_wdt-always-when-WDAT-table.patch'
'Revert-drm-i915-edp-Allow-alternate-fixed-mode-for-e.patch'
'mac80211-disable-BHs-preemption-in-ieee80211_tx_cont.patch'
+ 'ACPICA-AML-Parser-ignore-control-method-status-in-module-level-code.patch'
)
validpgpkeys=(
'474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva
@@ -72,9 +75,11 @@ validpgpkeys=(
)
sha512sums=('a09014005d64839e958cabb20dbd50e051907b1afea2f517f41f0a9312fa1bc8447690e64ec0e6488a778be8a7384891c003f39029ff5799f9884482628aadf2'
'SKIP'
- '26e44c0cdb1236ebb7e513e0f161f0205262fa79318713b220468a931020574754231d3363523bd5ad03c2397829e6e827a2b1bf0a312379a25c8a0af9d20515'
+ 'a977ac21aa66b7d01ccc207f74d6213cdeed7ab0dd40c5569f97a97f42244c9db002f79d84ad6b4583d1a3b5f357f55bb12da214078c919ac2b70800b0b6ae69'
'SKIP'
- '62ff8f1236afa0131c3f7b82a5ef95e1d43856bba8ce968de6979fd9719fd4713320702ad8fc9ed880983afd80169e3f67bd9bcb1f2b3a1d3ca5473af0a01891'
+ 'f7a54457093981f74282d862aeba704c3ec49ae550448230294ac9cfcb6cf0ac0b62f6948855b9b505e2af5e748b782facde14c107c6d2b448f818cdc27c6188'
+ 'SKIP'
+ '25fcaf8ee67f3864a740b976dd2a5999ff7c9ea1803c58f4338f22cd9171c3bb6830bcddf5b562860b30c1eab7c2f7e18eebe3a427afe1fdef58cdc7d0f2f5a3'
'SKIP'
'13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3'
'SKIP'
@@ -82,13 +87,13 @@ sha512sums=('a09014005d64839e958cabb20dbd50e051907b1afea2f517f41f0a9312fa1bc8447
'SKIP'
'7a3716bfe3b9f546da309c7492f3e08f8f506813afeb1c737a474c83313d5c313cf4582b65215c2cfce3b74d9d1021c96e8badafe8f6e5b01fe28d2b5c61ae78'
'SKIP'
- '00f0d984b40e0928d9aa3d5b71beb8e6f9825ba658fffd86ce82ee3c32e7362fb96827c813bde5fdaf283e0573a22a45bebbbe2da29540586203ad5568c09c99'
+ '497e74b7ea4fa6abf3274f8330a019cadb07ab881530f14bcc4f4a9ae9c91c4846171308bf838728672f320fc65b7da9d02977e5fd5d0bf3038380b15c211440'
'db27d494be852b020f71da44c88bfd93b514871b761f4220c1dd683f48ca9dd485f20bd2c37b993e27e9de185303bdbfbaa95d0881a4cacdb34b3541c57fc07b'
- '05cd4eb578374850367b75fec2599b5bed210b175a7cc23933aa6528a8cd750ef0c470ea73d9c770e8c624bf6d229b287dbc7d913e5dc1a48c976803f23fe10e'
+ 'fdf991dc49f88e5dc6be356f0c78875797015c556e75096ec46716f6527a2512a1a97f5ddca541ccee673a40c19f4445823ef8b3bcb95396c1591856d6a5bc24'
'7ad5be75ee422dda3b80edd2eb614d8a9181e2c8228cd68b3881e2fb95953bf2dea6cbe7900ce1013c9de89b2802574b7b24869fc5d7a95d3cc3112c4d27063a'
'4a8b324aee4cccf3a512ad04ce1a272d14e5b05c8de90feb82075f55ea3845948d817e1b0c6f298f5816834ddd3e5ce0a0e2619866289f3c1ab8fd2f35f04f44'
'2dc6b0ba8f7dbf19d2446c5c5f1823587de89f4e28e9595937dd51a87755099656f2acec50e3e2546ea633ad1bfd1c722e0c2b91eef1d609103d8abdc0a7cbaf'
- '93909dee8e89a5e243489c3c47b6b1023b4064bea7688e6d395912383e1d2e69b64c2dea161ef85ce9a52ff24b0de8fe975297cd1b17eaebc1f72a9d6a5cafbe'
+ '600a373e26f7755f5a4c7cbc84d713cd8670cacf8891ec00e728818622a312cef3d2073a656dcda50e05ae8b2fdfe103b4ae5b6a2fe8387c3fc2674402c426dc'
'SKIP'
'c6e758931e599199db07276a51b204a4030e0da80f08df60783278cf3d4d3ee6c0c280cc1788ca024cdf2043a39dd527e2205dd678368097b68240a7e80b931c'
'3e0852e188549e60fa35b70e82740d5124936688d5f5ff0314c4e555ad9cc4c7688c56b5949baa8fd67ede22a579019919b09091b59eafac60409fdf18105af5'
@@ -108,7 +113,8 @@ sha512sums=('a09014005d64839e958cabb20dbd50e051907b1afea2f517f41f0a9312fa1bc8447
'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168'
'994d328326ca1e65fc4b1ea26d858e040367112881af4d2f33b953fd138fa44009f898211f84e29e1158ca61bd7080e871933dba4d7e8f084640a02110cfc920'
'cc8852b089aa24f588ad1af726503ecd1012ad7e1cbc47ea77f03a5f7aecd25306d40f2e16b8a1afeafe7e2e97b6b6840c9f462ed7be358090117e2e024df1bd'
- '662e8cc92c2034de247530a981ed24d3d85109e5d0742a9c53c6def9528c151c3177c95992b8d9d1173b64817960ac7c6cb029817fa39cce48d8199823b8271a')
+ '662e8cc92c2034de247530a981ed24d3d85109e5d0742a9c53c6def9528c151c3177c95992b8d9d1173b64817960ac7c6cb029817fa39cce48d8199823b8271a'
+ '0baf3c296acac5bd48e5221f360c59f440844066e7a39ee34eab318938ec2e93ad81d274862784a80e1c0fefc60cbb073bd6a4dbcb6884d9f602ade5c854cefc')
_kernelname=${pkgbase#linux-libre}
_replacesarchkernel=("${_replacesarchkernel[@]/\%/${_kernelname}}")
@@ -127,6 +133,11 @@ prepare() {
if [ "${_pkgbasever}" != "${_pkgver}" ]; then
patch -p1 -i ../patch-${_pkgbasever}-${_pkgver}
fi
+
+ # add Arch Linux kernel patch
+ if [ -e ../patch-${_pkgver%-*}-${_archpatchver}.patch ] && [ "${CARCH}" != "x86_64" ]; then
+ patch -p1 -i ../patch-${_pkgver%-*}-${_archpatchver}.patch
+ fi
if [ "${CARCH}" = "armv7h" ]; then
# RCN patch (CM3 firmware deblobbed and AUFS/WireGuard removed)
@@ -156,17 +167,20 @@ prepare() {
install -m644 -t drivers/video/logo \
../logo_linux_{clut224.ppm,vga16.ppm,mono.pbm}
- # add latest fixes from stable queue, if needed
- # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
+ if [ "${CARCH}" = "x86_64" ]; then
+ # add linux-hardened patch
+ patch -p1 -i ../linux-hardened-${_pkgver%-*}.${_hardenedver}.patch
- # https://bugs.archlinux.org/task/56780
- patch -Np1 -i ../ACPI-watchdog-Prefer-iTCO_wdt-always-when-WDAT-table.patch
+ # https://bugs.archlinux.org/task/56780
+ patch -p1 -i ../ACPI-watchdog-Prefer-iTCO_wdt-always-when-WDAT-table.patch
- # https://bugs.archlinux.org/task/56711
- patch -Np1 -i ../Revert-drm-i915-edp-Allow-alternate-fixed-mode-for-e.patch
+ # https://bugs.archlinux.org/task/56711
+ patch -p1 -i ../Revert-drm-i915-edp-Allow-alternate-fixed-mode-for-e.patch
- # Fix iwd provoking a BUG
- patch -Np1 -i ../mac80211-disable-BHs-preemption-in-ieee80211_tx_cont.patch
+ # Fix iwd provoking a BUG
+ patch -p1 -i ../mac80211-disable-BHs-preemption-in-ieee80211_tx_cont.patch
+ patch -p1 -i ../ACPICA-AML-Parser-ignore-control-method-status-in-module-level-code.patch
+ fi
# maintain the TTY over USB disconnects
# http://www.coreboot.org/EHCI_Gadget_Debug
@@ -177,37 +191,13 @@ prepare() {
# http://www.fsfla.org/pipermail/linux-libre/2015-November/003202.html
patch -p1 -i ../0002-fix-Atmel-maXTouch-touchscreen-support.patch
- if [ "${CARCH}" = "x86_64" ]; then
- # linux-hardened patch
- patch -p1 -i ../linux-hardened-${_pkgver%-*}.${_hardenedver}.patch
- fi
-
- cat ../config.${CARCH} - >.config <<END
-CONFIG_LOCALVERSION="${_kernelname}"
-CONFIG_LOCALVERSION_AUTO=n
-END
-
# append pkgrel to extraversion and empty localversion
sed -e "/^EXTRAVERSION = -gnu/s/-gnu.*/-gnu-${pkgrel}/" \
-e "/^EXTRAVERSION =/aLOCALVERSION =" \
-i Makefile
- # don't run depmod on 'make install'. We'll do this ourselves in packaging
- sed -i '2iexit 0' scripts/depmod.sh
-
- # get kernel version
- make prepare
-
- # load configuration
- # Configure the kernel. Replace the line below with one of your choice.
- #make menuconfig # CLI menu for configuration
- #make nconfig # new CLI menu for configuration
- #make xconfig # X-based configuration
- #make oldconfig # using old config from previous kernel version
- # ... or manually edit .config
-
- # rewrite configuration
- yes "" | make config >/dev/null
+ cp ../config.${CARCH} .config
+ make olddefconfig
}
build() {
@@ -243,7 +233,7 @@ _package() {
_basekernel=${_basekernel%.*}
mkdir -p "${pkgdir}"/{boot,usr/lib/modules}
- make INSTALL_MOD_PATH="${pkgdir}/usr" modules_install
+ make INSTALL_MOD_PATH="${pkgdir}/usr" DEPMOD=/doesnt/exist modules_install
if [ "${CARCH}" = "armv7h" ]; then
make LOCALVERSION= INSTALL_DTBS_PATH="${pkgdir}/boot/dtbs/${pkgbase}" dtbs_install
cp arch/$KARCH/boot/zImage "${pkgdir}/boot/vmlinuz-${pkgbase}"
diff --git a/kernels/linux-libre-xtreme/config.armv7h b/kernels/linux-libre-xtreme/config.armv7h
index 1b01579d4..3c4329b14 100644
--- a/kernels/linux-libre-xtreme/config.armv7h
+++ b/kernels/linux-libre-xtreme/config.armv7h
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/arm 4.17.6-gnu-1-xtreme Kernel Configuration
+# Linux/arm 4.17.11-gnu-1-xtreme Kernel Configuration
#
CONFIG_ARM=y
CONFIG_ARM_HAS_SG_CHAIN=y
@@ -7879,8 +7879,8 @@ CONFIG_FPGA_MGR_SOCFPGA=m
CONFIG_FPGA_MGR_SOCFPGA_A10=m
CONFIG_ALTERA_PR_IP_CORE=m
CONFIG_ALTERA_PR_IP_CORE_PLAT=m
-# CONFIG_FPGA_MGR_ALTERA_PS_SPI is not set
-# CONFIG_FPGA_MGR_ALTERA_CVP is not set
+CONFIG_FPGA_MGR_ALTERA_PS_SPI=m
+CONFIG_FPGA_MGR_ALTERA_CVP=m
CONFIG_FPGA_MGR_ZYNQ_FPGA=m
CONFIG_FPGA_MGR_XILINX_SPI=m
CONFIG_FPGA_MGR_ICE40_SPI=m
@@ -8185,7 +8185,7 @@ CONFIG_CIFS_FSCACHE=y
# CONFIG_9P_FS is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m