1. 25 Jun, 2015 33 commits
  2. 24 Jun, 2015 7 commits
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · e3d8238d
      Linus Torvalds authored
      Pull arm64 updates from Catalin Marinas:
       "Mostly refactoring/clean-up:
      
         - CPU ops and PSCI (Power State Coordination Interface) refactoring
           following the merging of the arm64 ACPI support, together with
           handling of Trusted (secure) OS instances
      
         - Using fixmap for permanent FDT mapping, removing the initial dtb
           placement requirements (within 512MB from the start of the kernel
           image).  This required moving the FDT self reservation out of the
           memreserve processing
      
         - Idmap (1:1 mapping used for MMU on/off) handling clean-up
      
         - Removing flush_cache_all() - not safe on ARM unless the MMU is off.
           Last stages of CPU power down/up are handled by firmware already
      
         - "Alternatives" (run-time code patching) refactoring and support for
           immediate branch patching, GICv3 CPU interface access
      
         - User faults handling clean-up
      
        And some fixes:
      
         - Fix for VDSO building with broken ELF toolchains
      
         - Fix another case of init_mm.pgd usage for user mappings (during
           ASID roll-over broadcasting)
      
         - Fix for FPSIMD reloading after CPU hotplug
      
         - Fix for missing syscall trace exit
      
         - Workaround for .inst asm bug
      
         - Compat fix for switching the user tls tpidr_el0 register"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (42 commits)
        arm64: use private ratelimit state along with show_unhandled_signals
        arm64: show unhandled SP/PC alignment faults
        arm64: vdso: work-around broken ELF toolchains in Makefile
        arm64: kernel: rename __cpu_suspend to keep it aligned with arm
        arm64: compat: print compat_sp instead of sp
        arm64: mm: Fix freeing of the wrong memmap entries with !SPARSEMEM_VMEMMAP
        arm64: entry: fix context tracking for el0_sp_pc
        arm64: defconfig: enable memtest
        arm64: mm: remove reference to tlb.S from comment block
        arm64: Do not attempt to use init_mm in reset_context()
        arm64: KVM: Switch vgic save/restore to alternative_insn
        arm64: alternative: Introduce feature for GICv3 CPU interface
        arm64: psci: fix !CONFIG_HOTPLUG_CPU build warning
        arm64: fix bug for reloading FPSIMD state after CPU hotplug.
        arm64: kernel thread don't need to save fpsimd context.
        arm64: fix missing syscall trace exit
        arm64: alternative: Work around .inst assembler bugs
        arm64: alternative: Merge alternative-asm.h into alternative.h
        arm64: alternative: Allow immediate branch as alternative instruction
        arm64: Rework alternate sequence for ARM erratum 845719
        ...
      e3d8238d
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 4e241557
      Linus Torvalds authored
      Pull first batch of KVM updates from Paolo Bonzini:
       "The bulk of the changes here is for x86.  And for once it's not for
        silicon that no one owns: these are really new features for everyone.
      
        Details:
      
         - ARM:
              several features are in progress but missed the 4.2 deadline.
              So here is just a smattering of bug fixes, plus enabling the
              VFIO integration.
      
         - s390:
              Some fixes/refactorings/optimizations, plus support for 2GB
              pages.
      
         - x86:
              * host and guest support for marking kvmclock as a stable
                scheduler clock.
              * support for write combining.
              * support for system management mode, needed for secure boot in
                guests.
              * a bunch of cleanups required for the above
              * support for virtualized performance counters on AMD
              * legacy PCI device assignment is deprecated and defaults to "n"
                in Kconfig; VFIO replaces it
      
              On top of this there are also bug fixes and eager FPU context
              loading for FPU-heavy guests.
      
         - Common code:
              Support for multiple address spaces; for now it is used only for
              x86 SMM but the s390 folks also have plans"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (124 commits)
        KVM: s390: clear floating interrupt bitmap and parameters
        KVM: x86/vPMU: Enable PMU handling for AMD PERFCTRn and EVNTSELn MSRs
        KVM: x86/vPMU: Implement AMD vPMU code for KVM
        KVM: x86/vPMU: Define kvm_pmu_ops to support vPMU function dispatch
        KVM: x86/vPMU: introduce kvm_pmu_msr_idx_to_pmc
        KVM: x86/vPMU: reorder PMU functions
        KVM: x86/vPMU: whitespace and stylistic adjustments in PMU code
        KVM: x86/vPMU: use the new macros to go between PMC, PMU and VCPU
        KVM: x86/vPMU: introduce pmu.h header
        KVM: x86/vPMU: rename a few PMU functions
        KVM: MTRR: do not map huge page for non-consistent range
        KVM: MTRR: simplify kvm_mtrr_get_guest_memory_type
        KVM: MTRR: introduce mtrr_for_each_mem_type
        KVM: MTRR: introduce fixed_mtrr_addr_* functions
        KVM: MTRR: sort variable MTRRs
        KVM: MTRR: introduce var_mtrr_range
        KVM: MTRR: introduce fixed_mtrr_segment table
        KVM: MTRR: improve kvm_mtrr_get_guest_memory_type
        KVM: MTRR: do not split 64 bits MSR content
        KVM: MTRR: clean up mtrr default type
        ...
      4e241557
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux · 08d183e3
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
      
       - disable the 32-bit vdso when building LE, so we can build with a
         64-bit only toolchain.
      
       - EEH fixes from Gavin & Richard.
      
       - enable the sys_kcmp syscall from Laurent.
      
       - sysfs control for fastsleep workaround from Shreyas.
      
       - expose OPAL events as an irq chip by Alistair.
      
       - MSI ops moved to pci_controller_ops by Daniel.
      
       - fix for kernel to userspace backtraces for perf from Anton.
      
       - merge pseries and pseries_le defconfigs from Cyril.
      
       - CXL in-kernel API from Mikey.
      
       - OPAL prd driver from Jeremy.
      
       - fix for DSCR handling & tests from Anshuman.
      
       - Powernv flash mtd driver from Cyril.
      
       - dynamic DMA Window support on powernv from Alexey.
      
       - LLVM clang fixes & workarounds from Anton.
      
       - reworked version of the patch to abort syscalls when transactional.
      
       - fix the swap encoding to support 4TB, from Aneesh.
      
       - various fixes as usual.
      
       - Freescale updates from Scott: Highlights include more 8xx
         optimizations, an e6500 hugetlb optimization, QMan device tree nodes,
         t1024/t1023 support, and various fixes and cleanup.
      
      * tag 'powerpc-4.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: (180 commits)
        cxl: Fix typo in debug print
        cxl: Add CXL_KERNEL_API config option
        powerpc/powernv: Fix wrong IOMMU table in pnv_ioda_setup_bus_dma()
        powerpc/mm: Change the swap encoding in pte.
        powerpc/mm: PTE_RPN_MAX is not used, remove the same
        powerpc/tm: Abort syscalls in active transactions
        powerpc/iommu/ioda2: Enable compile with IOV=on and IOMMU_API=off
        powerpc/include: Add opal-prd to installed uapi headers
        powerpc/powernv: fix construction of opal PRD messages
        powerpc/powernv: Increase opal-irqchip initcall priority
        powerpc: Make doorbell check preemption safe
        powerpc/powernv: pnv_init_idle_states() should only run on powernv
        macintosh/nvram: Remove as unused
        powerpc: Don't use gcc specific options on clang
        powerpc: Don't use -mno-strict-align on clang
        powerpc: Only use -mtraceback=no, -mno-string and -msoft-float if toolchain supports it
        powerpc: Only use -mabi=altivec if toolchain supports it
        powerpc: Fix duplicate const clang warning in user access code
        vfio: powerpc/spapr: Support Dynamic DMA windows
        vfio: powerpc/spapr: Register memory and define IOMMU v2
        ...
      08d183e3
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 4b1f2af6
      Linus Torvalds authored
      Pull s390 updates from Martin Schwidefsky:
       "Pretty boring for a merge window pull.
      
        One change in behaviour is the patch for dasd driver, the module which
        provides the diagnose discipline is now loaded automatically.
      
        The SCLP code got a nice cleanup, a new global structure replaces a
        bunch of accessor functions.
      
        And a couple of random, small improvements"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/pci: improve handling of hotplug event 0x301
        s390/setup: fix DMA_API_DEBUG warnings
        s390/zcrypt: remove obsolete __constant
        s390/keyboard: avoid off-by-one when using strnlen_user()
        s390/sclp: pass timeout as HZ independent value
        s390/mm: s/specifiation/specification/, s/an specification/a specification/
        s390/sclp: Use DECLARE_BITMAP
        s390/dasd: Enable automatic loading of dasd_diag_mod
        s390/sclp: move sclp_facilities into "struct sclp"
        s390/sclp: get rid of sclp_get_mtid() and sclp_get_mtid_max()
        s390/sclp: unify basic sclp access by exposing "struct sclp"
        s390/sclp: prepare smp_fill_possible_mask for global "struct sclp"
      4b1f2af6
    • Linus Torvalds's avatar
      Merge tag 'microblaze-4.2-rc1' of git://git.monstr.eu/linux-2.6-microblaze · aaa64485
      Linus Torvalds authored
      Pull Microblaze updates from Michal Simek:
      
       - some PCI fixups
      
       - add new MB versions
      
       - sparse fixups
      
      * tag 'microblaze-4.2-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze/PCI: Remove unnecessary struct pci_dev declaration
        microblaze/PCI: Remove unnecessary pci_bus_find_capability() declaration
        microblaze/PCI: Remove unused declarations
        microblaze: Label local function static
        microblaze: Add missing release version code
      aaa64485
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 6eae81a5
      Linus Torvalds authored
      Pull IOMMU updates from Joerg Roedel:
       "This time with bigger changes than usual:
      
         - A new IOMMU driver for the ARM SMMUv3.
      
           This IOMMU is pretty different from SMMUv1 and v2 in that it is
           configured through in-memory structures and not through the MMIO
           register region.  The ARM SMMUv3 also supports IO demand paging for
           PCI devices with PRI/PASID capabilities, but this is not
           implemented in the driver yet.
      
         - Lots of cleanups and device-tree support for the Exynos IOMMU
           driver.  This is part of the effort to bring Exynos DRM support
           upstream.
      
         - Introduction of default domains into the IOMMU core code.
      
           The rationale behind this is to move functionalily out of the IOMMU
           drivers to common code to get to a unified behavior between
           different drivers.  The patches here introduce a default domain for
           iommu-groups (isolation groups).
      
           A device will now always be attached to a domain, either the
           default domain or another domain handled by the device driver.  The
           IOMMU drivers have to be modified to make use of that feature.  So
           long the AMD IOMMU driver is converted, with others to follow.
      
         - Patches for the Intel VT-d drvier to fix DMAR faults that happen
           when a kdump kernel boots.
      
           When the kdump kernel boots it re-initializes the IOMMU hardware,
           which destroys all mappings from the crashed kernel.  As this
           happens before the endpoint devices are re-initialized, any
           in-flight DMA causes a DMAR fault.  These faults cause PCI master
           aborts, which some devices can't handle properly and go into an
           undefined state, so that the device driver in the kdump kernel
           fails to initialize them and the dump fails.
      
           This is now fixed by copying over the mapping structures (only
           context tables and interrupt remapping tables) from the old kernel
           and keep the old mappings in place until the device driver of the
           new kernel takes over.  This emulates the the behavior without an
           IOMMU to the best degree possible.
      
         - A couple of other small fixes and cleanups"
      
      * tag 'iommu-updates-v4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (69 commits)
        iommu/amd: Handle large pages correctly in free_pagetable
        iommu/vt-d: Don't disable IR when it was previously enabled
        iommu/vt-d: Make sure copied over IR entries are not reused
        iommu/vt-d: Copy IR table from old kernel when in kdump mode
        iommu/vt-d: Set IRTA in intel_setup_irq_remapping
        iommu/vt-d: Disable IRQ remapping in intel_prepare_irq_remapping
        iommu/vt-d: Move QI initializationt to intel_setup_irq_remapping
        iommu/vt-d: Move EIM detection to intel_prepare_irq_remapping
        iommu/vt-d: Enable Translation only if it was previously disabled
        iommu/vt-d: Don't disable translation prior to OS handover
        iommu/vt-d: Don't copy translation tables if RTT bit needs to be changed
        iommu/vt-d: Don't do early domain assignment if kdump kernel
        iommu/vt-d: Allocate si_domain in init_dmars()
        iommu/vt-d: Mark copied context entries
        iommu/vt-d: Do not re-use domain-ids from the old kernel
        iommu/vt-d: Copy translation tables from old kernel
        iommu/vt-d: Detect pre enabled translation
        iommu/vt-d: Make root entry visible for hardware right after allocation
        iommu/vt-d: Init QI before root entry is allocated
        iommu/vt-d: Cleanup log messages
        ...
      6eae81a5
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20150623' of git://git.infradead.org/linux-mtd · 54245ed8
      Linus Torvalds authored
      Pull MTD updates from Brian Norris:
       "JFFS2:
         - fix a theoretical unbalanced locking issue; the lock handling was a
           bit unclean, but AFAICT, it didn't actually lead to real deadlocks
      
        NAND:
         - brcmnand driver: new driver supporting NAND controller found
           originally on Broadcom STB SoCs (BCM7xxx), but now also found on
           BCM63xxx, iProc (e.g., Cygnus, BCM5301x), BCM3xxx, and more
      
         - begin factoring out BBT code so it can be shared between
           traditional (parallel) NAND drivers and upcoming SPI NAND drivers
           (WIP)
      
         - add common DT-based init support, so nand_base can pick up some
           flash properties automatically, using established common NAND DT
           properties
      
         - mxc_nand: support 8-bit ECC
      
         - pxa3xx_nand:
           * fix build for ARM64
           * use a jiffies-based timeout
      
        SPI NOR:
         - add a few new IDs
      
         - clear out some unnecessary entries
      
         - make sure SECT_4K flags are correct for all (?) entries
      
        Core:
         - fix mtd->usecount race conditions (BUG_ON())
      
         - switch to modern PM ops
      
        Other:
         - CFI: save code space by de-inlining large functions
      
         - clean up some partition parser selection code across several
           drivers
      
         - various miscellaneous changes, mostly minor"
      
      * tag 'for-linus-20150623' of git://git.infradead.org/linux-mtd: (57 commits)
        mtd: docg3: Fix kasprintf() usage
        mtd: docg3: Don't leak docg3->bbt in error path
        mtd: nandsim: Fix kasprintf() usage
        mtd: cs553x_nand: Fix kasprintf() usage
        mtd: r852: Fix device_create_file() usage
        mtd: brcmnand: drop unnecessary initialization
        mtd: propagate error codes from add_mtd_device()
        mtd: diskonchip: remove two-phase partitioning / registration
        mtd: dc21285: use raw spinlock functions for nw_gpio_lock
        mtd: chips: fixup dependencies, to prevent build error
        mtd: cfi_cmdset_0002: Initialize datum before calling map_word_load_partial
        mtd: cfi: deinline large functions
        mtd: lantiq-flash: use default partition parsers
        mtd: plat_nand: use default partition probe
        mtd: nand: correct indentation within conditional
        mtd: remove incorrect file name
        mtd: blktrans: use better error code for unimplemented ioctl()
        mtd: maps: Spelling s/reseved/reserved/
        mtd: blktrans: change blktrans_getgeo return value
        mtd: mxc_nand: generate nand_ecclayout for 8 bit ECC
        ...
      54245ed8