aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/linux.scm
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2018-08-18 15:17:15 -0400
committerMark H Weaver <mhw@netris.org>2018-08-18 15:40:02 -0400
commit50dbd26ce0a25861cfb428144cc7c21e1cae7f5d (patch)
tree427559453955c9a2ecaba1ebaeccf0bc678f04fb /gnu/packages/linux.scm
parent863e61994c5250d267dae7e2e92a55bc0335eb5d (diff)
downloadgnu-guix-50dbd26ce0a25861cfb428144cc7c21e1cae7f5d.tar
gnu-guix-50dbd26ce0a25861cfb428144cc7c21e1cae7f5d.tar.gz
gnu: linux-libre: Add fix from 4.4.150, 4.9.122, 4.14.65, 4.18.3.
This adds the sole fix included in upstream versions 4.18.3, 4.14.65, 4.9.122, and 4.4.150. * gnu/packages/linux.scm (%linux-libre-exempt-zeroed-PTEs-from-inversion-patch): New variable. (%linux-libre-patches): Repurposed for patches applicable to all versions. Add the aforementioned fix. (%linux-libre-4.18-patches): New variable, with definition based on the previous %linux-libre-patches. (linux-libre, linux-libre-arm-generic, linux-libre-arm-omap2plus): Add %linux-libre-4.18-patches. (linux-libre-4.14, linux-libre-arm-generic-4.14) (linux-libre-arm-omap2plus-4.14, linux-libre-4.9) (linux-libre-4.4): Add %linux-libre-patches.
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r--gnu/packages/linux.scm63
1 files changed, 44 insertions, 19 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 5ece317b96..e3b82de87e 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -407,32 +407,50 @@ It has been modified to remove all non-free binary blobs.")
(define %linux-libre-version "4.18.2")
(define %linux-libre-hash "0kfbzwp56yf7lb884jcdwx5cia73k5ks3nzxb306lj4s249qkn17")
+;; This is the sole patch from versions 4.4.150, 4.9.122, 4.14.65, and 4.18.3.
+;; We apply it manually for now since these linux-libre versions have not yet
+;; been released.
+(define %linux-libre-exempt-zeroed-PTEs-from-inversion-patch
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
+ "/patch/?id=8f7b7e0bd3c6dd83c2795a25985bc60cfd3bdac1"))
+ (file-name "linux-libre-exempt-zeroed-PTEs-from-inversion.patch")
+ (sha256
+ (base32 "0vlpcgqhmlxnb6wpi7fpyqfdgskpza5fhlx8j5scdipj6cm1107l"))))
+
(define %linux-libre-patches
(list %boot-logo-patch
- (origin
- (method url-fetch)
- (uri (string-append
- "https://salsa.debian.org/kernel-team/linux"
- "/raw/34a7d9011fcfcfa38b68282fd2b1a8797e6834f0"
- "/debian/patches/bugfix/arm/"
- "arm-mm-export-__sync_icache_dcache-for-xen-privcmd.patch"))
- (file-name "linux-libre-4.18-arm-export-__sync_icache_dcache.patch")
- (sha256
- (base32 "1ifnfhpakzffn4b8n7x7w5cps9mzjxlkcfz9zqak2vaw8nzvl39f")))
- (origin
- (method url-fetch)
- (uri (string-append
- "https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git"
- "/patch/?id=c5157101e7793b42a56e07368c7f4cb73fb58008"))
- (file-name "linux-libre-4.18-arm64-export-__sync_icache_dcache.patch")
- (sha256
- (base32 "0q13arsi8al3l3yq6d76z4h8n45wlpkjyxlrgn1sqbx5xjksycyz")))))
+ %linux-libre-exempt-zeroed-PTEs-from-inversion-patch))
+
+(define %linux-libre-4.18-patches
+ (append
+ %linux-libre-patches
+ (list (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://salsa.debian.org/kernel-team/linux"
+ "/raw/34a7d9011fcfcfa38b68282fd2b1a8797e6834f0"
+ "/debian/patches/bugfix/arm/"
+ "arm-mm-export-__sync_icache_dcache-for-xen-privcmd.patch"))
+ (file-name "linux-libre-4.18-arm-export-__sync_icache_dcache.patch")
+ (sha256
+ (base32 "1ifnfhpakzffn4b8n7x7w5cps9mzjxlkcfz9zqak2vaw8nzvl39f")))
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git"
+ "/patch/?id=c5157101e7793b42a56e07368c7f4cb73fb58008"))
+ (file-name "linux-libre-4.18-arm64-export-__sync_icache_dcache.patch")
+ (sha256
+ (base32 "0q13arsi8al3l3yq6d76z4h8n45wlpkjyxlrgn1sqbx5xjksycyz"))))))
(define-public linux-libre
(make-linux-libre %linux-libre-version
%linux-libre-hash
%linux-compatible-systems
- #:patches %linux-libre-patches
+ #:patches %linux-libre-4.18-patches
#:configuration-file kernel-config))
(define %linux-libre-4.14-version "4.14.64")
@@ -442,24 +460,28 @@ It has been modified to remove all non-free binary blobs.")
(make-linux-libre %linux-libre-4.14-version
%linux-libre-4.14-hash
'("x86_64-linux" "i686-linux" "armhf-linux")
+ #:patches %linux-libre-patches
#:configuration-file kernel-config))
(define-public linux-libre-4.9
(make-linux-libre "4.9.121"
"00vrx2rq1fcyg6fbknb92jh3ip6771zjg7g151drrhc16h4xvi9l"
%intel-compatible-systems
+ #:patches %linux-libre-patches
#:configuration-file kernel-config))
(define-public linux-libre-4.4
(make-linux-libre "4.4.149"
"12xf9mk8scajjal6dijs1l95s1cmkfwfc2mlbrra4lvy4cdg5fds"
%intel-compatible-systems
+ #:patches %linux-libre-patches
#:configuration-file kernel-config))
(define-public linux-libre-arm-generic
(make-linux-libre %linux-libre-version
%linux-libre-hash
'("armhf-linux")
+ #:patches %linux-libre-4.18-patches
#:defconfig "multi_v7_defconfig"
#:extra-version "arm-generic"))
@@ -467,6 +489,7 @@ It has been modified to remove all non-free binary blobs.")
(make-linux-libre %linux-libre-4.14-version
%linux-libre-4.14-hash
'("armhf-linux")
+ #:patches %linux-libre-patches
#:defconfig "multi_v7_defconfig"
#:extra-version "arm-generic"))
@@ -474,6 +497,7 @@ It has been modified to remove all non-free binary blobs.")
(make-linux-libre %linux-libre-version
%linux-libre-hash
'("armhf-linux")
+ #:patches %linux-libre-4.18-patches
#:defconfig "omap2plus_defconfig"
#:extra-version "arm-omap2plus"))
@@ -481,6 +505,7 @@ It has been modified to remove all non-free binary blobs.")
(make-linux-libre %linux-libre-4.14-version
%linux-libre-4.14-hash
'("armhf-linux")
+ #:patches %linux-libre-patches
#:defconfig "omap2plus_defconfig"
#:extra-version "arm-omap2plus"))