summaryrefslogtreecommitdiff
path: root/kernels
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@parabola.nu>2014-07-13 23:47:52 -0300
committerAndré Fabian Silva Delgado <emulatorman@parabola.nu>2014-07-13 23:47:52 -0300
commit46247820461377a6ce7a5fe673547d8ed553f57a (patch)
tree16f9f7343d7496fac69d923909c3d1afc51b9708 /kernels
parent7c1c9ac0d1b791ae890a73a578663edf8879e869 (diff)
downloadabslibre-46247820461377a6ce7a5fe673547d8ed553f57a.tar.gz
abslibre-46247820461377a6ce7a5fe673547d8ed553f57a.tar.bz2
abslibre-46247820461377a6ce7a5fe673547d8ed553f57a.zip
linux-libre-rt-3.14.10_rt7-1: updating version
Diffstat (limited to 'kernels')
-rw-r--r--kernels/linux-libre-rt/0004-fs-Don-t-return-0-from-get_anon_bdev.patch44
-rw-r--r--kernels/linux-libre-rt/0005-Revert-Bluetooth-Enable-autosuspend-for-Intel-Blueto.patch33
-rw-r--r--kernels/linux-libre-rt/0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch52
-rw-r--r--kernels/linux-libre-rt/0011-kernfs-fix-removed-error-check.patch13
-rw-r--r--kernels/linux-libre-rt/0012-fix-saa7134.patch37
-rw-r--r--kernels/linux-libre-rt/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch13
-rw-r--r--kernels/linux-libre-rt/0015-fix-xsdt-validation.patch42
-rw-r--r--kernels/linux-libre-rt/Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch17
-rw-r--r--kernels/linux-libre-rt/PKGBUILD89
-rw-r--r--kernels/linux-libre-rt/config.i68610
-rw-r--r--kernels/linux-libre-rt/config.x86_6432
-rw-r--r--kernels/linux-libre-rt/revert_timers-dont_raise_softirq_unconditionally_and_fixes.patch130
12 files changed, 38 insertions, 474 deletions
diff --git a/kernels/linux-libre-rt/0004-fs-Don-t-return-0-from-get_anon_bdev.patch b/kernels/linux-libre-rt/0004-fs-Don-t-return-0-from-get_anon_bdev.patch
deleted file mode 100644
index 5e4a27f06..000000000
--- a/kernels/linux-libre-rt/0004-fs-Don-t-return-0-from-get_anon_bdev.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 835a463e190af87a36df681863db7c3ea7ba0d66 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Thomas=20B=C3=A4chler?= <thomas@archlinux.org>
-Date: Thu, 3 Apr 2014 21:55:37 +0200
-Subject: [PATCH 04/10] fs: Don't return 0 from get_anon_bdev
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Commit 9e30cc9595303b27b48 removed an internal mount. This
-has the side-effect that rootfs now has FSID 0. Many
-userspace utilities assume that st_dev in struct stat
-is never 0, so this change breaks a number of tools in
-early userspace.
-
-Since we don't know how many userspace programs are affected,
-make sure that FSID is at least 1.
-
-References: http://article.gmane.org/gmane.linux.kernel/1666905
-References: http://permalink.gmane.org/gmane.linux.utilities.util-linux-ng/8557
-Cc: 3.14 <stable@vger.kernel.org>
-Signed-off-by: Thomas Bächler <thomas@archlinux.org>
----
- fs/super.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/fs/super.c b/fs/super.c
-index 80d5cf2..7624267 100644
---- a/fs/super.c
-+++ b/fs/super.c
-@@ -802,7 +802,10 @@ void emergency_remount(void)
-
- static DEFINE_IDA(unnamed_dev_ida);
- static DEFINE_SPINLOCK(unnamed_dev_lock);/* protects the above */
--static int unnamed_dev_start = 0; /* don't bother trying below it */
-+/* Many userspace utilities consider an FSID of 0 invalid.
-+ * Always return at least 1 from get_anon_bdev.
-+ */
-+static int unnamed_dev_start = 1;
-
- int get_anon_bdev(dev_t *p)
- {
---
-1.9.2
-
diff --git a/kernels/linux-libre-rt/0005-Revert-Bluetooth-Enable-autosuspend-for-Intel-Blueto.patch b/kernels/linux-libre-rt/0005-Revert-Bluetooth-Enable-autosuspend-for-Intel-Blueto.patch
deleted file mode 100644
index 74283b57c..000000000
--- a/kernels/linux-libre-rt/0005-Revert-Bluetooth-Enable-autosuspend-for-Intel-Blueto.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 71d4f3022d1f625d94187f7cda682d2233a692d8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Thomas=20B=C3=A4chler?= <thomas@archlinux.org>
-Date: Thu, 3 Apr 2014 23:59:49 +0200
-Subject: [PATCH 05/10] Revert "Bluetooth: Enable autosuspend for Intel
- Bluetooth device"
-
-This reverts commit d2bee8fb6e18f6116aada39851918473761f7ab1.
-
-USB autosuspend still breaks on some xhci controllers, so disable
-it by default as long as no solution is found.
----
- drivers/bluetooth/btusb.c | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
-index baeaaed..6d6e09e 100644
---- a/drivers/bluetooth/btusb.c
-+++ b/drivers/bluetooth/btusb.c
-@@ -1478,10 +1478,8 @@ static int btusb_probe(struct usb_interface *intf,
- if (id->driver_info & BTUSB_BCM92035)
- hdev->setup = btusb_setup_bcm92035;
-
-- if (id->driver_info & BTUSB_INTEL) {
-- usb_enable_autosuspend(data->udev);
-+ if (id->driver_info & BTUSB_INTEL)
- hdev->setup = btusb_setup_intel;
-- }
-
- /* Interface numbers are hardcoded in the specification */
- data->isoc = usb_ifnum_to_if(data->udev, 1);
---
-1.9.2
-
diff --git a/kernels/linux-libre-rt/0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch b/kernels/linux-libre-rt/0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch
deleted file mode 100644
index 7f18091a4..000000000
--- a/kernels/linux-libre-rt/0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 784c4f0b18f89922ddc0fe21e5ec64cc370bb3f2 Mon Sep 17 00:00:00 2001
-From: Johannes Berg <johannes.berg@intel.com>
-Date: Wed, 19 Mar 2014 18:36:39 +0100
-Subject: [PATCH 10/10] iwlwifi: mvm: delay enabling smart FIFO until after
- beacon RX
-
-If we have no beacon data before association, delay smart FIFO
-enablement until after we have this data.
-
-Not doing so can cause association failures in extremely silent
-environments (usually only a shielded box/room) as beacon RX is
-not sent to the host immediately, and then the association time
-event ends without the host receiving any beacon even though it
-was on the air - it's just stuck on the FIFO.
-
-Cc: <stable@vger.kernel.org> [3.14]
-Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
----
- drivers/net/wireless/iwlwifi/mvm/mac80211.c | 1 +
- drivers/net/wireless/iwlwifi/mvm/sf.c | 3 ++-
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
-index c35b866..45e861e 100644
---- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
-+++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
-@@ -971,6 +971,7 @@ static void iwl_mvm_bss_info_changed_station(struct iwl_mvm *mvm,
- */
- iwl_mvm_remove_time_event(mvm, mvmvif,
- &mvmvif->time_event_data);
-+ iwl_mvm_sf_update(mvm, vif, false);
- } else if (changes & (BSS_CHANGED_PS | BSS_CHANGED_P2P_PS |
- BSS_CHANGED_QOS)) {
- ret = iwl_mvm_power_update_mode(mvm, vif);
-diff --git a/drivers/net/wireless/iwlwifi/mvm/sf.c b/drivers/net/wireless/iwlwifi/mvm/sf.c
-index 8401627..88809b2 100644
---- a/drivers/net/wireless/iwlwifi/mvm/sf.c
-+++ b/drivers/net/wireless/iwlwifi/mvm/sf.c
-@@ -274,7 +274,8 @@ int iwl_mvm_sf_update(struct iwl_mvm *mvm, struct ieee80211_vif *changed_vif,
- return -EINVAL;
- if (changed_vif->type != NL80211_IFTYPE_STATION) {
- new_state = SF_UNINIT;
-- } else if (changed_vif->bss_conf.assoc) {
-+ } else if (changed_vif->bss_conf.assoc &&
-+ changed_vif->bss_conf.dtim_period) {
- mvmvif = iwl_mvm_vif_from_mac80211(changed_vif);
- sta_id = mvmvif->ap_sta_id;
- new_state = SF_FULL_ON;
---
-1.9.2
-
diff --git a/kernels/linux-libre-rt/0011-kernfs-fix-removed-error-check.patch b/kernels/linux-libre-rt/0011-kernfs-fix-removed-error-check.patch
deleted file mode 100644
index b597595c6..000000000
--- a/kernels/linux-libre-rt/0011-kernfs-fix-removed-error-check.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c
-index 8034706..e01ea4a 100644
---- a/fs/kernfs/file.c
-+++ b/fs/kernfs/file.c
-@@ -484,6 +484,8 @@ static int kernfs_fop_mmap(struct file *file, struct vm_area_struct *vma)
-
- ops = kernfs_ops(of->kn);
- rc = ops->mmap(of, vma);
-+ if (rc)
-+ goto out_put;
-
- /*
- * PowerPC's pci_mmap of legacy_mem uses shmem_zero_setup()
diff --git a/kernels/linux-libre-rt/0012-fix-saa7134.patch b/kernels/linux-libre-rt/0012-fix-saa7134.patch
deleted file mode 100644
index 070fbc8eb..000000000
--- a/kernels/linux-libre-rt/0012-fix-saa7134.patch
+++ /dev/null
@@ -1,37 +0,0 @@
---- a/drivers/media/pci/saa7134/saa7134-video.c
-+++ a/drivers/media/pci/saa7134/saa7134-video.c
-@@ -1243,6 +1243,7 @@ static int video_release(struct file *file)
- videobuf_streamoff(&dev->cap);
- res_free(dev, fh, RESOURCE_VIDEO);
- videobuf_mmap_free(&dev->cap);
-+ INIT_LIST_HEAD(&dev->cap.stream);
- }
- if (dev->cap.read_buf) {
- buffer_release(&dev->cap, dev->cap.read_buf);
-@@ -1254,6 +1255,7 @@ static int video_release(struct file *file)
- videobuf_stop(&dev->vbi);
- res_free(dev, fh, RESOURCE_VBI);
- videobuf_mmap_free(&dev->vbi);
-+ INIT_LIST_HEAD(&dev->vbi.stream);
- }
-
- /* ts-capture will not work in planar mode, so turn it off Hac: 04.05*/
-@@ -1987,17 +1989,12 @@ int saa7134_streamoff(struct file *file, void *priv,
- enum v4l2_buf_type type)
- {
- struct saa7134_dev *dev = video_drvdata(file);
-- int err;
- int res = saa7134_resource(file);
-
- if (res != RESOURCE_EMPRESS)
- pm_qos_remove_request(&dev->qos_request);
-
-- err = videobuf_streamoff(saa7134_queue(file));
-- if (err < 0)
-- return err;
-- res_free(dev, priv, res);
-- return 0;
-+ return videobuf_streamoff(saa7134_queue(file));
- }
- EXPORT_SYMBOL_GPL(saa7134_streamoff);
-
diff --git a/kernels/linux-libre-rt/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch b/kernels/linux-libre-rt/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch
deleted file mode 100644
index 2840f190c..000000000
--- a/kernels/linux-libre-rt/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/net/core/dev.c b/net/core/dev.c
-index 45fa2f1..6088927 100644
---- a/net/core/dev.c
-+++ b/net/core/dev.c
-@@ -2289,7 +2289,7 @@ EXPORT_SYMBOL(skb_checksum_help);
- __be16 skb_network_protocol(struct sk_buff *skb, int *depth)
- {
- __be16 type = skb->protocol;
-- int vlan_depth = ETH_HLEN;
-+ int vlan_depth = skb->mac_len;
-
- /* Tunnel gso handlers can set protocol to ethernet. */
- if (type == htons(ETH_P_TEB)) {
diff --git a/kernels/linux-libre-rt/0015-fix-xsdt-validation.patch b/kernels/linux-libre-rt/0015-fix-xsdt-validation.patch
deleted file mode 100644
index 82dd2be25..000000000
--- a/kernels/linux-libre-rt/0015-fix-xsdt-validation.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-@@ -, +, @@
- acpi_tb_parse_root_table().
- Commit: 671cc68dc61f029d44b43a681356078e02d8dab8
- Subject: ACPICA: Back port and refine validation of the XSDT root table.
----
- drivers/acpi/acpica/tbutils.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
---- a/drivers/acpi/acpica/tbutils.c
-+++ a/drivers/acpi/acpica/tbutils.c
-@@ -461,6 +461,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address)
- u32 table_count;
- struct acpi_table_header *table;
- acpi_physical_address address;
-+ acpi_physical_address rsdt_address;
- u32 length;
- u8 *table_entry;
- acpi_status status;
-@@ -488,11 +489,13 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address)
- * as per the ACPI specification.
- */
- address = (acpi_physical_address) rsdp->xsdt_physical_address;
-+ rsdt_address = (acpi_physical_address) rsdp->rsdt_physical_address;
- table_entry_size = ACPI_XSDT_ENTRY_SIZE;
- } else {
- /* Root table is an RSDT (32-bit physical addresses) */
-
- address = (acpi_physical_address) rsdp->rsdt_physical_address;
-+ rsdt_address = address;
- table_entry_size = ACPI_RSDT_ENTRY_SIZE;
- }
-
-@@ -515,8 +518,7 @@ acpi_status __init acpi_tb_parse_root_table(acpi_physical_address rsdp_address)
-
- /* Fall back to the RSDT */
-
-- address =
-- (acpi_physical_address) rsdp->rsdt_physical_address;
-+ address = rsdt_address;
- table_entry_size = ACPI_RSDT_ENTRY_SIZE;
- }
- }
-
diff --git a/kernels/linux-libre-rt/Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch b/kernels/linux-libre-rt/Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch
deleted file mode 100644
index 0aa95628a..000000000
--- a/kernels/linux-libre-rt/Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c
-index 41fe8a0..fe9d129 100644
---- a/drivers/tty/n_tty.c
-+++ b/drivers/tty/n_tty.c
-@@ -2353,8 +2353,12 @@ static ssize_t n_tty_write(struct tty_struct *tty, struct file *file,
- if (tty->ops->flush_chars)
- tty->ops->flush_chars(tty);
- } else {
-+ struct n_tty_data *ldata = tty->disc_data;
-+
- while (nr > 0) {
-+ mutex_lock(&ldata->output_lock);
- c = tty->ops->write(tty, b, nr);
-+ mutex_unlock(&ldata->output_lock);
- if (c < 0) {
- retval = c;
- goto break_out; \ No newline at end of file
diff --git a/kernels/linux-libre-rt/PKGBUILD b/kernels/linux-libre-rt/PKGBUILD
index 1e0dabfe3..c808bceb0 100644
--- a/kernels/linux-libre-rt/PKGBUILD
+++ b/kernels/linux-libre-rt/PKGBUILD
@@ -4,17 +4,21 @@
# Contributor (Arch): Tobias Powalowski <tpowa@archlinux.org>
# Contributor (Arch): Thomas Baechler <thomas@archlinux.org>
# Maintainer: André Silva <emulatorman@parabola.nu>
+# Contributor: Nicolás Reynolds <fauno@kiwwwi.com.ar>
+# Contributor: Sorin-Mihai Vârgolici <smv@yobicore.org>
+# Contributor: Michał Masłowski <mtjm@mtjm.eu>
# Contributor: Márcio Silva <coadde@parabola.nu>
+# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
-pkgbase=linux-libre-rt # Build stock -LIBRE-RT kernel
+pkgbase=linux-libre-rt # Build stock -libre-rt kernel
#pkgbase=linux-libre-custom # Build kernel with a different name
_basekernel=3.14
-_releasever=3
-_rtpatchver=rt5
+_releasever=10
+_rtpatchver=rt7
_pkgver=${_basekernel}.${_releasever}
pkgver=${_basekernel}.${_releasever}_${_rtpatchver}
pkgrel=1
-_lxopkgver=${_basekernel}.3 # nearly always the same as pkgver
+_lxopkgver=${_basekernel}.10 # nearly always the same as pkgver
arch=('i686' 'x86_64' 'mips64el')
url="https://rt.wiki.kernel.org/"
license=('GPL2')
@@ -34,22 +38,13 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
'0001-Bluetooth-allocate-static-minor-for-vhci.patch'
'0002-module-allow-multiple-calls-to-MODULE_DEVICE_TABLE-p.patch'
'0003-module-remove-MODULE_GENERIC_TABLE.patch'
- '0004-fs-Don-t-return-0-from-get_anon_bdev.patch'
- '0005-Revert-Bluetooth-Enable-autosuspend-for-Intel-Blueto.patch'
'0006-genksyms-fix-typeof-handling.patch'
- '0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch'
- '0011-kernfs-fix-removed-error-check.patch'
- '0012-fix-saa7134.patch'
- '0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch'
- '0015-fix-xsdt-validation.patch'
- 'Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch'
- 'revert_timers-dont_raise_softirq_unconditionally_and_fixes.patch'
"http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz")
sha256sums=('477555c709b9407fe37dbd70d3331ff9dde1f9d874aba2741f138d07ae6f281b'
- 'fcd8398a41a7e55e44123857342fd9041ae1bdacbcf8c5099a53293c96e6fba6'
- '99e5823aa54b4a391c63961af5012ff7e1eb97cc1a27a6bcc0c374b4cdac579b'
- 'b5e4c82a6c5e4eb903b2aa738d784573aaf964cd01d6f5a35778315e7bcd7bbe'
- '35fda48caa90e6229031e269e2cc55108a3aaa91d8d36d03d3c8af8b96c287d9'
+ '4d6464017eba2219cad87733ee0f05e4b672762a09cb51079864e9d740305c06'
+ '869bc7e14224865407698a135b67f54a5c0fbc0a9805faead6c6573394640c5f'
+ '84a7e8d8ffb308f74e3e0bdfec81ac918ae90a6cad579ed5452481b5f5ceb003'
+ '23e14dbfc4f4f2991ed532ce07a856fa168ff74404d0c4e7f736147c8ebf41a3'
'afb12acaae2b2fc03d0d1367066657aacd60eb242162d90eef7b3f5fbe40f554'
'c5451d5e1eafc4f8d28b1a2958ec3102c124433a414a86450fc32058e004156b'
'55bf07738a3286168a7929ae16dbca29defd14e77b9d24c487ae4c3d12bb9eb9'
@@ -58,17 +53,8 @@ sha256sums=('477555c709b9407fe37dbd70d3331ff9dde1f9d874aba2741f138d07ae6f281b'
'6d72e14552df59e6310f16c176806c408355951724cd5b48a47bf01591b8be02'
'52dec83a8805a8642d74d764494acda863e0aa23e3d249e80d4b457e20a3fd29'
'65d58f63215ee3c5f9c4fc6bce36fc5311a6c7dbdbe1ad29de40647b47ff9c0d'
- '1e1ae0f31f722e80da083ecada1f1be57f9ddad133941820c4483b0240e494c1'
- '3fffb01cf97a5a7ab9601cb277d2468c0fb1e1cceba4225915f3ffae3a5694ec'
'cf2e7a2d00787f754028e7459688c2755a406e632ce48b60952fa4ff7ed6f4b7'
- 'c0af4622f75c89fef62183e18b7d49998228d4eaa906c6accaf4aa4ff0134f85'
- '04f44bf5c181d6dc31905937c1bdccb0f5aecaad3a579e99b302502b9cbe0f7a'
- '79359454c9d8446eb55add2b1cdbf8332bd67dafb01fefb5b1ca090225f64d18'
- 'f2a5e22c1ba6e9b8a32a7bd4a5327ee95538aa10edcee3cd12578f8ff49bf6be'
- '384dd13fd4248fd6809da8c6ae29ced55d4a5cacc33ac2ae7522093ec0fb26d4'
- '337e24c598736e670f0c7eb789657c99b5e68a3dccd25addb1a70f70f40d206f'
- 'b0107c64c582f7c6fa2e0c7c32a5f944c644f53b5df04667d487731b3c3b4060'
- '43d975e9c9c68de131005a87c3c755fadef1eaed6c551bcafd08f2746f9d71fd')
+ '727c9328414e0b18478144b700ddb9507269aff1af0130e04f091189efd4ccb8')
if [ "$CARCH" != "mips64el" ]; then
# don't use the Loongson-specific patches on non-mips64el arches.
unset source[${#source[@]}-1]
@@ -76,7 +62,7 @@ if [ "$CARCH" != "mips64el" ]; then
fi
_kernelname=${pkgbase#linux-libre}
-_localversionname=-LIBRE-RT
+_localversionname=-libre-rt
prepare() {
cd "${srcdir}/linux-${_basekernel}"
@@ -85,18 +71,9 @@ prepare() {
patch -p1 -i "${srcdir}/patch-${_basekernel}-gnu-${_pkgver}-gnu"
fi
- # fix CVE-2014-0196
- patch -Np1 -i "${srcdir}/Fix-n_tty_write-crash-when-echoing-in-raw-mode.patch"
-
# add realtime patch
patch -p1 -i "${srcdir}/patch-${_pkgver}-${_rtpatchver}.patch"
- # fix rt version
- sed -i '\|rt4| s|4|5|' localversion-rt
-
- # revert a few troublesome patches
- patch -p1 -i "${srcdir}/revert_timers-dont_raise_softirq_unconditionally_and_fixes.patch"
-
# add freedo as boot logo
patch -p1 -i "${srcdir}/boot-logo.patch"
@@ -115,42 +92,10 @@ prepare() {
patch -p1 -i "${srcdir}/0002-module-allow-multiple-calls-to-MODULE_DEVICE_TABLE-p.patch"
patch -p1 -i "${srcdir}/0003-module-remove-MODULE_GENERIC_TABLE.patch"
- # Fix various bugs caused by rootfs having FSID 0
- # See http://www.spinics.net/lists/kernel/msg1716924.html
- patch -p1 -i "${srcdir}/0004-fs-Don-t-return-0-from-get_anon_bdev.patch"
-
- # Disable usb autosuspend for intel btusb
- # See http://www.spinics.net/lists/kernel/msg1716461.html
- # Until a solution is found, make sure the driver leaves autosuspend alone
- patch -p1 -i "${srcdir}/0005-Revert-Bluetooth-Enable-autosuspend-for-Intel-Blueto.patch"
-
# Fix generation of symbol CRCs
# http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=dc53324060f324e8af6867f57bf4891c13c6ef18
patch -p1 -i "${srcdir}/0006-genksyms-fix-typeof-handling.patch"
- # https://git.kernel.org/cgit/linux/kernel/git/iwlwifi/iwlwifi-fixes.git/commit/?id=12f853a89e29f50b17698e17e73c328a35f1498d
- # FS#39815
- patch -p1 -i "${srcdir}/0010-iwlwifi-mvm-delay-enabling-smart-FIFO-until-after-be.patch"
-
- # fix Xorg crash with i810 chipset due to wrong removed error check
- # References: http://lkml.kernel.org/g/533D01BD.1010200@googlemail.com
- patch -Np1 -i "${srcdir}/0011-kernfs-fix-removed-error-check.patch"
-
- # fix saa7134 video
- # https://bugs.archlinux.org/task/39904
- # https://bugzilla.kernel.org/show_bug.cgi?id=73361
- patch -Np1 -i "${srcdir}/0012-fix-saa7134.patch"
-
- # fix tun/openvpn performance
- # https://bugs.archlinux.org/task/40089
- # https://bugzilla.kernel.org/show_bug.cgi?id=74051
- patch -Np1 -i "${srcdir}/0013-net-Start-with-correct-mac_len-in-skb_network_protocol.patch"
-
- # fix xsdt validation bug
- # https://bugs.archlinux.org/task/39811
- # https://bugzilla.kernel.org/show_bug.cgi?id=73911
- patch -Np1 -i "${srcdir}/0015-fix-xsdt-validation.patch"
-
if [ "$CARCH" == "mips64el" ]; then
sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre-rt|" Makefile
sed -r "s|^( SUBLEVEL = ).*|\1$_sublevel|" \
@@ -281,10 +226,10 @@ _package() {
# gzip -9 all modules to save 100MB of space
find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
# make room for external modules
- ln -s "../extramodules-${_basekernel}${_localversionname:--LIBRE-RT}" "${pkgdir}/lib/modules/${_kernver}/extramodules"
+ ln -s "../extramodules-${_basekernel}${_localversionname:--libre-rt}" "${pkgdir}/lib/modules/${_kernver}/extramodules"
# add real version for building modules and running depmod from post_install/upgrade
- mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_localversionname:--LIBRE-RT}"
- echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_localversionname:--LIBRE-RT}/version"
+ mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_localversionname:--libre-rt}"
+ echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_localversionname:--libre-rt}/version"
# Now we call depmod...
depmod -b "${pkgdir}" -F System.map "${_kernver}"
diff --git a/kernels/linux-libre-rt/config.i686 b/kernels/linux-libre-rt/config.i686
index 0eef776b9..d8950ad6f 100644
--- a/kernels/linux-libre-rt/config.i686
+++ b/kernels/linux-libre-rt/config.i686
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 3.14.3 Kernel Configuration
+# Linux/x86 3.14.10 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@@ -50,7 +50,7 @@ CONFIG_BUILDTIME_EXTABLE_SORT=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
# CONFIG_COMPILE_TEST is not set
-CONFIG_LOCALVERSION="-LIBRE-RT"
+CONFIG_LOCALVERSION="-libre-rt"
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
@@ -205,6 +205,7 @@ CONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
CONFIG_SLUB=y
CONFIG_SLUB_CPU_PARTIAL=y
+# CONFIG_SYSTEM_TRUSTED_KEYRING is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_HAVE_OPROFILE=y
@@ -265,7 +266,6 @@ CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
-# CONFIG_SYSTEM_TRUSTED_KEYRING is not set
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
@@ -529,6 +529,7 @@ CONFIG_PM_CLK=y
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
# CONFIG_ACPI_PROCFS is not set
+# CONFIG_ACPI_PROCFS_POWER is not set
CONFIG_ACPI_EC_DEBUGFS=m
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
@@ -1704,7 +1705,7 @@ CONFIG_AD525X_DPOT_I2C=m
# CONFIG_ATMEL_PWM is not set
# CONFIG_DUMMY_IRQ is not set
# CONFIG_IBM_ASM is not set
-CONFIG_HWLAT_DETECTOR=y
+CONFIG_HWLAT_DETECTOR=m
CONFIG_PHANTOM=m
CONFIG_SGI_IOC4=m
CONFIG_TIFM_CORE=m
@@ -3564,6 +3565,7 @@ CONFIG_SENSORS_MAX6650=m
CONFIG_SENSORS_MAX6697=m
CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_NCT6775=m
+CONFIG_SENSORS_NTC_THERMISTOR=m
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
CONFIG_SENSORS_PCF8591=m
diff --git a/kernels/linux-libre-rt/config.x86_64 b/kernels/linux-libre-rt/config.x86_64
index 1a500d063..9df9cc9ba 100644
--- a/kernels/linux-libre-rt/config.x86_64
+++ b/kernels/linux-libre-rt/config.x86_64
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 3.14.3 Kernel Configuration
+# Linux/x86 3.14.10 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
@@ -51,7 +51,7 @@ CONFIG_BUILDTIME_EXTABLE_SORT=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
# CONFIG_COMPILE_TEST is not set
-CONFIG_LOCALVERSION="-LIBRE-RT"
+CONFIG_LOCALVERSION="-libre-rt"
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
@@ -106,9 +106,8 @@ CONFIG_HIGH_RES_TIMERS=y
#
# CPU/Task time and stats accounting
#
-CONFIG_VIRT_CPU_ACCOUNTING=y
-# CONFIG_TICK_CPU_ACCOUNTING is not set
-CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
@@ -123,18 +122,13 @@ CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_TREE_PREEMPT_RCU=y
CONFIG_PREEMPT_RCU=y
CONFIG_RCU_STALL_COMMON=y
-CONFIG_CONTEXT_TRACKING=y
-CONFIG_RCU_USER_QS=y
-# CONFIG_CONTEXT_TRACKING_FORCE is not set
+# CONFIG_RCU_USER_QS is not set
CONFIG_RCU_FANOUT=64
CONFIG_RCU_FANOUT_LEAF=16
# CONFIG_RCU_FANOUT_EXACT is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_RCU_BOOST is not set
-CONFIG_RCU_NOCB_CPU=y
-# CONFIG_RCU_NOCB_CPU_NONE is not set
-# CONFIG_RCU_NOCB_CPU_ZERO is not set
-CONFIG_RCU_NOCB_CPU_ALL=y
+# CONFIG_RCU_NOCB_CPU is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=19
@@ -220,6 +214,7 @@ CONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
CONFIG_SLUB=y
CONFIG_SLUB_CPU_PARTIAL=y
+# CONFIG_SYSTEM_TRUSTED_KEYRING is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_HAVE_OPROFILE=y
@@ -282,7 +277,6 @@ CONFIG_COMPAT_OLD_SIGACTION=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
-# CONFIG_SYSTEM_TRUSTED_KEYRING is not set
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
@@ -459,6 +453,7 @@ CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_BALLOON_COMPACTION=y
CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
+CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
@@ -541,6 +536,7 @@ CONFIG_PM_CLK=y
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
# CONFIG_ACPI_PROCFS is not set
+# CONFIG_ACPI_PROCFS_POWER is not set
CONFIG_ACPI_EC_DEBUGFS=m
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
@@ -1638,7 +1634,7 @@ CONFIG_BLK_DEV_DAC960=m
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
-CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
CONFIG_BLK_DEV_CRYPTOLOOP=m
CONFIG_BLK_DEV_DRBD=m
# CONFIG_DRBD_FAULT_INJECTION is not set
@@ -2084,9 +2080,11 @@ CONFIG_NET_TEAM_MODE_LOADBALANCE=m
CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
CONFIG_VXLAN=m
-# CONFIG_NETCONSOLE is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
CONFIG_RIONET=m
CONFIG_RIONET_TX_SIZE=128
CONFIG_RIONET_RX_SIZE=128
diff --git a/kernels/linux-libre-rt/revert_timers-dont_raise_softirq_unconditionally_and_fixes.patch b/kernels/linux-libre-rt/revert_timers-dont_raise_softirq_unconditionally_and_fixes.patch
deleted file mode 100644
index ffd42376a..000000000
--- a/kernels/linux-libre-rt/revert_timers-dont_raise_softirq_unconditionally_and_fixes.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
-index bdbf77db..79a7a35 100644
---- a/include/linux/hrtimer.h
-+++ b/include/linux/hrtimer.h
-@@ -461,8 +461,9 @@ extern int schedule_hrtimeout_range_clock(ktime_t *expires,
- unsigned long delta, const enum hrtimer_mode mode, int clock);
- extern int schedule_hrtimeout(ktime_t *expires, const enum hrtimer_mode mode);
-
--/* Called from the periodic timer tick */
-+/* Soft interrupt function to run the hrtimer queues: */
- extern void hrtimer_run_queues(void);
-+extern void hrtimer_run_pending(void);
-
- /* Bootup initialization: */
- extern void __init hrtimers_init(void);
-diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c
-index c19183d..c6d8232 100644
---- a/kernel/hrtimer.c
-+++ b/kernel/hrtimer.c
-@@ -1694,6 +1694,30 @@ static void run_hrtimer_softirq(struct softirq_action *h)
- }
-
- /*
-+ * Called from timer softirq every jiffy, expire hrtimers:
-+ *
-+ * For HRT its the fall back code to run the softirq in the timer
-+ * softirq context in case the hrtimer initialization failed or has
-+ * not been done yet.
-+ */
-+void hrtimer_run_pending(void)
-+{
-+ if (hrtimer_hres_active())
-+ return;
-+
-+ /*
-+ * This _is_ ugly: We have to check in the softirq context,
-+ * whether we can switch to highres and / or nohz mode. The
-+ * clocksource switch happens in the timer interrupt with
-+ * xtime_lock held. Notification from there only sets the
-+ * check bit in the tick_oneshot code, otherwise we might
-+ * deadlock vs. xtime_lock.
-+ */
-+ if (tick_check_oneshot_change(!hrtimer_is_hres_enabled()))
-+ hrtimer_switch_to_hres();
-+}
-+
-+/*
- * Called from hardirq context every jiffy
- */
- void hrtimer_run_queues(void)
-@@ -1706,13 +1730,6 @@ void hrtimer_run_queues(void)
- if (hrtimer_hres_active())
- return;
-
-- /*
-- * Check whether we can switch to highres mode.
-- */
-- if (tick_check_oneshot_change(!hrtimer_is_hres_enabled())
-- && hrtimer_switch_to_hres())
-- return;
--
- for (index = 0; index < HRTIMER_MAX_CLOCK_BASES; index++) {
- base = &cpu_base->clock_base[index];
- if (!timerqueue_getnext(&base->active))
-diff --git a/kernel/timer.c b/kernel/timer.c
-index cc34e42..7c523a4 100644
---- a/kernel/timer.c
-+++ b/kernel/timer.c
-@@ -1443,6 +1443,8 @@
- irq_work_run();
- #endif
-
-+ hrtimer_run_pending();
-+
- if (time_after_eq(jiffies, base->timer_jiffies))
- __run_timers(base);
- }
-@@ -1452,52 +1454,8 @@
- */
- void run_local_timers(void)
- {
-- struct tvec_base *base = __this_cpu_read(tvec_bases);
--
- hrtimer_run_queues();
-- /*
-- * We can access this lockless as we are in the timer
-- * interrupt. If there are no timers queued, nothing to do in
-- * the timer softirq.
-- */
--#ifdef CONFIG_PREEMPT_RT_FULL
--
--#ifndef CONFIG_SMP
-- /*
-- * The spin_do_trylock() later may fail as the lock may be hold before
-- * the interrupt arrived. The spin-lock debugging code will raise a
-- * warning if the try_lock fails on UP. Since this is only an
-- * optimization for the FULL_NO_HZ case (not to run the timer softirq on
-- * an nohz_full CPU) we don't really care and shedule the softirq.
-- */
- raise_softirq(TIMER_SOFTIRQ);
-- return;
--#endif
--
-- /* On RT, irq work runs from softirq */
-- if (irq_work_needs_cpu()) {
-- raise_softirq(TIMER_SOFTIRQ);
-- return;
-- }
--
-- if (!spin_do_trylock(&base->lock)) {
-- raise_softirq(TIMER_SOFTIRQ);
-- return;
-- }
--#endif
--
-- if (!base->active_timers)
-- goto out;
--
-- /* Check whether the next pending timer has expired */
-- if (time_before_eq(base->next_timer, jiffies))
-- raise_softirq(TIMER_SOFTIRQ);
--out:
--#ifdef CONFIG_PREEMPT_RT_FULL
-- rt_spin_unlock_after_trylock_in_irq(&base->lock);
--#endif
-- /* The ; ensures that gcc won't complain in the !RT case */
-- ;
- }
-
- #ifdef __ARCH_WANT_SYS_ALARM