diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2014-07-13 23:47:52 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2014-07-13 23:47:52 -0300 |
commit | 46247820461377a6ce7a5fe673547d8ed553f57a (patch) | |
tree | 16f9f7343d7496fac69d923909c3d1afc51b9708 /kernels/linux-libre-rt | |
parent | 7c1c9ac0d1b791ae890a73a578663edf8879e869 (diff) | |
download | abslibre-46247820461377a6ce7a5fe673547d8ed553f57a.tar.gz abslibre-46247820461377a6ce7a5fe673547d8ed553f57a.tar.bz2 abslibre-46247820461377a6ce7a5fe673547d8ed553f57a.zip |
linux-libre-rt-3.14.10_rt7-1: updating version
Diffstat (limited to 'kernels/linux-libre-rt')
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 |