Merge remote-tracking branch 'lsk/v3.10/topic/arm64-misc' into linux-linaro-lsk
authorMark Brown <broonie@linaro.org>
Thu, 15 May 2014 19:29:29 +0000 (20:29 +0100)
committerMark Brown <broonie@linaro.org>
Thu, 15 May 2014 19:29:29 +0000 (20:29 +0100)
Conflicts:
Documentation/arm64/tagged-pointers.txt
arch/arm64/Kconfig
arch/arm64/boot/dts/Makefile
arch/arm64/include/asm/arch_timer.h
arch/arm64/include/asm/elf.h
arch/arm64/include/asm/spinlock.h
arch/arm64/kernel/smp.c

25 files changed:
1  2 
arch/arm/include/asm/elf.h
arch/arm/mm/init.c
arch/arm64/Kconfig
arch/arm64/Makefile
arch/arm64/boot/dts/Makefile
arch/arm64/configs/defconfig
arch/arm64/include/asm/cacheflush.h
arch/arm64/include/asm/cmpxchg.h
arch/arm64/include/asm/cputype.h
arch/arm64/include/asm/elf.h
arch/arm64/include/asm/hwcap.h
arch/arm64/include/asm/ptrace.h
arch/arm64/kernel/head.S
arch/arm64/kernel/kuser32.S
arch/arm64/kernel/process.c
arch/arm64/kernel/ptrace.c
arch/arm64/kernel/setup.c
arch/arm64/kernel/signal32.c
arch/arm64/kernel/smp.c
arch/arm64/kernel/vmlinux.lds.S
arch/arm64/mm/init.c
arch/arm64/mm/proc.S
arch/powerpc/kernel/prom.c
arch/xtensa/kernel/setup.c
drivers/of/fdt.c

Simple merge
Simple merge
index 5ee96e17c63c0865e04a29ad31caac4bad1f1725,dba7308041ad77ea2cf05c59d35c39494d8e55b8..73366a635c3b8cc5e8337294a238f88438d75435
@@@ -9,11 -8,10 +9,12 @@@ config ARM6
        select ARM_AMBA
        select ARM_ARCH_TIMER
        select ARM_GIC
+       select BUILDTIME_EXTABLE_SORT
        select CLONE_BACKWARDS
        select COMMON_CLK
 +      select CPU_PM if (SUSPEND || CPU_IDLE)
        select GENERIC_CLOCKEVENTS
 +      select GENERIC_CLOCKEVENTS_BROADCAST if SMP
        select GENERIC_IOMAP
        select GENERIC_IRQ_PROBE
        select GENERIC_IRQ_SHOW
@@@ -270,15 -151,9 +272,16 @@@ config NR_CPU
        int "Maximum number of CPUs (2-32)"
        range 2 32
        depends on SMP
-       default "4"
+       # These have to remain sorted largest to smallest
+       default "8"
  
 +config HOTPLUG_CPU
 +      bool "Support for hot-pluggable CPUs"
 +      depends on SMP
 +      help
 +        Say Y here to experiment with turning CPUs off and on.  CPUs
 +        can be controlled through /sys/devices/system/cpu.
 +
  source kernel/Kconfig.preempt
  
  config HZ
Simple merge
index 675be339c648b5365b163da18de5dc04d795ff18,c52bdb051f664b64568d4a9bfddca2c43b8aa7f0..ef388176116d2c7ea3cdc3f66fd6d63001f3f278
@@@ -1,6 -1,5 +1,7 @@@
 -dtb-$(CONFIG_ARCH_VEXPRESS) += rtsm_ve-aemv8a.dtb foundation-v8.dtb
 +dtb-$(CONFIG_ARCH_VEXPRESS) += rtsm_ve-aemv8a.dtb foundation-v8.dtb \
 +                              fvp-base-gicv2-psci.dtb
 +dtb-$(CONFIG_ARCH_VEXPRESS) += juno.dtb
+ dtb-$(CONFIG_ARCH_XGENE) += apm-mustang.dtb
  
  targets += dtbs
  targets += $(dtb-y)
Simple merge
Simple merge
Simple merge
Simple merge
index 212b0b615b4a55d5c92161615fea717167b7326c,e7fa87f9201b8f109d1a69bb8dc9c2376619d637..01d3aab64b79f3c13fdd602b9e8a16bf14a8fda8
@@@ -164,13 -149,7 +162,12 @@@ extern unsigned long arch_randomize_brk
  #define arch_randomize_brk arch_randomize_brk
  
  #ifdef CONFIG_COMPAT
