I have made the following changes intended for :
  CE:Adaptation:N950-N9 / kernel-adaptation-n950

Please review and accept or decline.
BOSS has already run some checks on this request.
See the "Messages from BOSS" section below.

https://build.pub.meego.com//request/show/3251

Thank You,
bossbot ([email protected])

[This message was auto-generated]

---

Request # 3251:

Messages from BOSS:
     WARNING check_package_is_complete_sources (kernel-adaptation-n950) failed: 
Failed to parse spec file: can't parse specfile

     WARNING check_valid_changes (kernel-adaptation-n950) failed: Latest 
changelog version '2.6.32.20112201' does not match version in spec file
     Could not notify CE-maintainers (no address found)

State:   review          2011-11-24T20:16:15 bossbot

Reviews:
     accepted by bossbot : Prechecks completed; none failed.
     new by   None

Changes:
  submit: home:marquiz:n950 / kernel-adaptation-n950 -> CE:Adaptation:N950-N9 / 
kernel-adaptation-n950
  
changes files:
--------------
--- kernel-adaptation-n950.changes
+++ kernel-adaptation-n950.changes
@@ -0,0 +1,4 @@
+* Wed Nov 23 2011 Markus Lehtonen <[email protected]> - 2.6.32.20112201
+- kexec patchset (and enable kexec in config)
+- initramfs hack to be able to load gzipped cpio initrd
+

new:
----
  0100-arm-Fix-cpu_proc_fin-for-proc-v7.S-and-make-kexec-wo.patch
  0101-arm-Fix-init_atags_procfs-to-check-tag-hdr.size.patch
  0102-ARM-Implement-cpu_v7_reset.patch
  0103-ARMv7-disable-L2-cache.patch
  0104-ARMv7-adds-sec-extensions-for-armv7.patch
  0105-Fix-for-new-assembler-build-problem.patch
  0106-initramfs-hack-to-ignore-junk-data-in-decompression.patch

spec files:
-----------
--- kernel-adaptation-n950.spec
+++ kernel-adaptation-n950.spec
@@ -267,6 +267,17 @@
 Patch86: backport_media_ioc_definitions.patch
 Patch87: make-omap-iommu-build-in.patch
 
+# Kexec fixes
+Patch88: 0100-arm-Fix-cpu_proc_fin-for-proc-v7.S-and-make-kexec-wo.patch
+Patch89: 0101-arm-Fix-init_atags_procfs-to-check-tag-hdr.size.patch
+Patch90: 0102-ARM-Implement-cpu_v7_reset.patch
+Patch91: 0103-ARMv7-disable-L2-cache.patch
+Patch92: 0104-ARMv7-adds-sec-extensions-for-armv7.patch
+Patch93: 0105-Fix-for-new-assembler-build-problem.patch
+
+# Initramfs hack
+Patch94: 0106-initramfs-hack-to-ignore-junk-data-in-decompression.patch
+
 
 BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
 
@@ -572,6 +583,24 @@
 # make-omap-iommu-build-in.patch
 %patch87 -p1
 
+# Kexec fixes
+# 0100-arm-Fix-cpu_proc_fin-for-proc-v7.S-and-make-kexec-wo.patch
+%patch88 -p1
+# 0101-arm-Fix-init_atags_procfs-to-check-tag-hdr.size.patch
+%patch89 -p1
+# 0102-ARM-Implement-cpu_v7_reset.patch
+%patch90 -p1
+# 0103-ARMv7-disable-L2-cache.patch
+%patch91 -p1
+# 0104-ARMv7-adds-sec-extensions-for-armv7.patch
+%patch92 -p1
+# 0105-Fix-for-new-assembler-build-problem.patch
+%patch93 -p1
+
+# Initramfs hack
+# 0106-initramfs-hack-to-ignore-junk-data-in-decompression.patch
+%patch94 -p1
+
 # Drop some necessary files from the source dir into the buildroot
 # HARMATTAN: no build-time config file generation, copy ready-made config file
 cp $RPM_SOURCE_DIR/kernel-*config .

other changes:
--------------

++++++ 0100-arm-Fix-cpu_proc_fin-for-proc-v7.S-and-make-kexec-wo.patch (new)
--- 0100-arm-Fix-cpu_proc_fin-for-proc-v7.S-and-make-kexec-wo.patch
+++ 0100-arm-Fix-cpu_proc_fin-for-proc-v7.S-and-make-kexec-wo.patch
@@ -0,0 +1,34 @@
+From 3ed095ef5d9d155239d2b9b0f91ba81fdb670fed Mon Sep 17 00:00:00 2001
+From: Tony Lindgren <[email protected]>
+Date: Fri, 18 Nov 2011 00:58:05 +0200
+Subject: [PATCH 100/106] arm: Fix cpu_proc_fin() for proc-v7.S and make kexec
+ work
+
+We need to do that if we tinker with the MMU entries.
+
+This fixes the occasional bug with kexec where the new
+fails to uncompress with "crc error". Most likely at
+least kexec on v6 and v7 need this fix.
+
+Signed-off-by: Tony Lindgren <tony at atomide.com>
+---
+ arch/arm/mm/mmu.c |    3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
+index d291280..8440ac2 100644
+--- a/arch/arm/mm/mmu.c
++++ b/arch/arm/mm/mmu.c
+@@ -977,6 +977,9 @@ static void __init map_lowmem(void)
+ 
+               create_mapping(&map);
+       }
++
++      local_flush_tlb_all();
++      flush_cache_all();
+ }
+ 
+ /*
+-- 
+1.7.7
+

++++++ 0101-arm-Fix-init_atags_procfs-to-check-tag-hdr.size.patch (new)
--- 0101-arm-Fix-init_atags_procfs-to-check-tag-hdr.size.patch
+++ 0101-arm-Fix-init_atags_procfs-to-check-tag-hdr.size.patch
@@ -0,0 +1,114 @@
+From 167527e14c64c471091872f2320397050d4df5ca Mon Sep 17 00:00:00 2001
+From: Tony Lindgren <[email protected]>
+Date: Fri, 18 Nov 2011 00:58:45 +0200
+Subject: [PATCH 101/106] arm: Fix init_atags_procfs() to check tag->hdr.size
+
+The tag->hdr.size cannot be larger than XXX.
+Otherwise we can getsomething similar during boot:
+
+Unable to handle kernel paging request at virtual address 61a05020
+...
+
+Signed-off-by: Tony Lindgren <tony at atomide.com>
+---
+ arch/arm/include/asm/setup.h   |   12 +++++++++---
+ arch/arm/kernel/atags.c        |    2 +-
+ arch/arm/kernel/compat.c       |    2 +-
+ arch/arm/kernel/setup.c        |    4 ++--
+ arch/arm/mach-orion5x/common.c |    2 +-
+ 5 files changed, 14 insertions(+), 8 deletions(-)
+
+diff --git a/arch/arm/include/asm/setup.h b/arch/arm/include/asm/setup.h
+index 3e650db..8968916 100644
+--- a/arch/arm/include/asm/setup.h
++++ b/arch/arm/include/asm/setup.h
+@@ -21,6 +21,11 @@
+ /* The list ends with an ATAG_NONE node. */
+ #define ATAG_NONE     0x00000000
+ 
++/* Some sanity checks are needed */
++#define ATAG_MAX_SZ   PAGE_SIZE
++#define atag_valid(tag)                                                       
\
++      ((tag)->hdr.size && ((tag)->hdr.size <= ATAG_MAX_SZ))
++
+ struct tag_header {
+       __u32 size;
+       __u32 tag;
+@@ -173,9 +178,10 @@ struct tagtable {
+       int (*parse)(const struct tag *);
+ };
+ 
+-#define tag_member_present(tag,member)                                \
+-      ((unsigned long)(&((struct tag *)0L)->member + 1)       \
+-              <= (tag)->hdr.size * 4)
++#define tag_member_present(tag,member)                                        
\
++      (atag_valid(tag) &&                                             \
++              (((unsigned long)(&((struct tag *)0L)->member + 1)      \
++                      <= (tag)->hdr.size * 4))
+ 
+ #define tag_next(t)   ((struct tag *)((__u32 *)(t) + (t)->hdr.size))
+ #define tag_size(type)        ((sizeof(struct tag_header) + sizeof(struct 
type)) >> 2)
+diff --git a/arch/arm/kernel/atags.c b/arch/arm/kernel/atags.c
+index 42a1a14..14d0993 100644
+--- a/arch/arm/kernel/atags.c
++++ b/arch/arm/kernel/atags.c
+@@ -51,7 +51,7 @@ static int __init init_atags_procfs(void)
+               return -EINVAL;
+       }
+ 
+-      for (; tag->hdr.size; tag = tag_next(tag))
++      for (; atag_valid(tag); tag = tag_next(tag))
+               ;
+ 
+       /* include the terminating ATAG_NONE */
+diff --git a/arch/arm/kernel/compat.c b/arch/arm/kernel/compat.c
+index 0a13854..3e63ee1 100644
+--- a/arch/arm/kernel/compat.c
++++ b/arch/arm/kernel/compat.c
+@@ -220,7 +220,7 @@ void __init convert_to_tag_list(struct tag *tags)
+ 
+ void __init squash_mem_tags(struct tag *tag)
+ {
+-      for (; tag->hdr.size; tag = tag_next(tag))
++      for (; atag_valid(tag); tag = tag_next(tag))
+               if (tag->hdr.tag == ATAG_MEM)
+                       tag->hdr.tag = ATAG_NONE;
+ }
+diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
+index 0f61346..e43ce72 100644
+--- a/arch/arm/kernel/setup.c
++++ b/arch/arm/kernel/setup.c
+@@ -561,7 +561,7 @@ request_standard_resources(struct meminfo *mi, struct 
machine_desc *mdesc)
+  */
+ static int __init parse_tag_core(const struct tag *tag)
+ {
+-      if (tag->hdr.size > 2) {
++      if ((atag_valid(tag) && (tag->hdr.size > 2))) {
+               if ((tag->u.core.flags & 1) == 0)
+                       root_mountflags &= ~MS_RDONLY;
+               ROOT_DEV = old_decode_dev(tag->u.core.rootdev);
+@@ -665,7 +665,7 @@ static int __init parse_tag(const struct tag *tag)
+  */
+ static void __init parse_tags(const struct tag *t)
+ {
+-      for (; t->hdr.size; t = tag_next(t))
++      for (; atag_valid(t); t = tag_next(t))
+               if (!parse_tag(t))
+                       printk(KERN_WARNING
+                               "Ignoring unrecognised tag 0x%08x\n",
+diff --git a/arch/arm/mach-orion5x/common.c b/arch/arm/mach-orion5x/common.c
+index f87fa12..8afee34 100644
+--- a/arch/arm/mach-orion5x/common.c
++++ b/arch/arm/mach-orion5x/common.c
+@@ -717,7 +717,7 @@ void __init orion5x_init(void)
+ void __init tag_fixup_mem32(struct machine_desc *mdesc, struct tag *t,
+                           char **from, struct meminfo *meminfo)
+ {
+-      for (; t->hdr.size; t = tag_next(t))
++      for (; atag_valid(t); t = tag_next(t))
+               if (t->hdr.tag == ATAG_MEM &&
+                   (!t->u.mem.size || t->u.mem.size & ~PAGE_MASK ||
+                    t->u.mem.start & ~PAGE_MASK)) {
+-- 
+1.7.7
+

++++++ 0102-ARM-Implement-cpu_v7_reset.patch (new)
--- 0102-ARM-Implement-cpu_v7_reset.patch
+++ 0102-ARM-Implement-cpu_v7_reset.patch
@@ -0,0 +1,71 @@
+From ebb10c8ae721bc51334bda089a2e31f34769bbee Mon Sep 17 00:00:00 2001
+From: Mika Westerberg <[email protected]>
+Date: Thu, 17 Nov 2011 20:26:29 +0200
+Subject: [PATCH 102/106] ARM: Implement cpu_v7_reset
+
+---
+ arch/arm/mm/proc-v7.S |   45 ++++++++++++++++++++++++++++++++++++++++++++-
+ 1 files changed, 44 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
+index 7aaf88a..e7d6b59 100644
+--- a/arch/arm/mm/proc-v7.S
++++ b/arch/arm/mm/proc-v7.S
+@@ -66,10 +66,53 @@ ENDPROC(cpu_v7_proc_fin)
+  */
+       .align  5
+ ENTRY(cpu_v7_reset)
+-      mov     pc, r0
++      /*
++       * ARM Cortex-A8 TRM chapter 6.4 says:
++       *
++       *    After a CP15 c1 instruction disables the MMU, the processor
++       *    flushes all following instructions in the pipeline. The processor
++       *    then begins refetching instructions and uses flat address mapping.
++       *    In flat address mapping, PA = VA.
++       *
++       * This means that in Cortex-A8 we need to disable the MMU through the
++       * identity mapped region.
++       */
++      mrc     p15, 0, r5, c0, c0, 0           @ read main ID register
++      and     r6, r5, #0xff000000             @ ARM?
++      teq     r6, #0x41000000
++      bne     __disable_mmu
++
++      mov     r6, #0x0000ff00                 @ check primary part number
++      orr     r6, r6, #0x00f0                 @ bits [15:4]
++      and     r6, r6, r5
++
++      mov     r5, #0xc000                     @ is it Cortex-A8 (0xc080)?
++      orr     r5, r5, #0x0080
++      teq     r5, r6
++      bne     __disable_mmu
++
++      /*
++       * This is Cortex-A8 so call via identity mapping.
++       */
++      ldr     pc, =__virt_to_phys(__disable_mmu)
+ ENDPROC(cpu_v7_reset)
+ 
+ /*
++ * Disables the MMU and jumps into address given in r0.
++ */
++__disable_mmu:
++      mov     ip, #0
++#ifdef CONFIG_MMU
++      mcr     p15, 0, ip, c8, c7, 0           @ invalidate I & D TLBs
++#endif
++      mrc     p15, 0, ip, c1, c0, 0           @ ctrl register
++      bic     ip, ip, #0x000f                 @ ............wcam
++      bic     ip, ip, #0x1100                 @ ...i...s........
++      mcr     p15, 0, ip, c1, c0, 0           @ ctrl register
++      mov     pc, r0
++ENDPROC(__disable_mmu)
++
++/*
+  *    cpu_v7_do_idle()
+  *
+  *    Idle the processor (eg, wait for interrupt).
+-- 
+1.7.7
+

++++++ 0103-ARMv7-disable-L2-cache.patch (new)
--- 0103-ARMv7-disable-L2-cache.patch
+++ 0103-ARMv7-disable-L2-cache.patch
@@ -0,0 +1,29 @@
+From 0ab9de081f82a08f1a03087e54c57c314d961a32 Mon Sep 17 00:00:00 2001
+From: Mika Westerberg <[email protected]>
+Date: Fri, 18 Mar 2011 12:58:42 +0200
+Subject: [PATCH 103/106] ARMv7: disable L2 cache
+
+Signed-off-by: Mika Westerberg <[email protected]>
+---
+ arch/arm/mm/proc-v7.S |    5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
+index e7d6b59..6ab82d3 100644
+--- a/arch/arm/mm/proc-v7.S
++++ b/arch/arm/mm/proc-v7.S
+@@ -48,6 +48,11 @@ ENTRY(cpu_v7_proc_fin)
+       stmfd   sp!, {lr}
+       cpsid   if                              @ disable interrupts
+       bl      v7_flush_kern_cache_all
++
++      mrc     p15, 0, r0, c1, c0, 1           @ aux ctrl register
++      bic     r0, r0, #0x2                    @ L2EN
++      mcr     p15, 0, r0, c1, c0, 1           @ disable L2 cache
++
+       mrc     p15, 0, r0, c1, c0, 0           @ ctrl register
+       bic     r0, r0, #0x1000                 @ ...i............
+       bic     r0, r0, #0x0006                 @ .............ca.
+-- 
+1.7.7
+

++++++ 0104-ARMv7-adds-sec-extensions-for-armv7.patch (new)
--- 0104-ARMv7-adds-sec-extensions-for-armv7.patch
+++ 0104-ARMv7-adds-sec-extensions-for-armv7.patch
@@ -0,0 +1,220 @@
+From 53515e20a0fc37b57847cddf37615aa415711fba Mon Sep 17 00:00:00 2001
+From: Markus Lehtonen <[email protected]>
+Date: Fri, 18 Nov 2011 15:43:28 +0200
+Subject: [PATCH 104/106] ARMv7: adds sec extensions for armv7
+
+Adopted from kernel-moslo package. Don't know original author of the
+patch.
+---
+ arch/arm/mach-omap2/Makefile |  198 ++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 198 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
+index e8ca113..6c2287b 100644
+--- a/arch/arm/mach-omap2/Makefile
++++ b/arch/arm/mach-omap2/Makefile
+@@ -194,3 +194,201 @@ obj-y                                    += $(smc91x-m) 
$(smc91x-y)
+ # HS OMAP
+ obj-$(CONFIG_ARCH_OMAP3_HS)           += omap_hs.o
+ omap_hs-objs                          += hs.o sec_hal.o sec_hal_entry.o
++plus_sec := $(call as-instr,.arch_extension sec,+sec)
++AFLAGS_sec_hal_entry.o :=-Wa,-march=armv7-a$(plus_sec)
++#
++# Makefile for the linux kernel.
++#
++
++# Common support
++obj-y := id.o io.o control.o mux.o devices.o serial.o gpmc.o timer-gp.o
++
++omap-2-3-common                               = irq.o sdrc.o
++omap-3-4-common                               = dpll.o
++
++hwmod-common                            = omap_hwmod.o \
++                                        omap_hwmod_common_data.o
++
++prcm-common                           = prcm.o powerdomain.o
++clock-common                          = clock.o clock_common_data.o 
clockdomain.o
++
++obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(prcm-common) $(clock-common) 
\
++                          $(hwmod-common)
++obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(prcm-common) $(clock-common) 
\
++                          $(omap-3-4-common) $(hwmod-common)
++obj-$(CONFIG_ARCH_OMAP4) += $(omap-3-4-common) prcm.o clock.o
++
++obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
++
++# SMP support ONLY available for OMAP4
++obj-$(CONFIG_SMP)                     += omap-smp.o omap-headsmp.o
++obj-$(CONFIG_LOCAL_TIMERS)            += timer-mpu.o
++
++# Functions loaded to SRAM
++obj-$(CONFIG_ARCH_OMAP2420)           += sram242x.o
++obj-$(CONFIG_ARCH_OMAP2430)           += sram243x.o
++obj-$(CONFIG_ARCH_OMAP3)              += sram34xx.o
++
++# SMS/SDRC
++obj-$(CONFIG_ARCH_OMAP2)              += sdrc2xxx.o
++# obj-$(CONFIG_ARCH_OMAP3)            += sdrc3xxx.o
++
++# Power Management
++ifeq ($(CONFIG_PM),y)
++obj-$(CONFIG_ARCH_OMAP2)              += pm24xx.o
++obj-$(CONFIG_ARCH_OMAP24XX)           += sleep24xx.o
++obj-$(CONFIG_ARCH_OMAP3)              += pm.o pm34xx.o sleep34xx.o 
cpuidle34xx.o \
++                                         voltage.o
++obj-$(CONFIG_PM_DEBUG)                        += pm-debug.o
++obj-$(CONFIG_OMAP_SMARTREFLEX)        += sr_device.o smartreflex.o
++obj-$(CONFIG_OMAP_SMARTREFLEX_CLASS3)   += smartreflex-class3.o
++obj-$(CONFIG_OMAP_SMARTREFLEX_CLASS1P5)       += smartreflex-class1p5.o
++endif
++
++# CPU Frequency
++ifeq ($(CONFIG_CPU_FREQ),y)
++obj-$(CONFIG_ARCH_OMAP3)              += cpufreq34xx.o
++endif
++
++# PRCM
++obj-$(CONFIG_ARCH_OMAP2)              += cm.o
++obj-$(CONFIG_ARCH_OMAP3)              += cm.o
++obj-$(CONFIG_ARCH_OMAP4)              += cm4xxx.o
++
++# Clock framework
++obj-$(CONFIG_ARCH_OMAP2)              += clock2xxx.o clock2xxx_data.o
++obj-$(CONFIG_ARCH_OMAP2420)           += opp2420_data.o
++obj-$(CONFIG_ARCH_OMAP3)              += clock34xx.o clock34xx_data.o \
++                                         clk-tracer.o pm-optimizer.o
++obj-$(CONFIG_ARCH_OMAP2430)           += opp2430_data.o
++obj-$(CONFIG_ARCH_OMAP4)              += clock44xx.o clock44xx_data.o
++obj-$(CONFIG_OMAP_PM_SRF)             +=  resource34xx.o
++
++obj-$(CONFIG_OMAP_MBOX_FWK)           += mailbox_mach.o
++mailbox_mach-objs                     := mailbox.o
++
++# hwmod data
++obj-$(CONFIG_ARCH_OMAP2420)             += omap_hwmod_2420_data.o
++obj-$(CONFIG_ARCH_OMAP2430)             += omap_hwmod_2430_data.o
++obj-$(CONFIG_ARCH_OMAP3)                += omap_hwmod_3xxx_data.o
++
++# EMU peripherals
++obj-$(CONFIG_OMAP3_EMU)                       += emu.o
++
++iommu-y                                       += iommu2.o
++iommu-$(CONFIG_ARCH_OMAP3)            += omap3-iommu.o
++
++obj-$(CONFIG_OMAP_IOMMU)              += $(iommu-y)
++
++ifneq ($(CONFIG_MPU_BRIDGE),)
++obj-y                                 += dspbridge.o
++endif
++
++# Debobs
++obj-$(CONFIG_OMAP3_DEBOBS)    += debobs.o
++
++omap-ssi-$(CONFIG_OMAP_SSI)           := ssi.o
++obj-y                                 += $(omap-ssi-m) $(omap-ssi-y)
++
++# DSS
++omap-dss-$(CONFIG_OMAP2_DSS)          := dss.o
++obj-y                                 += $(omap-dss-m) $(omap-dss-y)
++
++# Specific board support
++obj-$(CONFIG_MACH_OMAP_GENERIC)               += board-generic.o
++obj-$(CONFIG_MACH_OMAP_H4)            += board-h4.o
++obj-$(CONFIG_MACH_OMAP_2430SDP)               += board-2430sdp.o \
++                                         hsmmc.o
++obj-$(CONFIG_MACH_OMAP_APOLLON)               += board-apollon.o
++obj-$(CONFIG_MACH_OMAP3_BEAGLE)               += board-omap3beagle.o \
++                                         hsmmc.o
++obj-$(CONFIG_MACH_OMAP_LDP)           += board-ldp.o \
++                                         hsmmc.o
++obj-$(CONFIG_MACH_OVERO)              += board-overo.o \
++                                         hsmmc.o
++obj-$(CONFIG_MACH_OMAP3EVM)           += board-omap3evm.o \
++                                         hsmmc.o
++obj-$(CONFIG_MACH_OMAP3_PANDORA)      += board-omap3pandora.o \
++                                         hsmmc.o
++obj-$(CONFIG_MACH_OMAP_3430SDP)               += board-3430sdp.o \
++                                         hsmmc.o \
++                                         twl4030.o
++obj-$(CONFIG_MACH_NOKIA_N8X0)         += board-n8x0.o
++obj-$(CONFIG_MACH_NOKIA_RX51)         += board-rx51.o \
++                                         sdram-nokia.o \
++                                         board-rx51-peripherals.o \
++                                         nokia-bootparams.o \
++                                         board-gpio-export.o \
++                                         hsmmc.o
++obj-$(CONFIG_MACH_NOKIA_RX71)         += board-rx71.o \
++                                         sdram-nokia.o \
++                                         board-rx71-peripherals.o \
++                                         board-omap-bt.o \
++                                         board-rx71-video.o \
++                                         nokia-bootparams.o \
++                                         board-gpio-export.o \
++                                         board-rx71-audio.o \
++                                         hsmmc.o \
++                                         nokia-twl4030.o \
++                                         twl4030.o \
++                                         atmel_mxt_config.o \
++                                         board-rx71-camera.o
++obj-$(CONFIG_MACH_NOKIA_RM680)                += board-rm680.o \
++                                         sdram-nokia.o \
++                                         board-rm680-peripherals.o \
++                                         board-omap-bt.o \
++                                         board-rm680-video.o \
++                                         nokia-bootparams.o \
++                                         board-gpio-export.o \
++                                         board-rm680-audio.o \
++                                         hsmmc.o \
++                                         nokia-twl4030.o \
++                                         twl4030.o \
++                                         atmel_mxt_config.o \
++                                         board-rm680-camera.o
++obj-$(CONFIG_MACH_NOKIA_RM696)                += board-rm696.o \
++                                         sdram-nokia.o \
++                                         board-rm696-peripherals.o \
++                                         board-omap-bt.o \
++                                         board-rm696-video.o \
++                                         nokia-bootparams.o \
++                                         board-gpio-export.o \
++                                         board-rm696-audio.o \
++                                         hsmmc.o \
++                                         twl4030.o \
++                                         board-rm696-camera.o
++obj-$(CONFIG_MACH_OMAP_ZOOM2)         += board-zoom2.o \
++                                         board-zoom-peripherals.o \
++                                         hsmmc.o \
++                                         board-zoom-debugboard.o
++obj-$(CONFIG_MACH_OMAP_ZOOM3)         += board-zoom3.o \
++                                         board-zoom-peripherals.o \
++                                         hsmmc.o \
++                                         board-zoom-debugboard.o
++obj-$(CONFIG_MACH_OMAP_3630SDP)               += board-3630sdp.o \
++                                         board-zoom-peripherals.o \
++                                         hsmmc.o \
++                                         twl4030.o
++obj-$(CONFIG_MACH_CM_T35)             += board-cm-t35.o \
++                                         hsmmc.o
++obj-$(CONFIG_MACH_IGEP0020)           += board-igep0020.o \
++                                         hsmmc.o
++
(21 more lines skipped)

++++++ 0105-Fix-for-new-assembler-build-problem.patch (new)
--- 0105-Fix-for-new-assembler-build-problem.patch
+++ 0105-Fix-for-new-assembler-build-problem.patch
@@ -0,0 +1,26 @@
+From 133e8cc42abdab63a7d0186cfd269a7171e4c5f0 Mon Sep 17 00:00:00 2001
+From: Markus Lehtonen <[email protected]>
+Date: Fri, 18 Nov 2011 15:44:39 +0200
+Subject: [PATCH 105/106] Fix for new assembler build problem
+
+Adopted from kernel-moslo package. Don't know original author of the
+patch.
+---
+ arch/arm/mach-omap2/Makefile |    4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
+index 6c2287b..d67bd8c 100644
+--- a/arch/arm/mach-omap2/Makefile
++++ b/arch/arm/mach-omap2/Makefile
+@@ -392,3 +392,7 @@ obj-y                                      += $(smc91x-m) 
$(smc91x-y)
+ # HS OMAP
+ obj-$(CONFIG_ARCH_OMAP3_HS)           += omap_hs.o
+ omap_hs-objs                          += hs.o sec_hal.o sec_hal_entry.o
++
++plus_sec                              := $(call as-instr,.arch_extension 
sec,+sec)
++AFLAGS_sec_hal_entry.o                        :=-Wa,-march=armv7-a$(plus_sec)
++
+-- 
+1.7.7
+

++++++ 0106-initramfs-hack-to-ignore-junk-data-in-decompression.patch (new)
--- 0106-initramfs-hack-to-ignore-junk-data-in-decompression.patch
+++ 0106-initramfs-hack-to-ignore-junk-data-in-decompression.patch
@@ -0,0 +1,59 @@
+From ae324d0baec49da5e244b920a258fcb9578d8650 Mon Sep 17 00:00:00 2001
+From: Markus Lehtonen <[email protected]>
+Date: Wed, 23 Nov 2011 21:57:05 +0200
+Subject: [PATCH 106/106] initramfs: hack to ignore junk data in decompression
+
+This ignores the possible junk data in the end of (compressed) initramfs
+image, if at least one archive has been successfully decompressed.
+
+Needed to be able to _load_ compressed cpio images to N950 with the Harmattan
+flasher.
+---
+ init/initramfs.c |   10 ++++++++++
+ 1 files changed, 10 insertions(+), 0 deletions(-)
+
+diff --git a/init/initramfs.c b/init/initramfs.c
+index 1fd59b8..253332a 100644
+--- a/init/initramfs.c
++++ b/init/initramfs.c
+@@ -417,6 +417,7 @@ static char * __init unpack_to_rootfs(char *buf, unsigned 
len)
+       decompress_fn decompress;
+       const char *compress_name;
+       static __initdata char msg_buf[64];
++      int num_archives;
+ 
+       header_buf = kmalloc(110, GFP_KERNEL);
+       symlink_buf = kmalloc(PATH_MAX + N_ALIGN(PATH_MAX) + 1, GFP_KERNEL);
+@@ -428,6 +429,7 @@ static char * __init unpack_to_rootfs(char *buf, unsigned 
len)
+       state = Start;
+       this_header = 0;
+       message = NULL;
++      num_archives = 0;
+       while (!message && len) {
+               loff_t saved_offset = this_header;
+               if (*buf == '0' && !(this_header & 3)) {
+@@ -455,6 +457,13 @@ static char * __init unpack_to_rootfs(char *buf, unsigned 
len)
+                                        compress_name);
+                               message = msg_buf;
+                       }
++              } else if (num_archives > 0) {
++                      printk(KERN_INFO "initramfs compression failed, but, we 
already " \
++                                       "decompressed (%i) archives - the 
remaining data " \
++                                       "(%u b) is probably just garbage given 
by the " \
++                                       "buggy bootloader, continuing with 
what we've got...\n",
++                       num_archives, len);
++                      my_inptr = len;
+               } else
+                       error("junk in compressed archive");
+               if (state != Reset)
+@@ -462,6 +471,7 @@ static char * __init unpack_to_rootfs(char *buf, unsigned 
len)
+               this_header = saved_offset + my_inptr;
+               buf += my_inptr;
+               len -= my_inptr;
++              num_archives++;
+       }
+       dir_utime();
+       kfree(name_buf);
+-- 
+1.7.7
+

++++++ kernel-adaptation-n950.config
--- kernel-adaptation-n950.config
+++ kernel-adaptation-n950.config
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.32.39
-# Tue Jun  7 15:41:37 2011
+# Sun Nov 20 13:26:02 2011
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -368,7 +368,8 @@
 CONFIG_ZBOOT_ROM_BSS=0x0
 CONFIG_CMDLINE="init=/sbin/preinit root=0xB302 rootfstype=ext4 rw 
console=ttyS0,115200n8 omap3_die_id"
 # CONFIG_XIP_KERNEL is not set
-# CONFIG_KEXEC is not set
+CONFIG_KEXEC=y
+CONFIG_ATAGS_PROC=y
 # CONFIG_CRASH_DUMP is not set
 
 #
@@ -2035,8 +2036,7 @@
 CONFIG_SECURITY_FILE_CAPABILITIES=y
 CONFIG_SECURITY_CREDENTIALS_POLICY=y
 # CONFIG_SECURITY_TOMOYO is not set
-CONFIG_SECURITY_AEGIS=n
-CONFIG_SECURITY_AEGIS_VALIDATOR=n
+# CONFIG_SECURITY_AEGIS is not set
 CONFIG_CRYPTO=y
 
 #

++++++ series
--- series
+++ series
@@ -104,3 +104,14 @@
 # Camera Meego adaptation additions
 backport_media_ioc_definitions.patch
 make-omap-iommu-build-in.patch
+
+# Kexec fixes
+0100-arm-Fix-cpu_proc_fin-for-proc-v7.S-and-make-kexec-wo.patch
+0101-arm-Fix-init_atags_procfs-to-check-tag-hdr.size.patch
+0102-ARM-Implement-cpu_v7_reset.patch
+0103-ARMv7-disable-L2-cache.patch
+0104-ARMv7-adds-sec-extensions-for-armv7.patch
+0105-Fix-for-new-assembler-build-problem.patch
+
+# Initramfs hack
+0106-initramfs-hack-to-ignore-junk-data-in-decompression.patch



Reply via email to