From: Ting Liu Date: Thu, 16 Jun 2016 09:07:46 +0000 (+0800) Subject: linux-qoriq: upgrade to 4.1 plus fsl patches X-Git-Tag: 2.2~336 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=81ab9b5e13b39c504005b77fe094d9853fae9915;p=meta-freescale.git linux-qoriq: upgrade to 4.1 plus fsl patches The main features are: * Linux kernel 4.1.8 * ARM A7 (AARCH32), A53 and A57 (AARCH64), Little Endian (default) * Power Architecture e500mc, e5500, e6500 * Multicore SMP support and multithread (e6500) * 32-bit effective kernel addressing [e500mc, e5500, A57] * 64-bit effective addressing [e6500, A53, A57] * Huge Pages (hugetlbfs) * Linux Real-Time (RT) [P4080, B4860, LS1021A] * Kernel-based Virtual Machine (KVM) * Libvirt 1.2.19 * Linux Containers (LXC) 1.1.4 function support Detailed commit log can be found at: http://git.freescale.com/git/cgit.cgi/ppc/sdk/linux.git/log/?h=sdk-v2.0.x Signed-off-by: Ting Liu --- diff --git a/recipes-kernel/linux/files/net-sctp-CVE-2014-0101.patch b/recipes-kernel/linux/files/net-sctp-CVE-2014-0101.patch deleted file mode 100644 index ddcb6c5d..00000000 --- a/recipes-kernel/linux/files/net-sctp-CVE-2014-0101.patch +++ /dev/null @@ -1,145 +0,0 @@ -From 00c53b02cb01976b35d37670a4b5c5d7a6ad3c62 Mon Sep 17 00:00:00 2001 -From: Daniel Borkmann -Date: Mon, 3 Mar 2014 17:23:04 +0100 -Subject: [PATCH] net: sctp: fix sctp_sf_do_5_1D_ce to verify if we/peer is - AUTH capable - -[ Upstream commit ec0223ec48a90cb605244b45f7c62de856403729 ] - -RFC4895 introduced AUTH chunks for SCTP; during the SCTP -handshake RANDOM; CHUNKS; HMAC-ALGO are negotiated (CHUNKS -being optional though): - - ---------- INIT[RANDOM; CHUNKS; HMAC-ALGO] ----------> - <------- INIT-ACK[RANDOM; CHUNKS; HMAC-ALGO] --------- - -------------------- COOKIE-ECHO --------------------> - <-------------------- COOKIE-ACK --------------------- - -A special case is when an endpoint requires COOKIE-ECHO -chunks to be authenticated: - - ---------- INIT[RANDOM; CHUNKS; HMAC-ALGO] ----------> - <------- INIT-ACK[RANDOM; CHUNKS; HMAC-ALGO] --------- - ------------------ AUTH; COOKIE-ECHO ----------------> - <-------------------- COOKIE-ACK --------------------- - -RFC4895, section 6.3. Receiving Authenticated Chunks says: - - The receiver MUST use the HMAC algorithm indicated in - the HMAC Identifier field. If this algorithm was not - specified by the receiver in the HMAC-ALGO parameter in - the INIT or INIT-ACK chunk during association setup, the - AUTH chunk and all the chunks after it MUST be discarded - and an ERROR chunk SHOULD be sent with the error cause - defined in Section 4.1. [...] If no endpoint pair shared - key has been configured for that Shared Key Identifier, - all authenticated chunks MUST be silently discarded. [...] - - When an endpoint requires COOKIE-ECHO chunks to be - authenticated, some special procedures have to be followed - because the reception of a COOKIE-ECHO chunk might result - in the creation of an SCTP association. If a packet arrives - containing an AUTH chunk as a first chunk, a COOKIE-ECHO - chunk as the second chunk, and possibly more chunks after - them, and the receiver does not have an STCB for that - packet, then authentication is based on the contents of - the COOKIE-ECHO chunk. In this situation, the receiver MUST - authenticate the chunks in the packet by using the RANDOM - parameters, CHUNKS parameters and HMAC_ALGO parameters - obtained from the COOKIE-ECHO chunk, and possibly a local - shared secret as inputs to the authentication procedure - specified in Section 6.3. If authentication fails, then - the packet is discarded. If the authentication is successful, - the COOKIE-ECHO and all the chunks after the COOKIE-ECHO - MUST be processed. If the receiver has an STCB, it MUST - process the AUTH chunk as described above using the STCB - from the existing association to authenticate the - COOKIE-ECHO chunk and all the chunks after it. [...] - -Commit bbd0d59809f9 introduced the possibility to receive -and verification of AUTH chunk, including the edge case for -authenticated COOKIE-ECHO. On reception of COOKIE-ECHO, -the function sctp_sf_do_5_1D_ce() handles processing, -unpacks and creates a new association if it passed sanity -checks and also tests for authentication chunks being -present. After a new association has been processed, it -invokes sctp_process_init() on the new association and -walks through the parameter list it received from the INIT -chunk. It checks SCTP_PARAM_RANDOM, SCTP_PARAM_HMAC_ALGO -and SCTP_PARAM_CHUNKS, and copies them into asoc->peer -meta data (peer_random, peer_hmacs, peer_chunks) in case -sysctl -w net.sctp.auth_enable=1 is set. If in INIT's -SCTP_PARAM_SUPPORTED_EXT parameter SCTP_CID_AUTH is set, -peer_random != NULL and peer_hmacs != NULL the peer is to be -assumed asoc->peer.auth_capable=1, in any other case -asoc->peer.auth_capable=0. - -Now, if in sctp_sf_do_5_1D_ce() chunk->auth_chunk is -available, we set up a fake auth chunk and pass that on to -sctp_sf_authenticate(), which at latest in -sctp_auth_calculate_hmac() reliably dereferences a NULL pointer -at position 0..0008 when setting up the crypto key in -crypto_hash_setkey() by using asoc->asoc_shared_key that is -NULL as condition key_id == asoc->active_key_id is true if -the AUTH chunk was injected correctly from remote. This -happens no matter what net.sctp.auth_enable sysctl says. - -The fix is to check for net->sctp.auth_enable and for -asoc->peer.auth_capable before doing any operations like -sctp_sf_authenticate() as no key is activated in -sctp_auth_asoc_init_active_key() for each case. - -Now as RFC4895 section 6.3 states that if the used HMAC-ALGO -passed from the INIT chunk was not used in the AUTH chunk, we -SHOULD send an error; however in this case it would be better -to just silently discard such a maliciously prepared handshake -as we didn't even receive a parameter at all. Also, as our -endpoint has no shared key configured, section 6.3 says that -MUST silently discard, which we are doing from now onwards. - -Before calling sctp_sf_pdiscard(), we need not only to free -the association, but also the chunk->auth_chunk skb, as -commit bbd0d59809f9 created a skb clone in that case. - -I have tested this locally by using netfilter's nfqueue and -re-injecting packets into the local stack after maliciously -modifying the INIT chunk (removing RANDOM; HMAC-ALGO param) -and the SCTP packet containing the COOKIE_ECHO (injecting -AUTH chunk before COOKIE_ECHO). Fixed with this patch applied. - -This fixes CVE-2014-0101 -Upstream-Status: Backport - -Fixes: bbd0d59809f9 ("[SCTP]: Implement the receive and verification of AUTH chunk") -Signed-off-by: Daniel Borkmann -Cc: Vlad Yasevich -Cc: Neil Horman -Acked-by: Vlad Yasevich -Signed-off-by: David S. Miller -Signed-off-by: Jiri Slaby -Signed-off-by: Sona Sarmadi ---- - net/sctp/sm_statefuns.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c -index dfe3f36..56ebe71 100644 ---- a/net/sctp/sm_statefuns.c -+++ b/net/sctp/sm_statefuns.c -@@ -768,6 +768,13 @@ sctp_disposition_t sctp_sf_do_5_1D_ce(struct net *net, - return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); - } - -+ /* Make sure that we and the peer are AUTH capable */ -+ if (!net->sctp.auth_enable || !new_asoc->peer.auth_capable) { -+ kfree_skb(chunk->auth_chunk); -+ sctp_association_free(new_asoc); -+ return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); -+ } -+ - /* set-up our fake chunk so that we can process it */ - auth.skb = chunk->auth_chunk; - auth.asoc = chunk->asoc; --- -1.9.1 - diff --git a/recipes-kernel/linux/linux-qoriq/0001-ARM-8158-LLVMLinux-use-static-inline-in-ARM-ftrace.patch b/recipes-kernel/linux/linux-qoriq/0001-ARM-8158-LLVMLinux-use-static-inline-in-ARM-ftrace.patch deleted file mode 100644 index 47f13c71..00000000 --- a/recipes-kernel/linux/linux-qoriq/0001-ARM-8158-LLVMLinux-use-static-inline-in-ARM-ftrace.patch +++ /dev/null @@ -1,48 +0,0 @@ -From aeea3592a13bf12861943e44fc48f1f270941f8d Mon Sep 17 00:00:00 2001 -From: Behan Webster -Date: Wed, 24 Sep 2014 01:06:46 +0100 -Subject: 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 -Reviewed-by: Mark Charlebois -Acked-by: Steven Rostedt -Signed-off-by: Russell King - -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 fafedd8..f6aa84d 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); --- -cgit v0.10.2 - diff --git a/recipes-kernel/linux/linux-qoriq/0001-ARM-LLVMLinux-Change-extern-inline-to-static-inline.patch b/recipes-kernel/linux/linux-qoriq/0001-ARM-LLVMLinux-Change-extern-inline-to-static-inline.patch deleted file mode 100644 index 0ab03fb9..00000000 --- a/recipes-kernel/linux/linux-qoriq/0001-ARM-LLVMLinux-Change-extern-inline-to-static-inline.patch +++ /dev/null @@ -1,59 +0,0 @@ -From a2561791169351cbf1ac5ca0c4299a0eef7eca65 Mon Sep 17 00:00:00 2001 -From: Behan Webster -Date: Tue, 3 Sep 2013 22:27:26 -0400 -Subject: [PATCH] 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 -Signed-off-by: Behan Webster -Reviewed-by: Mark Charlebois ---- - 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.1.4 - diff --git a/recipes-kernel/linux/linux-qoriq/0001-powerpc-Align-TOC-to-256-bytes.patch b/recipes-kernel/linux/linux-qoriq/0001-powerpc-Align-TOC-to-256-bytes.patch deleted file mode 100644 index 2131c9d5..00000000 --- a/recipes-kernel/linux/linux-qoriq/0001-powerpc-Align-TOC-to-256-bytes.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 7d4d16a6ccdd6d965b84284262a67d5b63426d50 Mon Sep 17 00:00:00 2001 -From: Zhenhua Luo -Date: Mon, 9 Nov 2015 04:36:29 -0600 -Subject: [PATCH] powerpc: Align TOC to 256 bytes - -Recent toolchains(gcc-5.2) force the TOC to be 256 byte aligned. We need -to enforce this alignment in our linker script, otherwise pointers -to our TOC variables (__toc_start, __prom_init_toc_start) could -be incorrect. - -If they are bad, we die a few hundred instructions into boot. - -Upstream-Status: Backport - -Backport from https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5e95235 - -Signed-off-by: Zhenhua Luo ---- - arch/powerpc/kernel/vmlinux.lds.S | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S -index f096e72..3266864 100644 ---- a/arch/powerpc/kernel/vmlinux.lds.S -+++ b/arch/powerpc/kernel/vmlinux.lds.S -@@ -213,6 +213,8 @@ SECTIONS - *(.opd) - } - -+ . = ALIGN(256); -+ - .got : AT(ADDR(.got) - LOAD_OFFSET) { - __toc_start = .; - #ifndef CONFIG_RELOCATABLE --- -2.3.3 - diff --git a/recipes-kernel/linux/linux-qoriq/0003-use-static-inline-in-ARM-lifeboot.h.patch b/recipes-kernel/linux/linux-qoriq/0003-use-static-inline-in-ARM-lifeboot.h.patch index 6d067764..161bada6 100644 --- a/recipes-kernel/linux/linux-qoriq/0003-use-static-inline-in-ARM-lifeboot.h.patch +++ b/recipes-kernel/linux/linux-qoriq/0003-use-static-inline-in-ARM-lifeboot.h.patch @@ -4,24 +4,10 @@ Date: Thu, 8 Oct 2015 22:48:22 -0500 Subject: [PATCH] use static inline in ARM lifeboot.h --- - drivers/input/mouse/lifebook.h | 2 +- drivers/input/mouse/sentelic.h | 2 +- drivers/input/mouse/trackpoint.h | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) + 2 files changed, 2 insertions(+), 2 deletions(-) -diff --git a/drivers/input/mouse/lifebook.h b/drivers/input/mouse/lifebook.h -index 4c4326c..e4c2453 100644 ---- a/drivers/input/mouse/lifebook.h -+++ b/drivers/input/mouse/lifebook.h -@@ -19,7 +19,7 @@ int lifebook_init(struct psmouse *psmouse); - inline void lifebook_module_init(void) - { - } --inline int lifebook_detect(struct psmouse *psmouse, bool set_properties) -+static inline int lifebook_detect(struct psmouse *psmouse, bool set_properties) - { - return -ENOSYS; - } diff --git a/drivers/input/mouse/sentelic.h b/drivers/input/mouse/sentelic.h index aa697ec..9e69e94 100644 --- a/drivers/input/mouse/sentelic.h diff --git a/recipes-kernel/linux/files/modify-defconfig-t1040-nr-cpus.patch b/recipes-kernel/linux/linux-qoriq/modify-defconfig-t1040-nr-cpus.patch similarity index 100% rename from recipes-kernel/linux/files/modify-defconfig-t1040-nr-cpus.patch rename to recipes-kernel/linux/linux-qoriq/modify-defconfig-t1040-nr-cpus.patch diff --git a/recipes-kernel/linux/linux-qoriq/module-remove-MODULE_GENERIC_TABLE.patch b/recipes-kernel/linux/linux-qoriq/module-remove-MODULE_GENERIC_TABLE.patch deleted file mode 100644 index 5a671559..00000000 --- a/recipes-kernel/linux/linux-qoriq/module-remove-MODULE_GENERIC_TABLE.patch +++ /dev/null @@ -1,77 +0,0 @@ -module: remove MODULE_GENERIC_TABLE - -MODULE_DEVICE_TABLE() calles MODULE_GENERIC_TABLE(); make it do the -work directly. This also removes a wart introduced in the last patch, -where the alias is defined to be an unknown struct type "struct -type##__##name##_device_id" instead of "struct type##_device_id" (it's -an extern so GCC doesn't care, but it's wrong). - -The other user of MODULE_GENERIC_TABLE (ISAPNP_CARD_TABLE) is unused, -so delete it. - - - -Signed-off-by: Rusty Russell -Signed-off-by: Zhenhua Luo - -Upstream-Status: Backport ---- - include/linux/isapnp.h | 4 ---- - include/linux/module.h | 19 ++++++++----------- - 2 files changed, 8 insertions(+), 15 deletions(-) - -diff --git a/include/linux/isapnp.h b/include/linux/isapnp.h -index e2d28b0..3c77bf9 100644 ---- a/include/linux/isapnp.h -+++ b/include/linux/isapnp.h -@@ -56,10 +56,6 @@ - #define ISAPNP_DEVICE_ID(_va, _vb, _vc, _function) \ - { .vendor = ISAPNP_VENDOR(_va, _vb, _vc), .function = ISAPNP_FUNCTION(_function) } - --/* export used IDs outside module */ --#define ISAPNP_CARD_TABLE(name) \ -- MODULE_GENERIC_TABLE(isapnp_card, name) -- - struct isapnp_card_id { - unsigned long driver_data; /* data private to the driver */ - unsigned short card_vendor, card_device; -diff --git a/include/linux/module.h b/include/linux/module.h -index 54aef1b..a9f6812 100644 ---- a/include/linux/module.h -+++ b/include/linux/module.h -@@ -83,15 +83,6 @@ void sort_extable(struct exception_table_entry *start, - void sort_main_extable(void); - void trim_init_extable(struct module *m); - --#ifdef MODULE --#define MODULE_GENERIC_TABLE(gtype,name) \ --extern const struct gtype##_id __mod_##gtype##_table \ -- __attribute__ ((unused, alias(__stringify(name)))) -- --#else /* !MODULE */ --#define MODULE_GENERIC_TABLE(gtype,name) --#endif -- - /* Generic info of form tag = "info" */ - #define MODULE_INFO(tag, info) __MODULE_INFO(tag, tag, info) - -@@ -142,8 +133,14 @@ extern const struct gtype##_id __mod_##gtype##_table \ - /* What your module does. */ - #define MODULE_DESCRIPTION(_description) MODULE_INFO(description, _description) - --#define MODULE_DEVICE_TABLE(type,name) \ -- MODULE_GENERIC_TABLE(type##__##name##_device, name) -+#ifdef MODULE -+/* Creates an alias so file2alias.c can find device table. */ -+#define MODULE_DEVICE_TABLE(type, name) \ -+ extern const struct type##_device_id __mod_##type##__##name##_device_table \ -+ __attribute__ ((unused, alias(__stringify(name)))) -+#else /* !MODULE */ -+#define MODULE_DEVICE_TABLE(type, name) -+#endif - - /* Version of form [:][-]. - Or for CVS/RCS ID version, everything but the number is stripped. --- -2.5.0 - diff --git a/recipes-kernel/linux/linux-qoriq/only-set-vmpic_msi_feature-if-CONFIG_EPAPR_PARAVIRT-.patch b/recipes-kernel/linux/linux-qoriq/only-set-vmpic_msi_feature-if-CONFIG_EPAPR_PARAVIRT-.patch new file mode 100644 index 00000000..5f3220d9 --- /dev/null +++ b/recipes-kernel/linux/linux-qoriq/only-set-vmpic_msi_feature-if-CONFIG_EPAPR_PARAVIRT-.patch @@ -0,0 +1,32 @@ +From 15895f6880829ee502f0a48412173fb452b23c0b Mon Sep 17 00:00:00 2001 +From: Ting Liu +Date: Fri, 17 Jun 2016 10:57:35 +0800 +Subject: [PATCH] only set vmpic_msi_feature if CONFIG_EPAPR_PARAVIRT defined + +Upstream-Status: Pending + +Signed-off-by: Ting Liu +--- + arch/powerpc/sysdev/fsl_msi.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c +index 963661a..95d7111 100644 +--- a/arch/powerpc/sysdev/fsl_msi.c ++++ b/arch/powerpc/sysdev/fsl_msi.c +@@ -658,10 +658,12 @@ static const struct fsl_msi_feature ipic_msi_feature = { + .msiir_offset = 0x38, + }; + ++#ifdef CONFIG_EPAPR_PARAVIRT + static const struct fsl_msi_feature vmpic_msi_feature = { + .fsl_pic_ip = FSL_PIC_IP_VMPIC, + .msiir_offset = 0, + }; ++#endif + + static const struct of_device_id fsl_of_msi_ids[] = { + { +-- +1.9.2 + diff --git a/recipes-kernel/linux/linux-qoriq_3.12.bb b/recipes-kernel/linux/linux-qoriq_4.1.bb similarity index 76% rename from recipes-kernel/linux/linux-qoriq_3.12.bb rename to recipes-kernel/linux/linux-qoriq_4.1.bb index 5d892556..d2c821f2 100644 --- a/recipes-kernel/linux/linux-qoriq_3.12.bb +++ b/recipes-kernel/linux/linux-qoriq_4.1.bb @@ -1,33 +1,30 @@ -inherit kernel kernel-arch qoriq_build_64bit_kernel +inherit kernel qoriq_build_64bit_kernel inherit fsl-kernel-localversion require recipes-kernel/linux/linux-dtb.inc -DESCRIPTION = "Linux kernel for Freescale platforms" +SUMMARY = "Linux Kernel for Freescale QorIQ platforms" +SECTION = "kernel" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" -SRC_URI = "git://git.freescale.com/ppc/sdk/linux.git;branch=sdk-v1.9.x \ +SRC_URI = "git://git.freescale.com/ppc/sdk/linux.git;branch=sdk-v2.0.x \ file://modify-defconfig-t1040-nr-cpus.patch \ - file://net-sctp-CVE-2014-0101.patch \ - file://0001-ARM-8158-LLVMLinux-use-static-inline-in-ARM-ftrace.patch \ - file://0001-ARM-LLVMLinux-Change-extern-inline-to-static-inline.patch \ file://0003-use-static-inline-in-ARM-lifeboot.h.patch \ - file://0001-powerpc-Align-TOC-to-256-bytes.patch \ file://fix-the-compile-issue-under-gcc6.patch \ - file://module-remove-MODULE_GENERIC_TABLE.patch \ + file://only-set-vmpic_msi_feature-if-CONFIG_EPAPR_PARAVIRT-.patch \ " -SRCREV = "43cecda943a6c40a833b588801b0929e8bd48813" +SRCREV = "bd51baffc04ecc73f933aee1c3a37c8b44b889a7" S = "${WORKDIR}/git" DEPENDS_append = " libgcc" -# not put uImage into /boot of rootfs, install kernel-image if needed +# not put Images into /boot of rootfs, install kernel-image if needed RDEPENDS_kernel-base = "" KERNEL_CC_append = " ${TOOLCHAIN_OPTIONS}" KERNEL_LD_append = " ${TOOLCHAIN_OPTIONS}" - KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}" + ZIMAGE_BASE_NAME = "zImage-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" ZIMAGE_BASE_NAME[vardepsexclude] = "DATETIME" @@ -38,6 +35,7 @@ DELTA_KERNEL_DEFCONFIG ?= "" do_configure_prepend() { # copy desired defconfig so we pick it up for the real kernel_do_configure cp ${KERNEL_DEFCONFIG} .config + # add config fragments for deltacfg in ${DELTA_KERNEL_DEFCONFIG}; do if [ -f "${deltacfg}" ]; then @@ -63,6 +61,4 @@ do_deploy_append_qoriq-arm() { } FILES_kernel-image += "/boot/zImage*" - -# make everything compatible for the time being COMPATIBLE_MACHINE = "(qoriq)"