mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-19 00:21:40 +00:00
core/linux-veyron: patch update
This commit is contained in:
parent
bd1cb55c5b
commit
4918d5157c
6 changed files with 8 additions and 262 deletions
|
@ -1,97 +0,0 @@
|
|||
From 0dbc5e27616b34651a347f53f26978e456dc04e6 Mon Sep 17 00:00:00 2001
|
||||
From: Sasha Levin <sasha.levin@oracle.com>
|
||||
Date: Mon, 13 Oct 2014 15:51:05 -0700
|
||||
Subject: [PATCH 1/5] kernel: add support for gcc 5
|
||||
|
||||
We're missing include/linux/compiler-gcc5.h which is required now
|
||||
because gcc branched off to v5 in trunk.
|
||||
|
||||
Just copy the relevant bits out of include/linux/compiler-gcc4.h,
|
||||
no new code is added as of now.
|
||||
|
||||
This fixes a build error when using gcc 5.
|
||||
|
||||
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
|
||||
Cc: <stable@vger.kernel.org>
|
||||
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
||||
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
||||
---
|
||||
include/linux/compiler-gcc5.h | 66 +++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 66 insertions(+)
|
||||
create mode 100644 include/linux/compiler-gcc5.h
|
||||
|
||||
diff --git a/include/linux/compiler-gcc5.h b/include/linux/compiler-gcc5.h
|
||||
new file mode 100644
|
||||
index 0000000..cdd1cc2
|
||||
--- /dev/null
|
||||
+++ b/include/linux/compiler-gcc5.h
|
||||
@@ -0,0 +1,66 @@
|
||||
+#ifndef __LINUX_COMPILER_H
|
||||
+#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
|
||||
+#endif
|
||||
+
|
||||
+#define __used __attribute__((__used__))
|
||||
+#define __must_check __attribute__((warn_unused_result))
|
||||
+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
|
||||
+
|
||||
+/* Mark functions as cold. gcc will assume any path leading to a call
|
||||
+ to them will be unlikely. This means a lot of manual unlikely()s
|
||||
+ are unnecessary now for any paths leading to the usual suspects
|
||||
+ like BUG(), printk(), panic() etc. [but let's keep them for now for
|
||||
+ older compilers]
|
||||
+
|
||||
+ Early snapshots of gcc 4.3 don't support this and we can't detect this
|
||||
+ in the preprocessor, but we can live with this because they're unreleased.
|
||||
+ Maketime probing would be overkill here.
|
||||
+
|
||||
+ gcc also has a __attribute__((__hot__)) to move hot functions into
|
||||
+ a special section, but I don't see any sense in this right now in
|
||||
+ the kernel context */
|
||||
+#define __cold __attribute__((__cold__))
|
||||
+
|
||||
+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
|
||||
+
|
||||
+#ifndef __CHECKER__
|
||||
+# define __compiletime_warning(message) __attribute__((warning(message)))
|
||||
+# define __compiletime_error(message) __attribute__((error(message)))
|
||||
+#endif /* __CHECKER__ */
|
||||
+
|
||||
+/*
|
||||
+ * Mark a position in code as unreachable. This can be used to
|
||||
+ * suppress control flow warnings after asm blocks that transfer
|
||||
+ * control elsewhere.
|
||||
+ *
|
||||
+ * Early snapshots of gcc 4.5 don't support this and we can't detect
|
||||
+ * this in the preprocessor, but we can live with this because they're
|
||||
+ * unreleased. Really, we need to have autoconf for the kernel.
|
||||
+ */
|
||||
+#define unreachable() __builtin_unreachable()
|
||||
+
|
||||
+/* Mark a function definition as prohibited from being cloned. */
|
||||
+#define __noclone __attribute__((__noclone__))
|
||||
+
|
||||
+/*
|
||||
+ * Tell the optimizer that something else uses this function or variable.
|
||||
+ */
|
||||
+#define __visible __attribute__((externally_visible))
|
||||
+
|
||||
+/*
|
||||
+ * GCC 'asm goto' miscompiles certain code sequences:
|
||||
+ *
|
||||
+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
|
||||
+ *
|
||||
+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
|
||||
+ * Fixed in GCC 4.8.2 and later versions.
|
||||
+ *
|
||||
+ * (asm goto is automatically volatile - the naming reflects this.)
|
||||
+ */
|
||||
+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
|
||||
+
|
||||
+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
|
||||
+#define __HAVE_BUILTIN_BSWAP32__
|
||||
+#define __HAVE_BUILTIN_BSWAP64__
|
||||
+#define __HAVE_BUILTIN_BSWAP16__
|
||||
+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
|
||||
--
|
||||
2.4.3
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From 1b10c5e56775dfe14052d5d8b28ffabb0fe36c53 Mon Sep 17 00:00:00 2001
|
||||
From 9216b45c24df6971ae006379008e9a4ab0124898 Mon Sep 17 00:00:00 2001
|
||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
Date: Thu, 25 Jun 2015 20:35:06 -0600
|
||||
Subject: [PATCH 5/5] use chromiumos mwifiex drivers
|
||||
Subject: [PATCH] use chromiumos mwifiex drivers
|
||||
|
||||
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
---
|
||||
|
@ -26,5 +26,5 @@ index 532ae0a..971a4bc 100644
|
|||
#define BLOCK_MODE 1
|
||||
#define BYTE_MODE 0
|
||||
--
|
||||
2.4.3
|
||||
2.4.4
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
From d67864066e8e53618dcd1bb06fe1069f73cecb2b Mon Sep 17 00:00:00 2001
|
||||
From: Behan Webster <behanw@converseincode.com>
|
||||
Date: Wed, 24 Sep 2014 01:06:46 +0100
|
||||
Subject: [PATCH 2/5] ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h
|
||||
|
||||
With compilers which follow the C99 standard (like modern versions of gcc and
|
||||
clang), "extern inline" does the wrong thing (emits code for an externally
|
||||
linkable version of the inline function). In this case using static inline
|
||||
and removing the NULL version of return_address in return_address.c does
|
||||
the right thing.
|
||||
|
||||
Signed-off-by: Behan Webster <behanw@converseincode.com>
|
||||
Reviewed-by: Mark Charlebois <charlebm@gmail.com>
|
||||
Acked-by: Steven Rostedt <rostedt@goodmis.org>
|
||||
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
||||
---
|
||||
arch/arm/include/asm/ftrace.h | 2 +-
|
||||
arch/arm/kernel/return_address.c | 5 -----
|
||||
2 files changed, 1 insertion(+), 6 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h
|
||||
index 39eb16b..bfe2a2f 100644
|
||||
--- a/arch/arm/include/asm/ftrace.h
|
||||
+++ b/arch/arm/include/asm/ftrace.h
|
||||
@@ -45,7 +45,7 @@ void *return_address(unsigned int);
|
||||
|
||||
#else
|
||||
|
||||
-extern inline void *return_address(unsigned int level)
|
||||
+static inline void *return_address(unsigned int level)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
diff --git a/arch/arm/kernel/return_address.c b/arch/arm/kernel/return_address.c
|
||||
index a6012ac..618b99d 100644
|
||||
--- a/arch/arm/kernel/return_address.c
|
||||
+++ b/arch/arm/kernel/return_address.c
|
||||
@@ -63,11 +63,6 @@ void *return_address(unsigned int level)
|
||||
#warning "TODO: return_address should use unwind tables"
|
||||
#endif
|
||||
|
||||
-void *return_address(unsigned int level)
|
||||
-{
|
||||
- return NULL;
|
||||
-}
|
||||
-
|
||||
#endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */
|
||||
|
||||
EXPORT_SYMBOL_GPL(return_address);
|
||||
--
|
||||
2.4.3
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
From e86dfb59cb437cc740e903e14fff82523e0fc689 Mon Sep 17 00:00:00 2001
|
||||
From: Behan Webster <behanw@converseincode.com>
|
||||
Date: Tue, 3 Sep 2013 22:27:26 -0400
|
||||
Subject: [PATCH 3/5] ARM: LLVMLinux: Change "extern inline" to "static inline"
|
||||
in glue-cache.h
|
||||
|
||||
With compilers which follow the C99 standard (like modern versions of gcc and
|
||||
clang), "extern inline" does the wrong thing (emits code for an externally
|
||||
linkable version of the inline function). "static inline" is the correct choice
|
||||
instead.
|
||||
|
||||
Author: Behan Webster <behanw@converseincode.com>
|
||||
Signed-off-by: Behan Webster <behanw@converseincode.com>
|
||||
Reviewed-by: Mark Charlebois <charlebm@gmail.com>
|
||||
---
|
||||
arch/arm/include/asm/glue-cache.h | 22 +++++++++++-----------
|
||||
1 file changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/include/asm/glue-cache.h b/arch/arm/include/asm/glue-cache.h
|
||||
index c81adc0..a3c24cd 100644
|
||||
--- a/arch/arm/include/asm/glue-cache.h
|
||||
+++ b/arch/arm/include/asm/glue-cache.h
|
||||
@@ -130,22 +130,22 @@
|
||||
#endif
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
-extern inline void nop_flush_icache_all(void) { }
|
||||
-extern inline void nop_flush_kern_cache_all(void) { }
|
||||
-extern inline void nop_flush_kern_cache_louis(void) { }
|
||||
-extern inline void nop_flush_user_cache_all(void) { }
|
||||
-extern inline void nop_flush_user_cache_range(unsigned long a,
|
||||
+static inline void nop_flush_icache_all(void) { }
|
||||
+static inline void nop_flush_kern_cache_all(void) { }
|
||||
+static inline void nop_flush_kern_cache_louis(void) { }
|
||||
+static inline void nop_flush_user_cache_all(void) { }
|
||||
+static inline void nop_flush_user_cache_range(unsigned long a,
|
||||
unsigned long b, unsigned int c) { }
|
||||
|
||||
-extern inline void nop_coherent_kern_range(unsigned long a, unsigned long b) { }
|
||||
-extern inline int nop_coherent_user_range(unsigned long a,
|
||||
+static inline void nop_coherent_kern_range(unsigned long a, unsigned long b) { }
|
||||
+static inline int nop_coherent_user_range(unsigned long a,
|
||||
unsigned long b) { return 0; }
|
||||
-extern inline void nop_flush_kern_dcache_area(void *a, size_t s) { }
|
||||
+static inline void nop_flush_kern_dcache_area(void *a, size_t s) { }
|
||||
|
||||
-extern inline void nop_dma_flush_range(const void *a, const void *b) { }
|
||||
+static inline void nop_dma_flush_range(const void *a, const void *b) { }
|
||||
|
||||
-extern inline void nop_dma_map_area(const void *s, size_t l, int f) { }
|
||||
-extern inline void nop_dma_unmap_area(const void *s, size_t l, int f) { }
|
||||
+static inline void nop_dma_map_area(const void *s, size_t l, int f) { }
|
||||
+static inline void nop_dma_unmap_area(const void *s, size_t l, int f) { }
|
||||
#endif
|
||||
|
||||
#ifndef MULTI_CACHE
|
||||
--
|
||||
2.4.3
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
From 60b367ea5b8a972975e725ecaaa864331fe75787 Mon Sep 17 00:00:00 2001
|
||||
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
Date: Wed, 24 Jun 2015 20:22:19 -0600
|
||||
Subject: [PATCH 4/5] fix for rt6_route_rcv changes
|
||||
|
||||
Broke in chromiumos commit a71e01a88666c143ab242ae1e04d6ddfc9dd14cd.
|
||||
|
||||
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
---
|
||||
net/ipv6/route.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
|
||||
index 6ee82ce..0a6a299 100644
|
||||
--- a/net/ipv6/route.c
|
||||
+++ b/net/ipv6/route.c
|
||||
@@ -749,7 +749,7 @@ int rt6_route_rcv(struct net_device *dev, u8 *opt, int len,
|
||||
if (rinfo->prefix_len == 0)
|
||||
rt = rt6_get_dflt_router(gwaddr, dev);
|
||||
else
|
||||
- rt = rt6_get_route_info(net, prefix, rinfo->prefix_len, gwaddr);
|
||||
+ rt = rt6_get_route_info(dev, prefix, rinfo->prefix_len, gwaddr);
|
||||
|
||||
if (rt && !lifetime) {
|
||||
ip6_del_rt(rt);
|
||||
--
|
||||
2.4.3
|
||||
|
|
@ -8,7 +8,7 @@ _kernelname=${pkgbase#linux}
|
|||
_desc="Veyron Chromebooks"
|
||||
pkgver=3.14.0
|
||||
pkgrel=3
|
||||
_commit=8e22a7f3b1c557da195ec358a8d51cf7ac7f7545
|
||||
_commit=ec35b77b5626479af06faf09e196034c928100ee
|
||||
arch=('armv7h')
|
||||
url="https://chromium.googlesource.com/chromiumos/third_party/kernel/+/chromeos-3.14"
|
||||
license=('GPL2')
|
||||
|
@ -16,25 +16,17 @@ makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'git' 'uboot-tools' '
|
|||
options=('!strip')
|
||||
source=("https://chromium.googlesource.com/chromiumos/third_party/kernel/+archive/${_commit}.tar.gz"
|
||||
http://archlinuxarm.org/builder/src/veyron/sd{8787,8797,8897}_uapsta_cros.bin
|
||||
'0001-kernel-add-support-for-gcc-5.patch'
|
||||
'0002-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch'
|
||||
'0003-ARM-LLVMLinux-Change-extern-inline-to-static-inline-.patch'
|
||||
'0004-fix-for-rt6_route_rcv-changes.patch'
|
||||
'0005-use-chromiumos-mwifiex-drivers.patch'
|
||||
'0001-use-chromiumos-mwifiex-drivers.patch'
|
||||
'config'
|
||||
'kernel.its'
|
||||
'kernel.keyblock'
|
||||
'kernel_data_key.vbprivk'
|
||||
'cmdline')
|
||||
md5sums=('b4dd00a241220dca4dc7c327ae64ff6b'
|
||||
md5sums=('4c6f6e0a1fb651641282ff733a3b802f'
|
||||
'bda543cb5943eac34e16d12911f3ee99'
|
||||
'5e2d7cd74de07d13052de99411c13a2f'
|
||||
'1534c1dbfe5df35a5634072f7b912840'
|
||||
'db561b7e4cd852b679fc90efcf8e372b'
|
||||
'5ca301ff2182c23908fd67e3d7efe1b7'
|
||||
'8fc665e132b75fa856bb47d971d35b54'
|
||||
'e5731f11bd051974be820226a156d6ff'
|
||||
'2a0bc0fd995d15e622eefdc86f16f4c3'
|
||||
'cc43bf29f9ce7d611b6f6c3851d3e323'
|
||||
'1af2cda63584b7ff96ad3ba12e5f6cf1'
|
||||
'1d77c34a9c759a7f54df718cd80de567'
|
||||
'61c5ff73c136ed07a7aadbf58db3d96a'
|
||||
|
@ -42,11 +34,7 @@ md5sums=('b4dd00a241220dca4dc7c327ae64ff6b'
|
|||
'e3bdf63d5d936fb982c4cd62da1433ad')
|
||||
|
||||
prepare() {
|
||||
git apply 0001-kernel-add-support-for-gcc-5.patch
|
||||
git apply 0002-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch
|
||||
git apply 0003-ARM-LLVMLinux-Change-extern-inline-to-static-inline-.patch
|
||||
git apply 0004-fix-for-rt6_route_rcv-changes.patch
|
||||
git apply 0005-use-chromiumos-mwifiex-drivers.patch
|
||||
git apply 0001-use-chromiumos-mwifiex-drivers.patch
|
||||
|
||||
cp config .config
|
||||
|
||||
|
@ -171,12 +159,6 @@ _package-headers() {
|
|||
# copy arch includes for external modules
|
||||
mkdir -p ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH
|
||||
cp -a arch/$KARCH/include ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/
|
||||
mkdir -p ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/mach-omap2
|
||||
cp -a arch/$KARCH/mach-omap2/include ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/mach-omap2/
|
||||
mkdir -p ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/mach-mvebu
|
||||
cp -a arch/$KARCH/mach-mvebu/include ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/mach-mvebu/
|
||||
mkdir -p ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/plat-omap
|
||||
cp -a arch/$KARCH/plat-omap/include ${pkgdir}/usr/lib/modules/${_kernver}/build/arch/$KARCH/plat-omap/
|
||||
|
||||
# copy files necessary for later builds, like nvidia and vmware
|
||||
cp Module.symvers "${pkgdir}/usr/lib/modules/${_kernver}/build"
|
||||
|
|
Loading…
Reference in a new issue