16 Dec, 2015

1 commit


20 Nov, 2015

8 commits


25 Sep, 2015

2 commits


11 May, 2015

1 commit

  • Pull ARM fixes from Russell King:
    "A set of ARM fixes:

    - fix an off-by-one error in the iommu DMA ops, which caused errors
    with a 4GiB size.

    - remove comments mentioning the non-existent CONFIG_CPU_ARM1020_CPU_IDLE
    macro.

    - remove useless CONFIG_CPU_ICACHE_STREAMING_DISABLE blocks, where
    this symbol never appeared in any Kconfig.

    - fix Feroceon code to cope with a previous change correctly (it
    incorrectly left an additional word in an assembly structure
    definition)

    - avoid a misleading IRQ affinity warning in the ARM PMU code for
    IRQs which are already affine to their CPUs.

    - fix the node name printed in the IRQ affinity warning"

    * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
    ARM: 8352/1: perf: Fix the pmu node name in warning message
    ARM: 8351/1: perf: don't warn about missing interrupt-affinity property for PPIs
    ARM: 8350/1: proc-feroceon: Fix feroceon_proc_info macro
    ARM: 8349/1: arch/arm/mm/proc-arm925.S: remove dead #ifdef block
    ARM: 8348/1: remove comments on CPU_ARM1020_CPU_IDLE
    ARM: 8347/1: dma-mapping: fix off-by-one check in arm_setup_iommu_dma_ops

    Linus Torvalds
     

06 May, 2015

1 commit

  • Make sure that xen_swiotlb_init allocates buffers that are DMA capable
    when at least one memblock is available below 4G. Otherwise we assume
    that all devices on the SoC can cope with >4G addresses. We do this on
    ARM and ARM64, where dom0 is mapped 1:1, so pfn == mfn in this case.

    No functional changes on x86.

    From: Chen Baozi

    Signed-off-by: Chen Baozi
    Signed-off-by: Stefano Stabellini
    Tested-by: Chen Baozi
    Acked-by: Konrad Rzeszutek Wilk
    Signed-off-by: David Vrabel

    Stefano Stabellini
     

04 May, 2015

1 commit

  • Patch 22b3c181c6c324a46f71aae806d8ddbe61d25761 ("arm: dma-mapping: limit
    IOMMU mapping size") added a check for IO address space size. However
    this patch broke IOMMU initialization for typical platforms initialized
    from device tree, which get the default IO address space size of 4GiB.
    This value doesn't fit into size_t and fails a check introduced by that
    commit resulting in failed dma-mapping/iommu initialization. This patch
    fixes this issue by adding proper support for full 4GiB address space
    size.

    Signed-off-by: Marek Szyprowski
    Acked-by: Will Deacon
    Signed-off-by: Russell King

    Marek Szyprowski
     

27 Apr, 2015

1 commit

  • Pull second batch of KVM changes from Paolo Bonzini:
    "This mostly includes the PPC changes for 4.1, which this time cover
    Book3S HV only (debugging aids, minor performance improvements and
    some cleanups). But there are also bug fixes and small cleanups for
    ARM, x86 and s390.

    The task_migration_notifier revert and real fix is still pending
    review, but I'll send it as soon as possible after -rc1"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (29 commits)
    KVM: arm/arm64: check IRQ number on userland injection
    KVM: arm: irqfd: fix value returned by kvm_irq_map_gsi
    KVM: VMX: Preserve host CR4.MCE value while in guest mode.
    KVM: PPC: Book3S HV: Use msgsnd for signalling threads on POWER8
    KVM: PPC: Book3S HV: Translate kvmhv_commence_exit to C
    KVM: PPC: Book3S HV: Streamline guest entry and exit
    KVM: PPC: Book3S HV: Use bitmap of active threads rather than count
    KVM: PPC: Book3S HV: Use decrementer to wake napping threads
    KVM: PPC: Book3S HV: Don't wake thread with no vcpu on guest IPI
    KVM: PPC: Book3S HV: Get rid of vcore nap_count and n_woken
    KVM: PPC: Book3S HV: Move vcore preemption point up into kvmppc_run_vcpu
    KVM: PPC: Book3S HV: Minor cleanups
    KVM: PPC: Book3S HV: Simplify handling of VCPUs that need a VPA update
    KVM: PPC: Book3S HV: Accumulate timing information for real-mode code
    KVM: PPC: Book3S HV: Create debugfs file for each guest's HPT
    KVM: PPC: Book3S HV: Add ICP real mode counters
    KVM: PPC: Book3S HV: Move virtual mode ICP functions to real-mode
    KVM: PPC: Book3S HV: Convert ICS mutex lock to spin lock
    KVM: PPC: Book3S HV: Add guest->host real mode completion counters
    KVM: PPC: Book3S HV: Add helpers for lock/unlock hpte
    ...

    Linus Torvalds
     

23 Apr, 2015

3 commits

  • Pull ARM SoC driver updates from Olof Johansson:
    "Driver updates for v4.1. Some of these are for drivers/soc, where we
    find more and more SoC-specific drivers these days. Some are for
    other driver subsystems where we have received acks from the
    appropriate maintainers.

    The larger parts of this branch are:

    - MediaTek support for their PMIC wrapper interface, a high-level
    interface for talking to the system PMIC over a dedicated I2C
    interface.

    - Qualcomm SCM driver has been moved to drivers/firmware. It's used
    for CPU up/down and needs to be in a shared location for arm/arm64
    common code.

    - cleanup of ARM-CCI PMU code.

    - another set of cleanusp to the OMAP GPMC code"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits)
    soc/mediatek: Remove unused variables
    clocksource: atmel-st: select MFD_SYSCON
    soc: mediatek: Add PMIC wrapper for MT8135 and MT8173 SoCs
    arm-cci: Fix CCI PMU event validation
    arm-cci: Split the code for PMU vs driver support
    arm-cci: Get rid of secure transactions for PMU driver
    arm-cci: Abstract the CCI400 PMU specific definitions
    arm-cci: Rearrange code for splitting PMU vs driver code
    drivers: cci: reject groups spanning multiple HW PMUs
    ARM: at91: remove useless include
    clocksource: atmel-st: remove mach/hardware dependency
    clocksource: atmel-st: use syscon/regmap
    ARM: at91: time: move the system timer driver to drivers/clocksource
    ARM: at91: properly initialize timer
    ARM: at91: at91rm9200: remove deprecated arm_pm_restart
    watchdog: at91rm9200: implement restart handler
    watchdog: at91rm9200: use the system timer syscon
    mfd: syscon: Add atmel system timer registers definition
    ARM: at91/dt: declare atmel,at91rm9200-st as a syscon
    soc: qcom: gsbi: Add support for ADM CRCI muxing
    ...

    Linus Torvalds
     
  • Pull ARM SoC platform updates from Olof Johansson:
    "Our SoC branch usually contains expanded support for new SoCs and
    other core platform code. In this case, that includes:

    - support for the new Annapurna Labs "Alpine" platform

    - a rework greatly simplifying adding new platform support to the
    MCPM subsystem (Multi-cluster power management)

    - cpuidle and PM improvements for Exynos3250

    - misc updates for Renesas, OMAP, Meson, i.MX. Some of these could
    have gone in other branches but ended up here for various reasons"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (53 commits)
    ARM: alpine: add support for generic pci
    ARM: Exynos: migrate DCSCB to the new MCPM backend abstraction
    ARM: vexpress: migrate DCSCB to the new MCPM backend abstraction
    ARM: vexpress: DCSCB: tighten CPU validity assertion
    ARM: vexpress: migrate TC2 to the new MCPM backend abstraction
    ARM: MCPM: move the algorithmic complexity to the core code
    ARM: EXYNOS: allow cpuidle driver usage on Exynos3250 SoC
    ARM: EXYNOS: add AFTR mode support for Exynos3250
    ARM: EXYNOS: add code for setting/clearing boot flag
    ARM: EXYNOS: fix CPU1 hotplug on Exynos3250
    ARM: S3C64XX: Use fixed IRQ bases to avoid conflicts on Cragganmore
    ARM: cygnus: fix const declaration bcm_cygnus_dt_compat
    ARM: DRA7: hwmod: Fix the hwmod class for GPTimer4
    ARM: DRA7: hwmod: Add data for GPTimers 13 through 16
    ARM: EXYNOS: Remove left over 'extra_save'
    ARM: EXYNOS: Constify exynos_pm_data array
    ARM: EXYNOS: use static in suspend.c
    ARM: EXYNOS: Use platform device name as power domain name
    ARM: EXYNOS: add support for async-bridge clocks for pm_domains
    ARM: omap-device: add missed callback for suspend-to-disk
    ...

    Linus Torvalds
     
  • Pull ARM SoC cleanups from Olof Johansson:
    "We've got a fairly large cleanup branch this time. The bulk of this
    is removal of non-DT platforms of several flavors:

    - Atmel at91 platforms go full-DT, with removal of remaining
    board-file based support

    - OMAP removes legacy board files for three more platforms

    - removal of non-DT mach-msm, newer Qualcomm platforms now live in
    mach-qcom

    - Freescale i.MX25 also removes non-DT platform support"

    Most of the rest of the changes here are fallout from the above, i.e. for
    example removal of drivers that now lack platforms, etc.

    * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (58 commits)
    mmc: Remove msm_sdcc driver
    gpio: Remove gpio-msm-v1 driver
    ARM: Remove mach-msm and associated ARM architecture code
    ARM: shmobile: cpuidle: Remove the pointless default driver
    ARM: davinci: dm646x: Add interrupt resource for McASPs
    ARM: davinci: irqs: Correct McASP1 TX interrupt definition for DM646x
    ARM: davinci: dm646x: Clean up the McASP DMA resources
    ARM: davinci: devices-da8xx: Add support for McASP2 on da830
    ARM: davinci: devices-da8xx: Clean up and correct the McASP device creation
    ARM: davinci: devices-da8xx: Add interrupt resource to McASP structs
    ARM: davinci: devices-da8xx: Add resource name for the McASP DMA request
    ARM: OMAP2+: Remove legacy support for omap3 TouchBook
    ARM: OMAP3: Remove legacy support for devkit8000
    ARM: OMAP3: Remove legacy support for EMA-Tech Stalker board
    ARM: shmobile: Consolidate the pm code for R-Car Gen2
    ARM: shmobile: r8a7791: Correct SYSCIER value
    ARM: shmobile: r8a7790: Correct SYSCIER value
    ARM: at91: remove old setup
    ARM: at91: sama5d4: remove useless map_io
    ARM: at91: sama5 use SoC detection infrastructure
    ...

    Linus Torvalds
     

22 Apr, 2015

1 commit

  • When userland injects a SPI via the KVM_IRQ_LINE ioctl we currently
    only check it against a fixed limit, which historically is set
    to 127. With the new dynamic IRQ allocation the effective limit may
    actually be smaller (64).
    So when now a malicious or buggy userland injects a SPI in that
    range, we spill over on our VGIC bitmaps and bytemaps memory.
    I could trigger a host kernel NULL pointer dereference with current
    mainline by injecting some bogus IRQ number from a hacked kvmtool:
    -----------------
    ....
    DEBUG: kvm_vgic_inject_irq(kvm, cpu=0, irq=114, level=1)
    DEBUG: vgic_update_irq_pending(kvm, cpu=0, irq=114, level=1)
    DEBUG: IRQ #114 still in the game, writing to bytemap now...
    Unable to handle kernel NULL pointer dereference at virtual address 00000000
    pgd = ffffffc07652e000
    [00000000] *pgd=00000000f658b003, *pud=00000000f658b003, *pmd=0000000000000000
    Internal error: Oops: 96000006 [#1] PREEMPT SMP
    Modules linked in:
    CPU: 1 PID: 1053 Comm: lkvm-msi-irqinj Not tainted 4.0.0-rc7+ #3027
    Hardware name: FVP Base (DT)
    task: ffffffc0774e9680 ti: ffffffc0765a8000 task.ti: ffffffc0765a8000
    PC is at kvm_vgic_inject_irq+0x234/0x310
    LR is at kvm_vgic_inject_irq+0x30c/0x310
    pc : [] lr : [] pstate: 80000145
    .....

    So this patch fixes this by checking the SPI number against the
    actual limit. Also we remove the former legacy hard limit of
    127 in the ioctl code.

    Signed-off-by: Andre Przywara
    Reviewed-by: Christoffer Dall
    CC: # 4.0, 3.19, 3.18
    [maz: wrap KVM_ARM_IRQ_GIC_MAX with #ifndef __KERNEL__,
    as suggested by Christopher Covington]
    Signed-off-by: Marc Zyngier

    Andre Przywara
     

17 Apr, 2015

3 commits

  • Merge third patchbomb from Andrew Morton:

    - various misc things

    - a couple of lib/ optimisations

    - provide DIV_ROUND_CLOSEST_ULL()

    - checkpatch updates

    - rtc tree

    - befs, nilfs2, hfs, hfsplus, fatfs, adfs, affs, bfs

    - ptrace fixes

    - fork() fixes

    - seccomp cleanups

    - more mmap_sem hold time reductions from Davidlohr

    * emailed patches from Andrew Morton : (138 commits)
    proc: show locks in /proc/pid/fdinfo/X
    docs: add missing and new /proc/PID/status file entries, fix typos
    drivers/rtc/rtc-at91rm9200.c: make IO endian agnostic
    Documentation/spi/spidev_test.c: fix warning
    drivers/rtc/rtc-s5m.c: allow usage on device type different than main MFD type
    .gitignore: ignore *.tar
    MAINTAINERS: add Mediatek SoC mailing list
    tomoyo: reduce mmap_sem hold for mm->exe_file
    powerpc/oprofile: reduce mmap_sem hold for exe_file
    oprofile: reduce mmap_sem hold for mm->exe_file
    mips: ip32: add platform data hooks to use DS1685 driver
    lib/Kconfig: fix up HAVE_ARCH_BITREVERSE help text
    x86: switch to using asm-generic for seccomp.h
    sparc: switch to using asm-generic for seccomp.h
    powerpc: switch to using asm-generic for seccomp.h
    parisc: switch to using asm-generic for seccomp.h
    mips: switch to using asm-generic for seccomp.h
    microblaze: use asm-generic for seccomp.h
    arm: use asm-generic for seccomp.h
    seccomp: allow COMPAT sigreturn overrides
    ...

    Linus Torvalds
     
  • Switch to using the newly created asm-generic/seccomp.h for the seccomp
    strict mode syscall definitions. Definitions were identical.

    Signed-off-by: Kees Cook
    Cc: Russell King
    Cc: Laura Abbott
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kees Cook
     
  • Pull arm64 updates from Will Deacon:
    "Here are the core arm64 updates for 4.1.

    Highlights include a significant rework to head.S (allowing us to boot
    on machines with physical memory at a really high address), an AES
    performance boost on Cortex-A57 and the ability to run a 32-bit
    userspace with 64k pages (although this requires said userspace to be
    built with a recent binutils).

    The head.S rework spilt over into KVM, so there are some changes under
    arch/arm/ which have been acked by Marc Zyngier (KVM co-maintainer).
    In particular, the linker script changes caused us some issues in
    -next, so there are a few merge commits where we had to apply fixes on
    top of a stable branch.

    Other changes include:

    - AES performance boost for Cortex-A57
    - AArch32 (compat) userspace with 64k pages
    - Cortex-A53 erratum workaround for #845719
    - defconfig updates (new platforms, PCI, ...)"

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (39 commits)
    arm64: fix midr range for Cortex-A57 erratum 832075
    arm64: errata: add workaround for cortex-a53 erratum #845719
    arm64: Use bool function return values of true/false not 1/0
    arm64: defconfig: updates for 4.1
    arm64: Extract feature parsing code from cpu_errata.c
    arm64: alternative: Allow immediate branch as alternative instruction
    arm64: insn: Add aarch64_insn_decode_immediate
    ARM: kvm: round HYP section to page size instead of log2 upper bound
    ARM: kvm: assert on HYP section boundaries not actual code size
    arm64: head.S: ensure idmap_t0sz is visible
    arm64: pmu: add support for interrupt-affinity property
    dt: pmu: extend ARM PMU binding to allow for explicit interrupt affinity
    arm64: head.S: ensure visibility of page tables
    arm64: KVM: use ID map with increased VA range if required
    arm64: mm: increase VA range of identity map
    ARM: kvm: implement replacement for ld's LOG2CEIL()
    arm64: proc: remove unused cpu_get_pgd macro
    arm64: enforce x1|x2|x3 == 0 upon kernel entry as per boot protocol
    arm64: remove __calc_phys_offset
    arm64: merge __enable_mmu and __turn_mmu_on
    ...

    Linus Torvalds
     

16 Apr, 2015

2 commits

  • Pull exec domain removal from Richard Weinberger:
    "This series removes execution domain support from Linux.

    The idea behind exec domains was to support different ABIs. The
    feature was never complete nor stable. Let's rip it out and make the
    kernel signal handling code less complicated"

    * 'exec_domain_rip_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc: (27 commits)
    arm64: Removed unused variable
    sparc: Fix execution domain removal
    Remove rest of exec domains.
    arch: Remove exec_domain from remaining archs
    arc: Remove signal translation and exec_domain
    xtensa: Remove signal translation and exec_domain
    xtensa: Autogenerate offsets in struct thread_info
    x86: Remove signal translation and exec_domain
    unicore32: Remove signal translation and exec_domain
    um: Remove signal translation and exec_domain
    tile: Remove signal translation and exec_domain
    sparc: Remove signal translation and exec_domain
    sh: Remove signal translation and exec_domain
    s390: Remove signal translation and exec_domain
    mn10300: Remove signal translation and exec_domain
    microblaze: Remove signal translation and exec_domain
    m68k: Remove signal translation and exec_domain
    m32r: Remove signal translation and exec_domain
    m32r: Autogenerate offsets in struct thread_info
    frv: Remove signal translation and exec_domain
    ...

    Linus Torvalds
     
  • Pull crypto update from Herbert Xu:
    "Here is the crypto update for 4.1:

    New interfaces:
    - user-space interface for AEAD
    - user-space interface for RNG (i.e., pseudo RNG)

    New hashes:
    - ARMv8 SHA1/256
    - ARMv8 AES
    - ARMv8 GHASH
    - ARM assembler and NEON SHA256
    - MIPS OCTEON SHA1/256/512
    - MIPS img-hash SHA1/256 and MD5
    - Power 8 VMX AES/CBC/CTR/GHASH
    - PPC assembler AES, SHA1/256 and MD5
    - Broadcom IPROC RNG driver

    Cleanups/fixes:
    - prevent internal helper algos from being exposed to user-space
    - merge common code from assembly/C SHA implementations
    - misc fixes"

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (169 commits)
    crypto: arm - workaround for building with old binutils
    crypto: arm/sha256 - avoid sha256 code on ARMv7-M
    crypto: x86/sha512_ssse3 - move SHA-384/512 SSSE3 implementation to base layer
    crypto: x86/sha256_ssse3 - move SHA-224/256 SSSE3 implementation to base layer
    crypto: x86/sha1_ssse3 - move SHA-1 SSSE3 implementation to base layer
    crypto: arm64/sha2-ce - move SHA-224/256 ARMv8 implementation to base layer
    crypto: arm64/sha1-ce - move SHA-1 ARMv8 implementation to base layer
    crypto: arm/sha2-ce - move SHA-224/256 ARMv8 implementation to base layer
    crypto: arm/sha256 - move SHA-224/256 ASM/NEON implementation to base layer
    crypto: arm/sha1-ce - move SHA-1 ARMv8 implementation to base layer
    crypto: arm/sha1_neon - move SHA-1 NEON implementation to base layer
    crypto: arm/sha1 - move SHA-1 ARM asm implementation to base layer
    crypto: sha512-generic - move to generic glue implementation
    crypto: sha256-generic - move to generic glue implementation
    crypto: sha1-generic - move to generic glue implementation
    crypto: sha512 - implement base layer for SHA-512
    crypto: sha256 - implement base layer for SHA-256
    crypto: sha1 - implement base layer for SHA-1
    crypto: api - remove instance when test failed
    crypto: api - Move alg ref count init to crypto_check_alg
    ...

    Linus Torvalds
     

15 Apr, 2015

6 commits

  • Pull ARM updates from Russell King:
    "Included in this update are both some long term fixes and some new
    features.

    Fixes:

    - An integer overflow in the calculation of ELF_ET_DYN_BASE.

    - Avoiding OOMs for high-order IOMMU allocations

    - SMP requires the data cache to be enabled for synchronisation
    primitives to work, so prevent the CPU_DCACHE_DISABLE option being
    visible on SMP builds.

    - A bug going back 10+ years in the noMMU ARM94* CPU support code,
    where it corrupts registers. Found by folk getting Linux running
    on their cameras.

    - Versatile Express needs an errata workaround enabled for CPU
    hot-unplug to work.

    Features:

    - Clean up module linker by handling out of range relocations
    separately from relocation cases we don't handle.

    - Fix a long term bug in the pci_mmap_page_range() code, which we
    hope won't impact userspace (we hope there's no users of the
    existing broken interface.)

    - Don't map DMA coherent allocations when we don't have a MMU.

    - Drop experimental status for SMP_ON_UP.

    - Warn when DT doesn't specify ePAPR mandatory cache properties.

    - Add documentation concerning how we find the start of physical
    memory for AUTO_ZRELADDR kernels, detailing why we have chosen the
    mask and the implications of changing it.

    - Updates from Ard Biesheuvel to address some issues with large
    kernels (such as allyesconfig) failing to link.

    - Allow hibernation to work on modern (ARMv7) CPUs - this appears to
    have never worked in the past on these CPUs.

    - Enable IRQ_SHOW_LEVEL, which changes the /proc/interrupts output
    format (hopefully without userspace breaking... let's hope that if
    it causes someone a problem, they tell us.)

    - Fix tegra-ahb DT offsets.

    - Rework ARM errata 643719 code (and ARMv7 flush_cache_louis()/
    flush_dcache_all()) code to be more efficient, and enable this
    errata workaround by default for ARMv7+SMP CPUs. This complements
    the Versatile Express fix above.

    - Rework ARMv7 context code for errata 430973, so that only Cortex A8
    CPUs are impacted by the branch target buffer flush when this
    errata is enabled. Also update the help text to indicate that all
    r1p* A8 CPUs are impacted.

    - Switch ARM to the generic show_mem() implementation, it conveys all
    the information which we were already reporting.

    - Prevent slow timer sources being used for udelay() - timers running
    at less than 1MHz are not useful for this, and can cause udelay()
    to return immediately, without any wait. Using such a slow timer
    is silly.

    - VDSO support for 32-bit ARM, mainly for gettimeofday() using the
    ARM architected timer.

    - Perf support for Scorpion performance monitoring units"

    vdso semantic conflict fixed up as per linux-next.

    * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (52 commits)
    ARM: update errata 430973 documentation to cover Cortex A8 r1p*
    ARM: ensure delay timer has sufficient accuracy for delays
    ARM: switch to use the generic show_mem() implementation
    ARM: proc-v7: avoid errata 430973 workaround for non-Cortex A8 CPUs
    ARM: enable ARM errata 643719 workaround by default
    ARM: cache-v7: optimise test for Cortex A9 r0pX devices
    ARM: cache-v7: optimise branches in v7_flush_cache_louis
    ARM: cache-v7: consolidate initialisation of cache level index
    ARM: cache-v7: shift CLIDR to extract appropriate field before masking
    ARM: cache-v7: use movw/movt instructions
    ARM: allow 16-bit instructions in ALT_UP()
    ARM: proc-arm94*.S: fix setup function
    ARM: vexpress: fix CPU hotplug with CT9x4 tile.
    ARM: 8276/1: Make CPU_DCACHE_DISABLE depend on !SMP
    ARM: 8335/1: Documentation: DT bindings: Tegra AHB: document the legacy base address
    ARM: 8334/1: amba: tegra-ahb: detect and correct bogus base address
    ARM: 8333/1: amba: tegra-ahb: fix register offsets in the macros
    ARM: 8339/1: Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL
    ARM: 8338/1: kexec: Relax SMP validation to improve DT compatibility
    ARM: 8337/1: mm: Do not invoke OOM for higher order IOMMU DMA allocations
    ...

    Linus Torvalds
     
  • Pull power management and ACPI updates from Rafael Wysocki:
    "These are mostly fixes and cleanups all over, although there are a few
    items that sort of fall into the new feature category.

    First off, we have new callbacks for PM domains that should help us to
    handle some issues related to device initialization in a better way.

    There also is some consolidation in the unified device properties API
    area allowing us to use that inferface for accessing data coming from
    platform initialization code in addition to firmware-provided data.

    We have some new device/CPU IDs in a few drivers, support for new
    chips and a new cpufreq driver too.

    Specifics:

    - Generic PM domains support update including new PM domain callbacks
    to handle device initialization better (Russell King, Rafael J
    Wysocki, Kevin Hilman)

    - Unified device properties API update including a new mechanism for
    accessing data provided by platform initialization code (Rafael J
    Wysocki, Adrian Hunter)

    - ARM cpuidle update including ARM32/ARM64 handling consolidation
    (Daniel Lezcano)

    - intel_idle update including support for the Silvermont Core in the
    Baytrail SOC and for the Airmont Core in the Cherrytrail and
    Braswell SOCs (Len Brown, Mathias Krause)

    - New cpufreq driver for Hisilicon ACPU (Leo Yan)

    - intel_pstate update including support for the Knights Landing chip
    (Dasaratharaman Chandramouli, Kristen Carlson Accardi)

    - QorIQ cpufreq driver update (Tang Yuantian, Arnd Bergmann)

    - powernv cpufreq driver update (Shilpasri G Bhat)

    - devfreq update including Tegra support changes (Tomeu Vizoso,
    MyungJoo Ham, Chanwoo Choi)

    - powercap RAPL (Running-Average Power Limit) driver update including
    support for Intel Broadwell server chips (Jacob Pan, Mathias Krause)

    - ACPI device enumeration update related to the handling of the
    special PRP0001 device ID allowing DT-style 'compatible' property
    to be used for ACPI device identification (Rafael J Wysocki)

    - ACPI EC driver update including limited _DEP support (Lan Tianyu,
    Lv Zheng)

    - ACPI backlight driver update including a new mechanism to allow
    native backlight handling to be forced on non-Windows 8 systems and
    a new quirk for Lenovo Ideapad Z570 (Aaron Lu, Hans de Goede)

    - New Windows Vista compatibility quirk for Sony VGN-SR19XN (Chen Yu)

    - Assorted ACPI fixes and cleanups (Aaron Lu, Martin Kepplinger,
    Masanari Iida, Mika Westerberg, Nan Li, Rafael J Wysocki)

    - Fixes related to suspend-to-idle for the iTCO watchdog driver and
    the ACPI core system suspend/resume code (Rafael J Wysocki, Chen Yu)

    - PM tracing support for the suspend phase of system suspend/resume
    transitions (Zhonghui Fu)

    - Configurable delay for the system suspend/resume testing facility
    (Brian Norris)

    - PNP subsystem cleanups (Peter Huewe, Rafael J Wysocki)"

    * tag 'pm+acpi-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (74 commits)
    ACPI / scan: Fix NULL pointer dereference in acpi_companion_match()
    ACPI / scan: Rework modalias creation when "compatible" is present
    intel_idle: mark cpu id array as __initconst
    powercap / RAPL: mark rapl_ids array as __initconst
    powercap / RAPL: add ID for Broadwell server
    intel_pstate: Knights Landing support
    intel_pstate: remove MSR test
    cpufreq: fix qoriq uniprocessor build
    ACPI / scan: Take the PRP0001 position in the list of IDs into account
    ACPI / scan: Simplify acpi_match_device()
    ACPI / scan: Generalize of_compatible matching
    device property: Introduce firmware node type for platform data
    device property: Make it possible to use secondary firmware nodes
    PM / watchdog: iTCO: stop watchdog during system suspend
    cpufreq: hisilicon: add acpu driver
    ACPI / EC: Call acpi_walk_dep_device_list() after installing EC opregion handler
    cpufreq: powernv: Report cpu frequency throttling
    intel_idle: Add support for the Airmont Core in the Cherrytrail and Braswell SOCs
    intel_idle: Update support for Silvermont Core in Baytrail SOC
    PM / devfreq: tegra: Register governor on module init
    ...

    Linus Torvalds
     
  • The arch_randomize_brk() function is used on several architectures,
    even those that don't support ET_DYN ASLR. To avoid bulky extern/#define
    tricks, consolidate the support under CONFIG_ARCH_HAS_ELF_RANDOMIZE for
    the architectures that support it, while still handling CONFIG_COMPAT_BRK.

    Signed-off-by: Kees Cook
    Cc: Hector Marco-Gisbert
    Cc: Russell King
    Reviewed-by: Ingo Molnar
    Cc: Catalin Marinas
    Cc: Will Deacon
    Cc: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Michael Ellerman
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: Alexander Viro
    Cc: Oleg Nesterov
    Cc: Andy Lutomirski
    Cc: "David A. Long"
    Cc: Andrey Ryabinin
    Cc: Arun Chandran
    Cc: Yann Droneaud
    Cc: Min-Hua Chen
    Cc: Paul Burton
    Cc: Alex Smith
    Cc: Markos Chandras
    Cc: Vineeth Vijayan
    Cc: Jeff Bailey
    Cc: Michael Holzheu
    Cc: Ben Hutchings
    Cc: Behan Webster
    Cc: Ismael Ripoll
    Cc: Jan-Simon Mller
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kees Cook
     
  • Russell King
     
  • Conflicts:
    arch/arm/mm/proc-macros.S

    Russell King
     
  • Allow ALT_UP() to cope with a 16-bit Thumb instruction by automatically
    inserting a following nop instruction. This allows us to care less
    about getting the assembler to emit a 32-bit thumb instruction.

    Signed-off-by: Russell King

    Russell King
     

14 Apr, 2015

3 commits

  • Pull timer updates from Ingo Molnar:
    "The main changes in this cycle were:

    - clockevents state machine cleanups and enhancements (Viresh Kumar)

    - clockevents broadcast notifier horror to state machine conversion
    and related cleanups (Thomas Gleixner, Rafael J Wysocki)

    - clocksource and timekeeping core updates (John Stultz)

    - clocksource driver updates and fixes (Ben Dooks, Dmitry Osipenko,
    Hans de Goede, Laurent Pinchart, Maxime Ripard, Xunlei Pang)

    - y2038 fixes (Xunlei Pang, John Stultz)

    - NMI-safe ktime_get_raw_fast() and general refactoring of the clock
    code, in preparation to perf's per event clock ID support (Peter
    Zijlstra)

    - generic sched/clock fixes, optimizations and cleanups (Daniel
    Thompson)

    - clockevents cpu_down() race fix (Preeti U Murthy)"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (94 commits)
    timers/PM: Drop unnecessary braces from tick_freeze()
    timers/PM: Fix up tick_unfreeze()
    timekeeping: Get rid of stale comment
    clockevents: Cleanup dead cpu explicitely
    clockevents: Make tick handover explicit
    clockevents: Remove broadcast oneshot control leftovers
    sched/idle: Use explicit broadcast oneshot control function
    ARM: Tegra: Use explicit broadcast oneshot control function
    ARM: OMAP: Use explicit broadcast oneshot control function
    intel_idle: Use explicit broadcast oneshot control function
    ACPI/idle: Use explicit broadcast control function
    ACPI/PAD: Use explicit broadcast oneshot control function
    x86/amd/idle, clockevents: Use explicit broadcast oneshot control functions
    clockevents: Provide explicit broadcast oneshot control functions
    clockevents: Remove the broadcast control leftovers
    ARM: OMAP: Use explicit broadcast control function
    intel_idle: Use explicit broadcast control function
    cpuidle: Use explicit broadcast control function
    ACPI/processor: Use explicit broadcast control function
    ACPI/PAD: Use explicit broadcast control function
    ...

    Linus Torvalds
     
  • Pull core locking changes from Ingo Molnar:
    "Main changes:

    - jump label asm preparatory work for PowerPC (Anton Blanchard)

    - rwsem optimizations and cleanups (Davidlohr Bueso)

    - mutex optimizations and cleanups (Jason Low)

    - futex fix (Oleg Nesterov)

    - remove broken atomicity checks from {READ,WRITE}_ONCE() (Peter
    Zijlstra)"

    * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    powerpc, jump_label: Include linux/jump_label.h to get HAVE_JUMP_LABEL define
    jump_label: Allow jump labels to be used in assembly
    jump_label: Allow asm/jump_label.h to be included in assembly
    locking/mutex: Further simplify mutex_spin_on_owner()
    locking: Remove atomicy checks from {READ,WRITE}_ONCE
    locking/rtmutex: Rename argument in the rt_mutex_adjust_prio_chain() documentation as well
    locking/rwsem: Fix lock optimistic spinning when owner is not running
    locking: Remove ACCESS_ONCE() usage
    locking/rwsem: Check for active lock before bailing on spinning
    locking/rwsem: Avoid deceiving lock spinners
    locking/rwsem: Set lock ownership ASAP
    locking/rwsem: Document barrier need when waking tasks
    locking/futex: Check PF_KTHREAD rather than !p->mm to filter out kthreads
    locking/mutex: Refactor mutex_spin_on_owner()
    locking/mutex: In mutex_spin_on_owner(), return true when owner changes

    Linus Torvalds
     
  • Pull KVM updates from Paolo Bonzini:
    "First batch of KVM changes for 4.1

    The most interesting bit here is irqfd/ioeventfd support for ARM and
    ARM64.

    Summary:

    ARM/ARM64:
    fixes for live migration, irqfd and ioeventfd support (enabling
    vhost, too), page aging

    s390:
    interrupt handling rework, allowing to inject all local interrupts
    via new ioctl and to get/set the full local irq state for migration
    and introspection. New ioctls to access memory by virtual address,
    and to get/set the guest storage keys. SIMD support.

    MIPS:
    FPU and MIPS SIMD Architecture (MSA) support. Includes some
    patches from Ralf Baechle's MIPS tree.

    x86:
    bugfixes (notably for pvclock, the others are small) and cleanups.
    Another small latency improvement for the TSC deadline timer"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (146 commits)
    KVM: use slowpath for cross page cached accesses
    kvm: mmu: lazy collapse small sptes into large sptes
    KVM: x86: Clear CR2 on VCPU reset
    KVM: x86: DR0-DR3 are not clear on reset
    KVM: x86: BSP in MSR_IA32_APICBASE is writable
    KVM: x86: simplify kvm_apic_map
    KVM: x86: avoid logical_map when it is invalid
    KVM: x86: fix mixed APIC mode broadcast
    KVM: x86: use MDA for interrupt matching
    kvm/ppc/mpic: drop unused IRQ_testbit
    KVM: nVMX: remove unnecessary double caching of MAXPHYADDR
    KVM: nVMX: checks for address bits beyond MAXPHYADDR on VM-entry
    KVM: x86: cache maxphyaddr CPUID leaf in struct kvm_vcpu
    KVM: vmx: pass error code with internal error #2
    x86: vdso: fix pvclock races with task migration
    KVM: remove kvm_read_hva and kvm_read_hva_atomic
    KVM: x86: optimize delivery of TSC deadline timer interrupt
    KVM: x86: extract blocking logic from __vcpu_run
    kvm: x86: fix x86 eflags fixed bit
    KVM: s390: migrate vcpu interrupt state
    ...

    Linus Torvalds
     

13 Apr, 2015

1 commit


10 Apr, 2015

1 commit


09 Apr, 2015

1 commit

  • Wrap asm/jump_label.h for all archs with #ifndef __ASSEMBLY__.
    Since these are kernel only headers, we don't need #ifdef
    __KERNEL__ so can simplify things a bit.

    If an architecture wants to use jump labels in assembly, it
    will still need to define a macro to create the __jump_table
    entries (see ARCH_STATIC_BRANCH in the powerpc asm/jump_label.h
    for an example).

    Signed-off-by: Anton Blanchard
    Acked-by: Peter Zijlstra (Intel)
    Cc: Andrew Morton
    Cc: Linus Torvalds
    Cc: Paul E. McKenney
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: benh@kernel.crashing.org
    Cc: catalin.marinas@arm.com
    Cc: davem@davemloft.net
    Cc: heiko.carstens@de.ibm.com
    Cc: jbaron@akamai.com
    Cc: linux@arm.linux.org.uk
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: liuj97@gmail.com
    Cc: mgorman@suse.de
    Cc: mmarek@suse.cz
    Cc: mpe@ellerman.id.au
    Cc: paulus@samba.org
    Cc: ralf@linux-mips.org
    Cc: rostedt@goodmis.org
    Cc: schwidefsky@de.ibm.com
    Cc: will.deacon@arm.com
    Link: http://lkml.kernel.org/r/1428551492-21977-1-git-send-email-anton@samba.org
    Signed-off-by: Ingo Molnar

    Anton Blanchard
     

08 Apr, 2015

1 commit


04 Apr, 2015

2 commits

  • …t/galak/linux-qcom into next/cleanup

    Merge "qcom cleanup changes for 4.1" from Kumar Gala:

    General cleanups for MSM/QCOM for 4.1

    * Removal of mach-msm and associated drivers cleanups that have been
    ack'd by associated maintainers

    * tag 'qcom-cleanup-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom:
    mmc: Remove msm_sdcc driver
    gpio: Remove gpio-msm-v1 driver
    ARM: Remove mach-msm and associated ARM architecture code
    + Linux 4.0-rc3

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • All backends are reimplementing a variation of the same CPU reference
    count handling. They are also responsible for driving the MCPM special
    low-level locking. This is needless duplication, involving algorithmic
    requirements that are not necessarily obvious to the uninitiated.
    And from past code review experience, those were all initially
    implemented badly.

    After 3 years, it is time to refactor as much common code to the core
    MCPM facility to make the backends as simple as possible. To avoid a
    flag day, the new scheme is introduced in parallel to the existing
    backend interface. When all backends are converted over, the
    compatibility interface could be removed.

    The new MCPM backend interface implements simpler methods addressing
    very platform specific tasks performed under lock protection while
    keeping the algorithmic complexity and race avoidance local to the
    core code.

    Signed-off-by: Nicolas Pitre
    Tested-by: Daniel Lezcano
    Signed-off-by: Olof Johansson

    Nicolas Pitre
     

03 Apr, 2015

1 commit

  • As part of addressing "y2038 problem" for in-kernel uses, this
    patch converts read_boot_clock() to read_boot_clock64() and
    read_persistent_clock() to read_persistent_clock64() using
    timespec64 by converting clock_access_fn to use timespec64.

    Signed-off-by: Xunlei Pang
    Signed-off-by: John Stultz
    Acked-by: Thierry Reding (for tegra part)
    Cc: Russell King
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/1427945681-29972-7-git-send-email-john.stultz@linaro.org
    Signed-off-by: Ingo Molnar

    Xunlei Pang