summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThorsten Leemhuis <fedora@leemhuis.info>2019-02-12 07:21:32 +0100
committerThorsten Leemhuis <fedora@leemhuis.info>2019-02-12 07:21:32 +0100
commitba5921932104dfbbd5ca17ab59ffd40a6b9398ca (patch)
tree4ca3f9e343cc7493496cc49fd82b1872bf455b4b
parent0359923ea42f881924de5914e55e501f919a8bd5 (diff)
parent4e4f5c72ef37065767a797ee9ba6fde88c8bcbef (diff)
downloadkernel-ba5921932104dfbbd5ca17ab59ffd40a6b9398ca.tar.gz
kernel-ba5921932104dfbbd5ca17ab59ffd40a6b9398ca.tar.xz
kernel-ba5921932104dfbbd5ca17ab59ffd40a6b9398ca.zip
-rw-r--r--0001-s390-jump_label-Correct-asm-contraint.patch95
-rw-r--r--Clean-the-new-GCC-9--Wmissing-attributes-warnings.patch450
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_8457191
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_ARMV8_DEPRECATED1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_COMPAT2
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_CP15_BARRIER_EMULATION1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_DEBUG_WX1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_SETEND_EMULATION1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_SWP_EMULATION1
-rw-r--r--configs/fedora/generic/s390x/CONFIG_JUMP_LABEL2
-rw-r--r--drm-enable-uncached-DMA-optimization-for-ARM-and-arm64.patch196
-rw-r--r--kernel-aarch64-debug.config7
-rw-r--r--kernel-aarch64.config7
-rw-r--r--kernel-s390x-debug.config2
-rw-r--r--kernel-s390x.config2
-rw-r--r--kernel.spec20
-rw-r--r--sources1
17 files changed, 738 insertions, 52 deletions
diff --git a/0001-s390-jump_label-Correct-asm-contraint.patch b/0001-s390-jump_label-Correct-asm-contraint.patch
index 37ece86d1..631fea919 100644
--- a/0001-s390-jump_label-Correct-asm-contraint.patch
+++ b/0001-s390-jump_label-Correct-asm-contraint.patch
@@ -1,50 +1,63 @@
-From dc6aae3ea5041f47d2445ba2ce086f9e8679861e Mon Sep 17 00:00:00 2001
-From: Laura Abbott <labbott@redhat.com>
-Date: Wed, 23 Jan 2019 13:50:24 +0100
+From b0b46a5b622fdbe69207675c5d50b77cb8ae43b7 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Tue, 5 Feb 2019 13:43:49 +0100
Subject: [PATCH] s390/jump_label: Correct asm contraint
-To: Martin Schwidefsky <schwidefsky@de.ibm.com>
-To: Heiko Carstens <heiko.carstens@de.ibm.com>
-Cc: linux-s390@vger.kernel.org
-Cc: linux-kernel@vger.kernel.org
-There's a build failure with gcc9:
+On Tue, Jan 29, 2019 at 08:25:58AM +0100, Laura Abbott wrote:
+> On 1/23/19 5:24 AM, Heiko Carstens wrote:
+> >On Wed, Jan 23, 2019 at 01:55:13PM +0100, Laura Abbott wrote:
+> >>There's a build failure with gcc9:
+> >>
+> >> ./arch/s390/include/asm/jump_label.h: Assembler messages:
+> >> ./arch/s390/include/asm/jump_label.h:23: Error: bad expression
+> >> ./arch/s390/include/asm/jump_label.h:23: Error: junk at end of line, first unrecognized character is `r'
+> >> make[1]: *** [scripts/Makefile.build:277: init/main.o] Error 1
+...
+> I've had to turn off s390 in Fedora until this gets fixed :(
- ./arch/s390/include/asm/jump_label.h: Assembler messages:
- ./arch/s390/include/asm/jump_label.h:23: Error: bad expression
- ./arch/s390/include/asm/jump_label.h:23: Error: junk at end of line, first unrecognized character is `r'
- make[1]: *** [scripts/Makefile.build:277: init/main.o] Error 1
+Laura, the patch below should fix this (temporarily). If possible,
+could you give it a try? It seems to work for me.
-According to the toolchain people, the actual issue is the use of
-"X" constraint which is too permissive. Switch to using "i" instead.
+rom 4067027c2ccc8d3f1dc3bb19fe2d00da0c65bcd8 Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Tue, 5 Feb 2019 13:21:56 +0100
+Subject: [PATCH] s390: disable section anchors
-Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1668703
-Signed-off-by: Laura Abbott <labbott@redhat.com>
+Disable section anchors to allow to compile with the current gcc 9
+experimental version. The section anchors is a new feature for s390
+with gcc 9, however it breaks our current usage of the 'X' constraint
+within the asm goto construct within our jump label implementation.
+
+Fixing this seems to be non-trivial, therefore (hopefully) temporarily
+disable section anchors. We will hopefully have a better solution
+before gcc 9 is released, so that this can be removed again.
+
+Reported-by: Laura Abbott <labbott@redhat.com>
+Suggested-by: Ilya Leoshkevich <iii@linux.ibm.com>
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
---
- arch/s390/include/asm/jump_label.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/s390/include/asm/jump_label.h b/arch/s390/include/asm/jump_label.h
-index e2d3e6c43395..41dabfd8518d 100644
---- a/arch/s390/include/asm/jump_label.h
-+++ b/arch/s390/include/asm/jump_label.h
-@@ -22,7 +22,7 @@ static inline bool arch_static_branch(struct static_key *key, bool branch)
- ".long 0b-.,%l[label]-.\n"
- ".quad %0-.\n"
- ".popsection\n"
-- : : "X" (&((char *)key)[branch]) : : label);
-+ : : "i" (&((char *)key)[branch]) : : label);
- return false;
- label:
- return true;
-@@ -36,7 +36,7 @@ static inline bool arch_static_branch_jump(struct static_key *key, bool branch)
- ".long 0b-.,%l[label]-.\n"
- ".quad %0-.\n"
- ".popsection\n"
-- : : "X" (&((char *)key)[branch]) : : label);
-+ : : "i" (&((char *)key)[branch]) : : label);
- return false;
- label:
- return true;
+ arch/s390/Makefile | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/arch/s390/Makefile b/arch/s390/Makefile
+index e21053e5e0da..1eac75bc3a29 100644
+--- a/arch/s390/Makefile
++++ b/arch/s390/Makefile
+@@ -62,6 +62,14 @@ cflags-y += -Wa,-I$(srctree)/arch/$(ARCH)/include
+ #
+ cflags-$(CONFIG_FRAME_POINTER) += -fno-optimize-sibling-calls
+
++#
++# Disable section anchors. This gcc 9 feature currently breaks the 'X'
++# constraint like it is used in the asm goto construct.
++#
++ifeq ($(call cc-option-yn,-fno-section-anchors),y)
++cflags-y += -fno-section-anchors
++endif
++
+ ifeq ($(call cc-option-yn,-mpacked-stack),y)
+ cflags-$(CONFIG_PACK_STACK) += -mpacked-stack -D__PACK_STACK
+ aflags-$(CONFIG_PACK_STACK) += -D__PACK_STACK
--
2.20.1
diff --git a/Clean-the-new-GCC-9--Wmissing-attributes-warnings.patch b/Clean-the-new-GCC-9--Wmissing-attributes-warnings.patch
new file mode 100644
index 000000000..bae06f892
--- /dev/null
+++ b/Clean-the-new-GCC-9--Wmissing-attributes-warnings.patch
@@ -0,0 +1,450 @@
+From patchwork Sat Feb 9 00:08:38 2019
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
+X-Patchwork-Id: 1040186
+Return-Path: <SRS0=1U6d=QQ=vger.kernel.org=linux-kernel-owner@kernel.org>
+Received: from mail.kernel.org (mail.kernel.org [198.145.29.99])
+ by smtp.lore.kernel.org (Postfix) with ESMTP id CF5ACC169C4
+ for <linux-kernel@archiver.kernel.org>; Sat, 9 Feb 2019 00:09:48 +0000 (UTC)
+Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
+ by mail.kernel.org (Postfix) with ESMTP id 9B6A22177B
+ for <linux-kernel@archiver.kernel.org>; Sat, 9 Feb 2019 00:09:48 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com
+ header.b="fBDNHARm"
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S1726847AbfBIAJH (ORCPT
+ <rfc822;linux-kernel@archiver.kernel.org>);
+ Fri, 8 Feb 2019 19:09:07 -0500
+Received: from mail-wm1-f66.google.com ([209.85.128.66]:35134 "EHLO
+ mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S1726222AbfBIAJH (ORCPT
+ <rfc822;linux-kernel@vger.kernel.org>);
+ Fri, 8 Feb 2019 19:09:07 -0500
+Received: by mail-wm1-f66.google.com with SMTP id t200so6175302wmt.0
+ for <linux-kernel@vger.kernel.org>;
+ Fri, 08 Feb 2019 16:09:05 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=gmail.com; s=20161025;
+ h=from:to:cc:subject:date:message-id:in-reply-to:references;
+ bh=oYZRhi80jnWf5lvJ9rxSq8k+5uIG9VwWaCu5KNmb2Io=;
+ b=fBDNHARmMKhmm+ePaNJj9txjNbOdazSkbZWB/n5YjOQJiidCJgtPUkWYcWKtUsrySa
+ trWv7EzzGxFKTM9ccHPDsc7WS8wtoOlUSU00LZPieepciKS24buQhuHPZFvVIRn+531E
+ WXI4lpQh/8WxwUBQRjxoDJhdHoBt66E/f63atN5vJMnc3ThZSTsQ4Sfu52xF44sOuN/B
+ TE10KX4vZtqb0SGWn2TObNYiAWh6hRVzo8h9o1Ako8t4KyfHIuMFlVsnHfG/afjhbNIN
+ haKI0M5yLUxjlEGqljgCH6x51eoDN5o5GVzckrZ1zUZDuRe5854+1nj6iZ4SKOFLM5/t
+ hg6g==
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=1e100.net; s=20161025;
+ h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
+ :references;
+ bh=oYZRhi80jnWf5lvJ9rxSq8k+5uIG9VwWaCu5KNmb2Io=;
+ b=EaydbtrOBjU5ArDWvIEICz9CCbooh+J6TlXBqzt2APusJL1ADHL7AiL3IFoZYivKAy
+ dLXHrxdC+hMc+C0rufUF1wvkTxF6SPYKcJTAUvfCoH1wkqarOXxObgmGmjeijAuUz288
+ VjD5hgExmBvZ+o66edIlkKQJsAWsIuDqXusyYilSoN5QYBYSBmB530Y2yfX+6gXM5Tn7
+ 9ZrYp/qiujklOWITA1apRD4MMpP2b3P32zxvG/HzP33sm4EZVf935TaUlcjJkan7UqIs
+ ycdaD3KcYyiAbxn6hv0RrFV+bX2V7IaurX3cnF5iGt12WTYOtC2UizjA9vjC6Ns2zS+1
+ uejQ==
+X-Gm-Message-State: AHQUAuY6BHyRa9wiG2h1k9f9xax3Up2BqnNZu3xueFVVQc0q4ArgMZlr
+ s+LA0mz9JF3YQMPyfq9jGdJkNupaJ8fp5g==
+X-Google-Smtp-Source:
+ AHgI3IbP7F6OnN6J3jwdNsAPLLKsA8GObtlao2W2lxU4EKIzxT9TvoA9f9ljD5W+YZ8ax1/9FCi/xw==
+X-Received: by 2002:adf:f487:: with SMTP id l7mr531117wro.86.1549670944704;
+ Fri, 08 Feb 2019 16:09:04 -0800 (PST)
+Received: from localhost.localdomain (79.108.96.12.dyn.user.ono.com.
+ [79.108.96.12])
+ by smtp.gmail.com with ESMTPSA id
+ 65sm10483171wrb.62.2019.02.08.16.09.03
+ (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
+ Fri, 08 Feb 2019 16:09:04 -0800 (PST)
+From: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
+To: linux-kernel@vger.kernel.org
+Cc: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>,
+ Laura Abbott <labbott@redhat.com>,
+ Martin Sebor <msebor@gcc.gnu.org>,
+ Arnd Bergmann <arnd@arndb.de>,
+ Herbert Xu <herbert@gondor.apana.org.au>,
+ Ard Biesheuvel <ard.biesheuvel@linaro.org>,
+ Krzysztof Kozlowski <krzk@kernel.org>,
+ Catalin Marinas <catalin.marinas@arm.com>
+Subject: [PATCH 1/3] lib/crc32.c: mark crc32_le_base/__crc32c_le_base aliases
+ as __pure
+Date: Sat, 9 Feb 2019 01:08:38 +0100
+Message-Id: <20190209000840.11018-2-miguel.ojeda.sandonis@gmail.com>
+In-Reply-To: <20190209000840.11018-1-miguel.ojeda.sandonis@gmail.com>
+References: <20190209000840.11018-1-miguel.ojeda.sandonis@gmail.com>
+Sender: linux-kernel-owner@vger.kernel.org
+Precedence: bulk
+List-ID: <linux-kernel.vger.kernel.org>
+X-Mailing-List: linux-kernel@vger.kernel.org
+
+The upcoming GCC 9 release extends the -Wmissing-attributes warnings
+(enabled by -Wall) to C and aliases: it warns when particular function
+attributes are missing in the aliases but not in their target.
+
+In particular, it triggers here because crc32_le_base/__crc32c_le_base
+aren't __pure while their target crc32_le/__crc32c_le are.
+
+These aliases are used by architectures as a fallback in accelerated
+versions of CRC32. See commit 9784d82db3eb ("lib/crc32: make core crc32()
+routines weak so they can be overridden").
+
+Therefore, being fallbacks, it is likely that even if the aliases
+were called from C, there wouldn't be any optimizations possible.
+Currently, the only user is arm64, which calls this from asm.
+
+Still, marking the aliases as __pure makes sense and is a good idea
+for documentation purposes and possible future optimizations,
+which also silences the warning.
+
+Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+Tested-by: Laura Abbott <labbott@redhat.com>
+Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
+---
+ lib/crc32.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/crc32.c b/lib/crc32.c
+index 45b1d67a1767..4a20455d1f61 100644
+--- a/lib/crc32.c
++++ b/lib/crc32.c
+@@ -206,8 +206,8 @@ u32 __pure __weak __crc32c_le(u32 crc, unsigned char const *p, size_t len)
+ EXPORT_SYMBOL(crc32_le);
+ EXPORT_SYMBOL(__crc32c_le);
+
+-u32 crc32_le_base(u32, unsigned char const *, size_t) __alias(crc32_le);
+-u32 __crc32c_le_base(u32, unsigned char const *, size_t) __alias(__crc32c_le);
++u32 __pure crc32_le_base(u32, unsigned char const *, size_t) __alias(crc32_le);
++u32 __pure __crc32c_le_base(u32, unsigned char const *, size_t) __alias(__crc32c_le);
+
+ /*
+ * This multiplies the polynomials x and y modulo the given modulus.
+
+From patchwork Sat Feb 9 00:08:39 2019
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+X-Patchwork-Submitter: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
+X-Patchwork-Id: 1040187
+Return-Path: <SRS0=1U6d=QQ=vger.kernel.org=linux-kernel-owner@kernel.org>
+Received: from mail.kernel.org (mail.kernel.org [198.145.29.99])
+ by smtp.lore.kernel.org (Postfix) with ESMTP id 06134C282CC
+ for <linux-kernel@archiver.kernel.org>; Sat, 9 Feb 2019 00:09:49 +0000 (UTC)
+Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
+ by mail.kernel.org (Postfix) with ESMTP id C797721841
+ for <linux-kernel@archiver.kernel.org>; Sat, 9 Feb 2019 00:09:48 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com
+ header.b="MirIZ+3P"
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S1726894AbfBIAJI (ORCPT
+ <rfc822;linux-kernel@archiver.kernel.org>);
+ Fri, 8 Feb 2019 19:09:08 -0500
+Received: from mail-wm1-f65.google.com ([209.85.128.65]:52552 "EHLO
+ mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S1726211AbfBIAJI (ORCPT
+ <rfc822;linux-kernel@vger.kernel.org>);
+ Fri, 8 Feb 2019 19:09:08 -0500
+Received: by mail-wm1-f65.google.com with SMTP id m1so6280200wml.2
+ for <linux-kernel@vger.kernel.org>;
+ Fri, 08 Feb 2019 16:09:06 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=gmail.com; s=20161025;
+ h=from:to:cc:subject:date:message-id:in-reply-to:references
+ :mime-version:content-transfer-encoding;
+ bh=5ORFvEqPg40FyrMt/fLXHHlLvflq3laGk3IRwh/eP24=;
+ b=MirIZ+3PsN5et4GxGn+L8yDCYRFmolz3ch2quRams1L4kezKyKP8T1h/lMWw4HLw3j
+ qflJWUF7dxCkRm9BZo5oB9P1g8LduJUF6eDllCAeVgX9Ucjiv9YL/CzuxxnMIcZCxhQ3
+ Cvaitucrcr2zoCbinGZJ3UTMc87z41zG++3beXvnGOW8yVGbD9SSsh+rnqC0zPT8/le6
+ ahFOr3X3hhXMequKxkYzpCl2B6rvjNHHKZAgHiWpfIFYdPXiNzw/ynmgjlE7d30YyEfJ
+ lCUE9f2pQkLwezxuilWYIRJzGpL6oFcbp7tncmhyw08pUI8DI/2BLVSq39ygOuxSXs+N
+ Yz5A==
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=1e100.net; s=20161025;
+ h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
+ :references:mime-version:content-transfer-encoding;
+ bh=5ORFvEqPg40FyrMt/fLXHHlLvflq3laGk3IRwh/eP24=;
+ b=VJIGQ/B70+kuZ0LEtdZ+dy4ex6I17bzPvCety3qDUtq1XpARIvFjmxjYdoXNPjbPpz
+ ma7ZZvXNVeDUTgAd2flnsyjzk9RMNokT2w7YWltBGZgiNxoPzrobHKhLyfdjUWgjo5FH
+ bHuUDJKAf6EMFUiMcWbgvXA7PTLvF2kZ0b9Sm5n+pViOQcdu6lHSbWb8nJgCcyoHNf0v
+ 2Yv+wtop89bM3YkbE/pCq5XIepi6Po4gnmlmlRxrhGQ6/GWGcaxX2UeEb6nEXaQAXMjB
+ AwlzqzcATrbX6OFKYyfYv15g4ZRqHneZxyQPz76ntnlTqoDmZyFaD2sbLHb4ca50WqEX
+ ZXJw==
+X-Gm-Message-State: AHQUAuamoKJjvGO/OyguJDIQG1W8Frj/lI1c6vr8G/4NidoSHwrlsusG
+ k2VpBk2l8HS/ovAHysacldfMzUN77xdVvg==
+X-Google-Smtp-Source:
+ AHgI3IYsXZWonq/T/Yz16YT3iZm6Rkmn7EyPr0s0FcW+a9bKEfN4EiUiDsqJUDrfOy02pYl4uzpiQA==
+X-Received: by 2002:adf:ca13:: with SMTP id
+ o19mr18202139wrh.148.1549670946088;
+ Fri, 08 Feb 2019 16:09:06 -0800 (PST)
+Received: from localhost.localdomain (79.108.96.12.dyn.user.ono.com.
+ [79.108.96.12])
+ by smtp.gmail.com with ESMTPSA id
+ 65sm10483171wrb.62.2019.02.08.16.09.04
+ (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
+ Fri, 08 Feb 2019 16:09:05 -0800 (PST)
+From: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
+To: linux-kernel@vger.kernel.org
+Cc: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>,
+ Martin Sebor <msebor@gcc.gnu.org>,
+ Arnd Bergmann <arnd@arndb.de>,
+ Laura Abbott <labbott@redhat.com>,
+ Nick Desaulniers <ndesaulniers@google.com>,
+ Luc Van Oostenryck <luc.vanoostenryck@gmail.com>,
+ Andrey Konovalov <andreyknvl@google.com>,
+ Kees Cook <keescook@chromium.org>,
+ Sean Christopherson <sean.j.christopherson@intel.com>
+Subject: [PATCH 2/3] Compiler Attributes: add support for __copy (gcc >= 9)
+Date: Sat, 9 Feb 2019 01:08:39 +0100
+Message-Id: <20190209000840.11018-3-miguel.ojeda.sandonis@gmail.com>
+In-Reply-To: <20190209000840.11018-1-miguel.ojeda.sandonis@gmail.com>
+References: <20190209000840.11018-1-miguel.ojeda.sandonis@gmail.com>
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Sender: linux-kernel-owner@vger.kernel.org
+Precedence: bulk
+List-ID: <linux-kernel.vger.kernel.org>
+X-Mailing-List: linux-kernel@vger.kernel.org
+
+From the GCC manual:
+
+ copy
+ copy(function)
+
+ The copy attribute applies the set of attributes with which function
+ has been declared to the declaration of the function to which
+ the attribute is applied. The attribute is designed for libraries
+ that define aliases or function resolvers that are expected
+ to specify the same set of attributes as their targets. The copy
+ attribute can be used with functions, variables, or types. However,
+ the kind of symbol to which the attribute is applied (either
+ function or variable) must match the kind of symbol to which
+ the argument refers. The copy attribute copies only syntactic and
+ semantic attributes but not attributes that affect a symbol’s
+ linkage or visibility such as alias, visibility, or weak.
+ The deprecated attribute is also not copied.
+
+ https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html
+
+The upcoming GCC 9 release extends the -Wmissing-attributes warnings
+(enabled by -Wall) to C and aliases: it warns when particular function
+attributes are missing in the aliases but not in their target, e.g.:
+
+ void __cold f(void) {}
+ void __alias("f") g(void);
+
+diagnoses:
+
+ warning: 'g' specifies less restrictive attribute than
+ its target 'f': 'cold' [-Wmissing-attributes]
+
+Using __copy(f) we can copy the __cold attribute from f to g:
+
+ void __cold f(void) {}
+ void __copy(f) __alias("f") g(void);
+
+This attribute is most useful to deal with situations where an alias
+is declared but we don't know the exact attributes the target has.
+
+For instance, in the kernel, the widely used module_init/exit macros
+define the init/cleanup_module aliases, but those cannot be marked
+always as __init/__exit since they some modules do not have their
+functions marked as such.
+
+Suggested-by: Martin Sebor <msebor@gcc.gnu.org>
+Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
+Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
+---
+ include/linux/compiler_attributes.h | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/include/linux/compiler_attributes.h b/include/linux/compiler_attributes.h
+index 19f32b0c29af..6b318efd8a74 100644
+--- a/include/linux/compiler_attributes.h
++++ b/include/linux/compiler_attributes.h
+@@ -34,6 +34,7 @@
+ #ifndef __has_attribute
+ # define __has_attribute(x) __GCC4_has_attribute_##x
+ # define __GCC4_has_attribute___assume_aligned__ (__GNUC_MINOR__ >= 9)
++# define __GCC4_has_attribute___copy__ 0
+ # define __GCC4_has_attribute___designated_init__ 0
+ # define __GCC4_has_attribute___externally_visible__ 1
+ # define __GCC4_has_attribute___noclone__ 1
+@@ -100,6 +101,19 @@
+ */
+ #define __attribute_const__ __attribute__((__const__))
+
++/*
++ * Optional: only supported since gcc >= 9
++ * Optional: not supported by clang
++ * Optional: not supported by icc
++ *
++ * gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-copy-function-attribute
++ */
++#if __has_attribute(__copy__)
++# define __copy(symbol) __attribute__((__copy__(symbol)))
++#else
++# define __copy(symbol)
++#endif
++
+ /*
+ * Don't. Just don't. See commit 771c035372a0 ("deprecate the '__deprecated'
+ * attribute warnings entirely and for good") for more information.
+
+From patchwork Sat Feb 9 00:08:40 2019
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
+X-Patchwork-Id: 1040188
+Return-Path: <SRS0=1U6d=QQ=vger.kernel.org=linux-kernel-owner@kernel.org>
+Received: from mail.kernel.org (mail.kernel.org [198.145.29.99])
+ by smtp.lore.kernel.org (Postfix) with ESMTP id 32DFBC4151A
+ for <linux-kernel@archiver.kernel.org>; Sat, 9 Feb 2019 00:09:49 +0000 (UTC)
+Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
+ by mail.kernel.org (Postfix) with ESMTP id F415A2177B
+ for <linux-kernel@archiver.kernel.org>; Sat, 9 Feb 2019 00:09:48 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com
+ header.b="fnSxCEl/"
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S1726952AbfBIAJK (ORCPT
+ <rfc822;linux-kernel@archiver.kernel.org>);
+ Fri, 8 Feb 2019 19:09:10 -0500
+Received: from mail-wm1-f67.google.com ([209.85.128.67]:37227 "EHLO
+ mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S1726222AbfBIAJJ (ORCPT
+ <rfc822;linux-kernel@vger.kernel.org>);
+ Fri, 8 Feb 2019 19:09:09 -0500
+Received: by mail-wm1-f67.google.com with SMTP id x10so824565wmg.2
+ for <linux-kernel@vger.kernel.org>;
+ Fri, 08 Feb 2019 16:09:08 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=gmail.com; s=20161025;
+ h=from:to:cc:subject:date:message-id:in-reply-to:references;
+ bh=yxdwW1DyOtKem0WF782kU0A9egQwo4Qvb/PrColHLsc=;
+ b=fnSxCEl/bREIP3RAd8NIp5N+R5sUUw7aoHfWroXeUgHAbdmejiO7oc5wXLAEpd6Cyp
+ 8XcURtp1dY/UuFEsajmGDsm1LkrPE4I1ktUNwpanSsFo2g1ULWf1wKXBOWLcQz96OHCO
+ 6oiWOvAOyiYggXqmUIY0QmCgVEPeHbqi2NhAxrfHPw5K2iIyg6eJdlLjheNZQe4cLR//
+ H3LdjPgINUDp5Y9qXSw9RThVXi/2m4QX1NSRVkcYrMqmMrksKSnIEPmCVY2DZh+IgXpd
+ 74G4pIpPNLg0jSx3uYpwyCYpxjFmm6YtPJU4ZuGrEPQpoSyyUFzIWYBe5q/zMDPztB2k
+ K8LA==
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=1e100.net; s=20161025;
+ h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
+ :references;
+ bh=yxdwW1DyOtKem0WF782kU0A9egQwo4Qvb/PrColHLsc=;
+ b=qL21kr4jTNpUZHGZD8TyHhmvC5NRGgE9y5IPFZE3B5xdL0qXg0QO1v/EaOgcJOBKxl
+ IBiKPeG3mVZyegERqZ97HKpql3G9ZO5wLcJTChAYGS8nR/XkJrXsK8ZXkGoG2aVcMxtO
+ lFrflsQtbHrCZZbdhgoYJAYpT9oDRWzi1I8px5OugXDFY9Bbf8zl9ASW+FS2OYDNpcIp
+ 8SEnQoVP+ZZrhGbni/RJWmuXZjvahkEPE4hRG9AKgtH3GjUbMZNRFqmEa34kS0hyq2g8
+ 6W2AzI4TqAzXXpL+uMH7eBYsTO3l5/CGqq8LcnKY6yEfIgJV3ktPHv+p97VPwPTRCt/3
+ ssIA==
+X-Gm-Message-State: AHQUAub5NqVrELwrJIP8cP/Vg6X05+ZcDkdfa2wGjXecLMafbzXuXQ0T
+ 7htXMP3NJ7Ag3oZrUsS7nlE=
+X-Google-Smtp-Source:
+ AHgI3IaZloQG5Jl9/hr4QFOoadP0GpzDuRvYrquOnSQlqZ+xi9CGKN8cYjJa7a//JZ7KkKCUdA/4mw==
+X-Received: by 2002:a7b:c4cb:: with SMTP id g11mr742497wmk.149.1549670947426;
+ Fri, 08 Feb 2019 16:09:07 -0800 (PST)
+Received: from localhost.localdomain (79.108.96.12.dyn.user.ono.com.
+ [79.108.96.12])
+ by smtp.gmail.com with ESMTPSA id
+ 65sm10483171wrb.62.2019.02.08.16.09.06
+ (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
+ Fri, 08 Feb 2019 16:09:06 -0800 (PST)
+From: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
+To: Jessica Yu <jeyu@kernel.org>
+Cc: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>,
+ Laura Abbott <labbott@redhat.com>,
+ Martin Sebor <msebor@gcc.gnu.org>,
+ Arnd Bergmann <arnd@arndb.de>,
+ Masahiro Yamada <yamada.masahiro@socionext.com>,
+ James Morris <james.morris@microsoft.com>,
+ Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
+ Borislav Petkov <bp@suse.de>,
+ Kees Cook <keescook@chromium.org>,
+ Matt Mullins <mmullins@fb.com>,
+ Vincent Whitchurch <vincent.whitchurch@axis.com>,
+ WANG Chao <chao.wang@ucloud.cn>, linux-kernel@vger.kernel.org
+Subject: [PATCH 3/3] include/linux/module.h: copy __init/__exit attrs to
+ init/cleanup_module
+Date: Sat, 9 Feb 2019 01:08:40 +0100
+Message-Id: <20190209000840.11018-4-miguel.ojeda.sandonis@gmail.com>
+In-Reply-To: <20190209000840.11018-1-miguel.ojeda.sandonis@gmail.com>
+References: <20190209000840.11018-1-miguel.ojeda.sandonis@gmail.com>
+Sender: linux-kernel-owner@vger.kernel.org
+Precedence: bulk
+List-ID: <linux-kernel.vger.kernel.org>
+X-Mailing-List: linux-kernel@vger.kernel.org
+
+The upcoming GCC 9 release extends the -Wmissing-attributes warnings
+(enabled by -Wall) to C and aliases: it warns when particular function
+attributes are missing in the aliases but not in their target.
+
+In particular, it triggers for all the init/cleanup_module
+aliases in the kernel (defined by the module_init/exit macros),
+ending up being very noisy.
+
+These aliases point to the __init/__exit functions of a module,
+which are defined as __cold (among other attributes). However,
+the aliases themselves do not have the __cold attribute.
+
+Since the compiler behaves differently when compiling a __cold
+function as well as when compiling paths leading to calls
+to __cold functions, the warning is trying to point out
+the possibly-forgotten attribute in the alias.
+
+In order to keep the warning enabled, we decided to silence
+this case. Ideally, we would mark the aliases directly
+as __init/__exit. However, there are currently around 132 modules
+in the kernel which are missing __init/__exit in their init/cleanup
+functions (either because they are missing, or for other reasons,
+e.g. the functions being called from somewhere else); and
+a section mismatch is a hard error.
+
+A conservative alternative was to mark the aliases as __cold only.
+However, since we would like to eventually enforce __init/__exit
+to be always marked, we chose to use the new __copy function
+attribute (introduced by GCC 9 as well to deal with this).
+With it, we copy the attributes used by the target functions
+into the aliases. This way, functions that were not marked
+as __init/__exit won't have their aliases marked either,
+and therefore there won't be a section mismatch.
+
+Note that the warning would go away marking either the extern
+declaration, the definition, or both. However, we only mark
+the definition of the alias, since we do not want callers
+(which only see the declaration) to be compiled as if the function
+was __cold (and therefore the paths leading to those calls
+would be assumed to be unlikely).
+
+Link: https://lore.kernel.org/lkml/20190123173707.GA16603@gmail.com/
+Link: https://lore.kernel.org/lkml/20190206175627.GA20399@gmail.com/
+Suggested-by: Martin Sebor <msebor@gcc.gnu.org>
+Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
+---
+ include/linux/module.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/linux/module.h b/include/linux/module.h
+index 8fa38d3e7538..f5bc4c046461 100644
+--- a/include/linux/module.h
++++ b/include/linux/module.h
+@@ -129,13 +129,13 @@ extern void cleanup_module(void);
+ #define module_init(initfn) \
+ static inline initcall_t __maybe_unused __inittest(void) \
+ { return initfn; } \
+- int init_module(void) __attribute__((alias(#initfn)));
++ int init_module(void) __copy(initfn) __attribute__((alias(#initfn)));
+
+ /* This is only required if you want to be unloadable. */
+ #define module_exit(exitfn) \
+ static inline exitcall_t __maybe_unused __exittest(void) \
+ { return exitfn; } \
+- void cleanup_module(void) __attribute__((alias(#exitfn)));
++ void cleanup_module(void) __copy(exitfn) __attribute__((alias(#exitfn)));
+
+ #endif
+
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_845719 b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_845719
new file mode 100644
index 000000000..c223b74d7
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_845719
@@ -0,0 +1 @@
+CONFIG_ARM64_ERRATUM_845719=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_ARMV8_DEPRECATED b/configs/fedora/generic/arm/aarch64/CONFIG_ARMV8_DEPRECATED
new file mode 100644
index 000000000..7ebf3c87e
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_ARMV8_DEPRECATED
@@ -0,0 +1 @@
+CONFIG_ARMV8_DEPRECATED=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_COMPAT b/configs/fedora/generic/arm/aarch64/CONFIG_COMPAT
index 3e041f1b6..9b072bae7 100644
--- a/configs/fedora/generic/arm/aarch64/CONFIG_COMPAT
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_COMPAT
@@ -1 +1 @@
-# CONFIG_COMPAT is not set
+CONFIG_COMPAT=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_CP15_BARRIER_EMULATION b/configs/fedora/generic/arm/aarch64/CONFIG_CP15_BARRIER_EMULATION
new file mode 100644
index 000000000..e084b1441
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_CP15_BARRIER_EMULATION
@@ -0,0 +1 @@
+CONFIG_CP15_BARRIER_EMULATION=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_DEBUG_WX b/configs/fedora/generic/arm/aarch64/CONFIG_DEBUG_WX
deleted file mode 100644
index 95e08f44b..000000000
--- a/configs/fedora/generic/arm/aarch64/CONFIG_DEBUG_WX
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DEBUG_WX=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_SETEND_EMULATION b/configs/fedora/generic/arm/aarch64/CONFIG_SETEND_EMULATION
new file mode 100644
index 000000000..73fd5c40b
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_SETEND_EMULATION
@@ -0,0 +1 @@
+CONFIG_SETEND_EMULATION=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_SWP_EMULATION b/configs/fedora/generic/arm/aarch64/CONFIG_SWP_EMULATION
new file mode 100644
index 000000000..a99b5006f
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_SWP_EMULATION
@@ -0,0 +1 @@
+CONFIG_SWP_EMULATION=y
diff --git a/configs/fedora/generic/s390x/CONFIG_JUMP_LABEL b/configs/fedora/generic/s390x/CONFIG_JUMP_LABEL
index 3ef6722b0..8371ec067 100644
--- a/configs/fedora/generic/s390x/CONFIG_JUMP_LABEL
+++ b/configs/fedora/generic/s390x/CONFIG_JUMP_LABEL
@@ -1 +1 @@
-# CONFIG_JUMP_LABEL is not set
+CONFIG_JUMP_LABEL=y
diff --git a/drm-enable-uncached-DMA-optimization-for-ARM-and-arm64.patch b/drm-enable-uncached-DMA-optimization-for-ARM-and-arm64.patch
new file mode 100644
index 000000000..5e151ce57
--- /dev/null
+++ b/drm-enable-uncached-DMA-optimization-for-ARM-and-arm64.patch
@@ -0,0 +1,196 @@
+From patchwork Thu Jan 24 12:06:58 2019
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+X-Patchwork-Id: 10778815
+Return-Path:
+ <linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org>
+Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org
+ [172.30.200.125])
+ by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B27A191E
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Thu, 24 Jan 2019 12:07:20 +0000 (UTC)
+Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1])
+ by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DFBE72EC6C
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Thu, 24 Jan 2019 12:07:17 +0000 (UTC)
+Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486)
+ id D30BC2ECE2; Thu, 24 Jan 2019 12:07:17 +0000 (UTC)
+X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
+ pdx-wl-mail.web.codeaurora.org
+X-Spam-Level:
+X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,DKIM_SIGNED,
+ DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1
+Received: from bombadil.infradead.org (bombadil.infradead.org
+ [198.137.202.133])
+ (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id C03122EC6C
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Thu, 24 Jan 2019 12:07:16 +0000 (UTC)
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
+ d=lists.infradead.org; s=bombadil.20170209; h=Sender:
+ Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
+ List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To
+ :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:
+ Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:
+ List-Owner; bh=xo5AgoUtS0FBdf9ZXAO75L7eu+GEGqebznBMcwnNXS0=; b=EUK2XskaTLLGNd
+ PLBm/AVgfZr2j3GzaOOAh6rJqVHuQ4k98saArkFu8aSFtVkvkSPF3PKCDKnV+7mZibl17Kqiup2Cv
+ HsRzfxwZzeksoNjDcZMYK82pttYA+iizpIYq16Wp+SXMzm6HRuku9XhW7tygG9zNr+cUVzaN6QU6b
+ mO5CAPgeGsluExNwC+4i4fRNqtN4z7rTMPuHkZ6jSy6tTy/OyKUApjhrgphDWEjtelAKeqn8Jwg+i
+ YnZQMi8l6B4Ffn7IlU2wHVKU7/yk9hO46AC+uKKYTV5RmcC0xFqKNK0TnBQzum5FdK2/h7h/3f0CA
+ GflIczkPfOItaFoJvs3g==;
+Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
+ by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux))
+ id 1gmdmr-0000p2-1K; Thu, 24 Jan 2019 12:07:13 +0000
+Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341])
+ by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux))
+ id 1gmdmm-0000oP-Sk
+ for linux-arm-kernel@lists.infradead.org; Thu, 24 Jan 2019 12:07:11 +0000
+Received: by mail-wm1-x341.google.com with SMTP id b11so2875125wmj.1
+ for <linux-arm-kernel@lists.infradead.org>;
+ Thu, 24 Jan 2019 04:07:07 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google;
+ h=from:to:cc:subject:date:message-id:mime-version
+ :content-transfer-encoding;
+ bh=GsPSU83pbk1uWSobF359Hmb25tSiPCSXYSiAdhiX2K0=;
+ b=MVHv9eioSsA83BVb2J9fi21oGdNAhe8L5mYX67nd+XBNW59IxbYWyPCjLtaUXXFxQx
+ C8eDCimc2jtV5LiHYUHkJKhoQYN40/4u2K6EOoUunE10yy3C+J6aGY9JX5gh7mgstcNp
+ Dvdm9CHYXs35/N3s4bzP1fUHVnLbpVKVammw0=
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=1e100.net; s=20161025;
+ h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
+ :content-transfer-encoding;
+ bh=GsPSU83pbk1uWSobF359Hmb25tSiPCSXYSiAdhiX2K0=;
+ b=DtNKUeOnwDAjpgolmP7hnQugxkX3XqgSxg6WUAlVeQyxIk+8QlEAWLNFtKPL57EnLP
+ G9R1qiTnF1TI4PM8DFH+URNkVNcI9hvhGKtO4fya+BjPd6dqPJVwct1+KZWM8lTJfDX+
+ pMKL1ZiDeYMlHAMkd2CfCckaEptq5FjtvwJ8pyPbdN5qNxVJ6CEPIl9HORWWMuwrsxaj
+ xo5MK/UpOqhomOXRe5WxGor2JPNit68hT1PvHQwqNXCoRRTtCUANoV7s1nJ2Ad+pkhV7
+ FW5IV/JnVetKbeCIhe2I/m6VlJ+6x3wPOpiWN/Fd8z5tYX0zI0vjKqdjdfr/QJCNF69Z
+ +cuw==
+X-Gm-Message-State: AJcUukcCDAeH11orvgS33hS4OKLhp1Vglp0ChrGS5Ol91KaBPDqURaLX
+ WKQRIEAwB4phU3pS/I/nkTBzdQ==
+X-Google-Smtp-Source:
+ ALg8bN55gm82WRKfoWS5g8dy3rATbR8W4MaKwupN1EALKBkI9t9KdMSE60V2HSnI4wy7yU44++cGoA==
+X-Received: by 2002:a1c:bdc5:: with SMTP id n188mr2530824wmf.69.1548331626262;
+ Thu, 24 Jan 2019 04:07:06 -0800 (PST)
+Received: from localhost.localdomain
+ (laubervilliers-657-1-83-120.w92-154.abo.wanadoo.fr. [92.154.90.120])
+ by smtp.gmail.com with ESMTPSA id t12sm98842348wrr.65.2019.01.24.04.07.04
+ (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
+ Thu, 24 Jan 2019 04:07:05 -0800 (PST)
+From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+To: linux-kernel@vger.kernel.org
+Subject: [PATCH] drm: enable uncached DMA optimization for ARM and arm64
+Date: Thu, 24 Jan 2019 13:06:58 +0100
+Message-Id: <20190124120658.30288-1-ard.biesheuvel@linaro.org>
+X-Mailer: git-send-email 2.20.1
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20190124_040708_952827_D4810358
+X-CRM114-Status: GOOD ( 13.64 )
+X-BeenThere: linux-arm-kernel@lists.infradead.org
+X-Mailman-Version: 2.1.21
+Precedence: list
+List-Id: <linux-arm-kernel.lists.infradead.org>
+List-Unsubscribe:
+ <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
+List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
+List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
+List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
+List-Subscribe:
+ <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
+Cc: David Zhou <David1.Zhou@amd.com>,
+ Maxime Ripard <maxime.ripard@bootlin.com>,
+ Benjamin Herrenschmidt <benh@kernel.crashing.org>,
+ Carsten Haitzler <Carsten.Haitzler@arm.com>,
+ Ard Biesheuvel <ard.biesheuvel@linaro.org>, David Airlie <airlied@linux.ie>,
+ Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
+ dri-devel <dri-devel@lists.freedesktop.org>,
+ Michel Daenzer <michel.daenzer@amd.com>, Robin Murphy <robin.murphy@arm.com>,
+ Will Deacon <will.deacon@arm.com>, Christoph Hellwig <hch@infradead.org>,
+ Junwei Zhang <Jerry.Zhang@amd.com>, Huang Rui <ray.huang@amd.com>,
+ amd-gfx list <amd-gfx@lists.freedesktop.org>,
+ Daniel Vetter <daniel@ffwll.ch>,
+ Michael Ellerman <mpe@ellerman.id.au>,
+ Alex Deucher <alexander.deucher@amd.com>, Sean Paul <sean@poorly.run>,
+ Christian Koenig <christian.koenig@amd.com>,
+ linux-arm-kernel@lists.infradead.org
+Content-Type: text/plain; charset="us-ascii"
+Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
+Errors-To:
+ linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
+X-Virus-Scanned: ClamAV using ClamSMTP
+
+The DRM driver stack is designed to work with cache coherent devices
+only, but permits an optimization to be enabled in some cases, where
+for some buffers, both the CPU and the GPU use uncached mappings,
+removing the need for DMA snooping and allocation in the CPU caches.
+
+The use of uncached GPU mappings relies on the correct implementation
+of the PCIe NoSnoop TLP attribute by the platform, otherwise the GPU
+will use cached mappings nonetheless. On x86 platforms, this does not
+seem to matter, as uncached CPU mappings will snoop the caches in any
+case. However, on ARM and arm64, enabling this optimization on a
+platform where NoSnoop is ignored results in loss of coherency, which
+breaks correct operation of the device. Since we have no way of
+detecting whether NoSnoop works or not, just disable this
+optimization entirely for ARM and arm64.
+
+Cc: Christian Koenig <christian.koenig@amd.com>
+Cc: Alex Deucher <alexander.deucher@amd.com>
+Cc: David Zhou <David1.Zhou@amd.com>
+Cc: Huang Rui <ray.huang@amd.com>
+Cc: Junwei Zhang <Jerry.Zhang@amd.com>
+Cc: Michel Daenzer <michel.daenzer@amd.com>
+Cc: David Airlie <airlied@linux.ie>
+Cc: Daniel Vetter <daniel@ffwll.ch>
+Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
+Cc: Maxime Ripard <maxime.ripard@bootlin.com>
+Cc: Sean Paul <sean@poorly.run>
+Cc: Michael Ellerman <mpe@ellerman.id.au>
+Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Cc: Will Deacon <will.deacon@arm.com>
+Cc: Christoph Hellwig <hch@infradead.org>
+Cc: Robin Murphy <robin.murphy@arm.com>
+Cc: amd-gfx list <amd-gfx@lists.freedesktop.org>
+Cc: dri-devel <dri-devel@lists.freedesktop.org>
+Reported-by: Carsten Haitzler <Carsten.Haitzler@arm.com>
+Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ include/drm/drm_cache.h | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+diff --git a/include/drm/drm_cache.h b/include/drm/drm_cache.h
+index bfe1639df02d..97fc498dc767 100644
+--- a/include/drm/drm_cache.h
++++ b/include/drm/drm_cache.h
+@@ -47,6 +47,24 @@ static inline bool drm_arch_can_wc_memory(void)
+ return false;
+ #elif defined(CONFIG_MIPS) && defined(CONFIG_CPU_LOONGSON3)
+ return false;
++#elif defined(CONFIG_ARM) || defined(CONFIG_ARM64)
++ /*
++ * The DRM driver stack is designed to work with cache coherent devices
++ * only, but permits an optimization to be enabled in some cases, where
++ * for some buffers, both the CPU and the GPU use uncached mappings,
++ * removing the need for DMA snooping and allocation in the CPU caches.
++ *
++ * The use of uncached GPU mappings relies on the correct implementation
++ * of the PCIe NoSnoop TLP attribute by the platform, otherwise the GPU
++ * will use cached mappings nonetheless. On x86 platforms, this does not
++ * seem to matter, as uncached CPU mappings will snoop the caches in any
++ * case. However, on ARM and arm64, enabling this optimization on a
++ * platform where NoSnoop is ignored results in loss of coherency, which
++ * breaks correct operation of the device. Since we have no way of
++ * detecting whether NoSnoop works or not, just disable this
++ * optimization entirely for ARM and arm64.
++ */
++ return false;
+ #else
+ return true;
+ #endif
diff --git a/kernel-aarch64-debug.config b/kernel-aarch64-debug.config
index dcc11d857..2f290d677 100644
--- a/kernel-aarch64-debug.config
+++ b/kernel-aarch64-debug.config
@@ -289,6 +289,7 @@ CONFIG_ARM64_ERRATUM_827319=y
CONFIG_ARM64_ERRATUM_832075=y
CONFIG_ARM64_ERRATUM_834220=y
CONFIG_ARM64_ERRATUM_843419=y
+CONFIG_ARM64_ERRATUM_845719=y
CONFIG_ARM64_ERRATUM_858921=y
CONFIG_ARM64_HW_AFDBM=y
CONFIG_ARM64_LSE_ATOMICS=y
@@ -359,6 +360,7 @@ CONFIG_ARM_TEGRA186_CPUFREQ=m
# CONFIG_ARM_TEGRA20_CPUFREQ is not set
CONFIG_ARM_TEGRA_DEVFREQ=m
CONFIG_ARM_TIMER_SP804=y
+CONFIG_ARMV8_DEPRECATED=y
# CONFIG_AS3935 is not set
# CONFIG_ASIX_PHY is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
@@ -968,7 +970,7 @@ CONFIG_COMMON_CLK_ZYNQMP=y
CONFIG_COMMON_RESET_HI6220=m
CONFIG_COMPACTION=y
# CONFIG_COMPAT_BRK is not set
-# CONFIG_COMPAT is not set
+CONFIG_COMPAT=y
# CONFIG_COMPILE_TEST is not set
CONFIG_CONFIGFS_FS=y
CONFIG_CONNECTOR=y
@@ -980,6 +982,7 @@ CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
# CONFIG_CORESIGHT is not set
CONFIG_CORTINA_PHY=m
+CONFIG_CP15_BARRIER_EMULATION=y
# CONFIG_CPU5_WDT is not set
# CONFIG_CPU_BIG_ENDIAN is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
@@ -5320,6 +5323,7 @@ CONFIG_SERIO_RAW=m
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_SUN4I_PS2 is not set
CONFIG_SERIO=y
+CONFIG_SETEND_EMULATION=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
@@ -5881,6 +5885,7 @@ CONFIG_SUNXI_WATCHDOG=m
# CONFIG_SURFACE_3_BUTTON is not set
CONFIG_SUSPEND=y
CONFIG_SWAP=y
+CONFIG_SWP_EMULATION=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9500 is not set
CONFIG_SYNC_FILE=y
diff --git a/kernel-aarch64.config b/kernel-aarch64.config
index ce63c7085..733d3b43e 100644
--- a/kernel-aarch64.config
+++ b/kernel-aarch64.config
@@ -289,6 +289,7 @@ CONFIG_ARM64_ERRATUM_827319=y
CONFIG_ARM64_ERRATUM_832075=y
CONFIG_ARM64_ERRATUM_834220=y
CONFIG_ARM64_ERRATUM_843419=y
+CONFIG_ARM64_ERRATUM_845719=y
CONFIG_ARM64_ERRATUM_858921=y
CONFIG_ARM64_HW_AFDBM=y
CONFIG_ARM64_LSE_ATOMICS=y
@@ -359,6 +360,7 @@ CONFIG_ARM_TEGRA186_CPUFREQ=m
# CONFIG_ARM_TEGRA20_CPUFREQ is not set
CONFIG_ARM_TEGRA_DEVFREQ=m
CONFIG_ARM_TIMER_SP804=y
+CONFIG_ARMV8_DEPRECATED=y
# CONFIG_AS3935 is not set
# CONFIG_ASIX_PHY is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
@@ -968,7 +970,7 @@ CONFIG_COMMON_CLK_ZYNQMP=y
CONFIG_COMMON_RESET_HI6220=m
CONFIG_COMPACTION=y
# CONFIG_COMPAT_BRK is not set
-# CONFIG_COMPAT is not set
+CONFIG_COMPAT=y
# CONFIG_COMPILE_TEST is not set
CONFIG_CONFIGFS_FS=y
CONFIG_CONNECTOR=y
@@ -980,6 +982,7 @@ CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
# CONFIG_CORESIGHT is not set
CONFIG_CORTINA_PHY=m
+CONFIG_CP15_BARRIER_EMULATION=y
# CONFIG_CPU5_WDT is not set
# CONFIG_CPU_BIG_ENDIAN is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
@@ -5299,6 +5302,7 @@ CONFIG_SERIO_RAW=m
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_SUN4I_PS2 is not set
CONFIG_SERIO=y
+CONFIG_SETEND_EMULATION=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
@@ -5859,6 +5863,7 @@ CONFIG_SUNXI_WATCHDOG=m
# CONFIG_SURFACE_3_BUTTON is not set
CONFIG_SUSPEND=y
CONFIG_SWAP=y
+CONFIG_SWP_EMULATION=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9500 is not set
CONFIG_SYNC_FILE=y
diff --git a/kernel-s390x-debug.config b/kernel-s390x-debug.config
index 6487de662..36bcd8012 100644
--- a/kernel-s390x-debug.config
+++ b/kernel-s390x-debug.config
@@ -2340,7 +2340,7 @@ CONFIG_JOYSTICK_XPAD_LEDS=y
CONFIG_JOYSTICK_XPAD=m
CONFIG_JOYSTICK_ZHENHUA=m
# CONFIG_JSA1212 is not set
-# CONFIG_JUMP_LABEL is not set
+CONFIG_JUMP_LABEL=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS=y
CONFIG_KARMA_PARTITION=y
diff --git a/kernel-s390x.config b/kernel-s390x.config
index 13857bbe4..e5415f0f1 100644
--- a/kernel-s390x.config
+++ b/kernel-s390x.config
@@ -2323,7 +2323,7 @@ CONFIG_JOYSTICK_XPAD_LEDS=y
CONFIG_JOYSTICK_XPAD=m
CONFIG_JOYSTICK_ZHENHUA=m
# CONFIG_JSA1212 is not set
-# CONFIG_JUMP_LABEL is not set
+CONFIG_JUMP_LABEL=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS=y
CONFIG_KARMA_PARTITION=y
diff --git a/kernel.spec b/kernel.spec
index 37746fcfc..07f94d00d 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -77,7 +77,7 @@ Summary: The Linux kernel
# Work around for major version bump
%define upstream_sublevel 0
# The rc snapshot level
-%global rcrev 5
+%global rcrev 6
# The git snapshot level
%define gitrev 0
# Set rpm version accordingly
@@ -441,7 +441,7 @@ BuildRequires: binutils-%{_build_arch}-linux-gnu, gcc-%{_build_arch}-linux-gnu
%endif
# Source0: https://www.kernel.org/pub/linux/kernel/v5.x/linux-%{kversion}.tar.xz
-Source0: https://git.kernel.org/torvalds/t/linux-5.0-rc5.tar.gz
+Source0: https://git.kernel.org/torvalds/t/linux-5.0-rc6.tar.gz
Source11: x509.genkey
Source12: remove-binary-diff.pl
@@ -593,6 +593,9 @@ Patch305: qcom-msm89xx-fixes.patch
# https://patchwork.kernel.org/project/linux-mmc/list/?submitter=71861
Patch306: arm-sdhci-esdhc-imx-fixes.patch
+# https://patchwork.kernel.org/patch/10778815/
+Patch308: drm-enable-uncached-DMA-optimization-for-ARM-and-arm64.patch
+
# Initall support for the 3A+
Patch330: bcm2837-dts-add-Raspberry-Pi-3-A.patch
@@ -616,8 +619,8 @@ Patch501: input-rmi4-remove-the-need-for-artifical-IRQ.patch
Patch504: efi-use-32-bit-alignment-for-efi_guid_t.patch
# gcc9 fixes
-Patch505: include-linux-module.h-mark-init-cleanup_module-aliases-as-__cold.patch
-Patch506: lib-crc32.c-mark-crc32_le_base-__crc32c_le_base-aliases-as-__pure.patch
+Patch505: Clean-the-new-GCC-9--Wmissing-attributes-warnings.patch
+Patch506: 0001-s390-jump_label-Correct-asm-contraint.patch
Patch507: 0001-Drop-that-for-now.patch
# patches for https://fedoraproject.org/wiki/Changes/FlickerFreeBoot
@@ -1904,6 +1907,15 @@ fi
#
#
%changelog
+* Mon Feb 11 2019 Laura Abbott <labbott@redhat.com> - 5.0.0-0.rc6.git0.1
+- Linux v5.0-rc6
+- Disable debugging options.
+- Tweaks to gcc9 fixes
+
+* Mon Feb 04 2019 Laura Abbott <labbott@redhat.com> - 5.0.0-0.rc5.git0.1
+- Linux v5.0-rc5
+- Disable debugging options.
+
* Fri Feb 01 2019 Laura Abbott <labbott@redhat.com> - 5.0.0-0.rc4.git3.1
- Linux v5.0-rc4-106-g5b4746a03199
diff --git a/sources b/sources
index 0fa5e5e38..daf625a1d 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
SHA512 (linux-5.0-rc5.tar.gz) = 02959a943550dec91b2b9a036a000acb62025ac9b2fe5c04900bdf32a3f39bd7460c91d7da20b9bb2ac70bcdde7d003822a2a752d39eb4e290a7138d861f5d8d
+SHA512 (linux-5.0-rc6.tar.gz) = de3d6acf9282cfa831e87994df9c2cc855b43cd2638a6417888098e3ce54384780e67c8de0ca6a9163950808012bc4de28740e61c00d3337506d76da840d6ff5