- #define EM_ARM                                40
 +
 +#ifdef __AARCH64EB__
 +#define COMPAT_ELF_PLATFORM           ("v8b")
 +#else
  #define COMPAT_ELF_PLATFORM           ("v8l")
 +#endif
  
  #define COMPAT_ELF_ET_DYN_BASE                (randomize_et_dyn(2 * TASK_SIZE_32 / 3))
  
index 3a48433dfb570b5d61805de3acb6a36693a5683a,e2950b098e76f68803559ca264d7bed94ffa4789..6cddbb0c9f5459cff851101fd3010ad74882a1ef
   * instruction set this cpu supports.
   */
  #define ELF_HWCAP             (elf_hwcap)
 -#define COMPAT_ELF_HWCAP      (COMPAT_HWCAP_HALF|COMPAT_HWCAP_THUMB|\
 -                               COMPAT_HWCAP_FAST_MULT|COMPAT_HWCAP_EDSP|\
 -                               COMPAT_HWCAP_TLS|COMPAT_HWCAP_VFP|\
 -                               COMPAT_HWCAP_VFPv3|COMPAT_HWCAP_VFPv4|\
 -                               COMPAT_HWCAP_NEON|COMPAT_HWCAP_IDIV)
 +
 +#ifdef CONFIG_COMPAT
 +#define COMPAT_ELF_HWCAP      (compat_elf_hwcap)
 +extern unsigned int compat_elf_hwcap;
 +#endif
  
- extern unsigned int elf_hwcap;
+ extern unsigned long elf_hwcap;
  #endif
  #endif
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 7b881f0a9cd1e1d1d21e1388b4d73e20d6b516b2,40ae3ced37a12d018ad15f2f3cc69d85a6d4e589..8c7e81c0143faffe664c94b96c972f944641edd5
  unsigned int processor_id;
  EXPORT_SYMBOL(processor_id);
  
- unsigned int elf_hwcap __read_mostly;
+ unsigned long elf_hwcap __read_mostly;
  EXPORT_SYMBOL_GPL(elf_hwcap);
  
 +#ifdef CONFIG_COMPAT
 +#define COMPAT_ELF_HWCAP_DEFAULT      \
 +                              (COMPAT_HWCAP_HALF|COMPAT_HWCAP_THUMB|\
 +                               COMPAT_HWCAP_FAST_MULT|COMPAT_HWCAP_EDSP|\
 +                               COMPAT_HWCAP_TLS|COMPAT_HWCAP_VFP|\
 +                               COMPAT_HWCAP_VFPv3|COMPAT_HWCAP_VFPv4|\
 +                               COMPAT_HWCAP_NEON|COMPAT_HWCAP_IDIV)
 +unsigned int compat_elf_hwcap __read_mostly = COMPAT_ELF_HWCAP_DEFAULT;
 +#endif
 +
  static const char *cpu_name;
  static const char *machine_name;
  phys_addr_t __fdt_pointer __initdata;
Simple merge
index 4d101cbc0fee2ed86e6df1ad6fb558bf901db975,97eaf79319d5b53914853f4de57242a6e540cc4e..6b000121618997128608295ae569b2ab2e6b32a6
@@@ -152,16 -187,18 +152,16 @@@ asmlinkage void __cpuinit secondary_sta
        preempt_disable();
        trace_hardirqs_off();
  
 -      /*
 -       * Let the primary processor know we're out of the
 -       * pen, then head off into the C entry point
 -       */
 -      write_pen_release(INVALID_HWID);
 +      if (cpu_ops[cpu]->cpu_postboot)
 +              cpu_ops[cpu]->cpu_postboot();
  
-       smp_store_cpu_info(cpu);
        /*
 -       * Synchronise with the boot thread.
 +       * Enable GIC and timers.
         */
 -      raw_spin_lock(&boot_lock);
 -      raw_spin_unlock(&boot_lock);
 +      notify_cpu_starting(cpu);
 +
++      smp_store_cpu_info(cpu);
        /*
         * OK, now it's safe to let the boot CPU continue.  Wait for
         * the CPU migration code to notice that the CPU is online
        set_cpu_online(cpu, true);
        complete(&cpu_running);
  
 -      /*
 -       * Enable GIC and timers.
 -       */
 -      notify_cpu_starting(cpu);
 +      local_irq_enable();
 +      local_fiq_enable();
  
+       local_irq_enable();
+       local_fiq_enable();
        /*
         * OK, it's off to the idle thread for us
         */
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge