1. May 31, 2014
    • Lorenzo Pieralisi's avatar
      arm64: kernel: initialize broadcast hrtimer based clock event device · 9358d755
      Lorenzo Pieralisi authored
      
      
      On platforms implementing CPU power management, the CPUidle subsystem
      can allow CPUs to enter idle states where local timers logic is lost on power
      down. To keep the software timers functional the kernel relies on an
      always-on broadcast timer to be present in the platform to relay the
      interrupt signalling the timer expiries.
      
      For platforms implementing CPU core gating that do not implement an always-on
      HW timer or implement it in a broken way, this patch adds code to initialize
      the kernel hrtimer based clock event device upon boot (which can be chosen as
      tick broadcast device by the kernel).
      It relies on a dynamically chosen CPU to be always powered-up. This CPU then
      relays the timer interrupt to CPUs in deep-idle states through its HW local
      timer device.
      
      Having a CPU always-on has implications on power management platform
      capabilities and makes CPUidle suboptimal, since at least a CPU is kept
      always in a shallow idle state by the kernel to relay timer interrupts,
      but at least leaves the kernel with a functional system with some working
      power management capabilities.
      
      The hrtimer based clock event device is unconditionally registered, but
      has the lowest possible rating such that any broadcast-capable HW clock
      event device present will be chosen in preference as the tick broadcast
      device.
      
      Reviewed-by: default avatarPreeti U Murthy <preeti@linux.vnet.ibm.com>
      Acked-by: default avatarWill Deacon <will.deacon@arm.com>
      Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
      Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      9358d755
  2. May 29, 2014
  3. May 23, 2014
  4. May 22, 2014
  5. May 21, 2014
  6. May 17, 2014
  7. May 16, 2014
    • Catalin Marinas's avatar
      Revert "arm64: Introduce execute-only page access permissions" · 5a0fdfad
      Catalin Marinas authored
      This reverts commit bc07c2c6
      
      .
      
      While the aim is increased security for --x memory maps, it does not
      protect against kernel level reads. Until SECCOMP is implemented for
      arm64, revert this patch to avoid giving a false idea of execute-only
      mappings.
      
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      5a0fdfad
    • Catalin Marinas's avatar
      Merge tag 'for-3.16' of git://git.linaro.org/people/ard.biesheuvel/linux-arm into upstream · cf5c95db
      Catalin Marinas authored
      FPSIMD register bank context switching and crypto algorithms
      optimisations for arm64 from Ard Biesheuvel.
      
      * tag 'for-3.16' of git://git.linaro.org/people/ard.biesheuvel/linux-arm:
        arm64/crypto: AES-ECB/CBC/CTR/XTS using ARMv8 NEON and Crypto Extensions
        arm64: pull in <asm/simd.h> from asm-generic
        arm64/crypto: AES in CCM mode using ARMv8 Crypto Extensions
        arm64/crypto: AES using ARMv8 Crypto Extensions
        arm64/crypto: GHASH secure hash using ARMv8 Crypto Extensions
        arm64/crypto: SHA-224/SHA-256 using ARMv8 Crypto Extensions
        arm64/crypto: SHA-1 using ARMv8 Crypto Extensions
        arm64: add support for kernel mode NEON in interrupt context
        arm64: defer reloading a task's FPSIMD state to userland resume
        arm64: add abstractions for FPSIMD state manipulation
        asm-generic: allow generic unaligned access if the arch supports it
      
      Conflicts:
      	arch/arm64/include/asm/thread_info.h
      cf5c95db
  8. May 15, 2014
  9. May 12, 2014
  10. May 10, 2014
    • Linus Torvalds's avatar
      Linux 3.15-rc5 · d6d211db
      Linus Torvalds authored
      d6d211db
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 181da3c3
      Linus Torvalds authored
      Pull x86 fixes from Peter Anvin:
       "A somewhat unpleasantly large collection of small fixes.  The big ones
        are the __visible tree sweep and a fix for 'earlyprintk=efi,keep'.  It
        was using __init functions with predictably suboptimal results.
      
        Another key fix is a build fix which would produce output that simply
        would not decompress correctly in some configuration, due to the
        existing Makefiles picking up an unfortunate local label and mistaking
        it for the global symbol _end.
      
        Additional fixes include the handling of 64-bit numbers when setting
        the vdso data page (a latent bug which became manifest when i386
        started exporting a vdso with time functions), a fix to the new MSR
        manipulation accessors which would cause features to not get properly
        unblocked, a build fix for 32-bit userland, and a few new platform
        quirks"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, vdso, time: Cast tv_nsec to u64 for proper shifting in update_vsyscall()
        x86: Fix typo in MSR_IA32_MISC_ENABLE_LIMIT_CPUID macro
        x86: Fix typo preventing msr_set/clear_bit from having an effect
        x86/intel: Add quirk to disable HPET for the Baytrail platform
        x86/hpet: Make boot_hpet_disable extern
        x86-64, build: Fix stack protector Makefile breakage with 32-bit userland
        x86/reboot: Add reboot quirk for Certec BPC600
        asmlinkage: Add explicit __visible to drivers/*, lib/*, kernel/*
        asmlinkage, x86: Add explicit __visible to arch/x86/*
        asmlinkage: Revert "lto: Make asmlinkage __visible"
        x86, build: Don't get confused by local symbols
        x86/efi: earlyprintk=efi,keep fix
      181da3c3