1. 05 8月, 2014 23 次提交
    • P
      KVM: Give IRQFD its own separate enabling Kconfig option · 297e2105
      Paul Mackerras 提交于
      Currently, the IRQFD code is conditional on CONFIG_HAVE_KVM_IRQ_ROUTING.
      So that we can have the IRQFD code compiled in without having the
      IRQ routing code, this creates a new CONFIG_HAVE_KVM_IRQFD, makes
      the IRQFD code conditional on it instead of CONFIG_HAVE_KVM_IRQ_ROUTING,
      and makes all the platforms that currently select HAVE_KVM_IRQ_ROUTING
      also select HAVE_KVM_IRQFD.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Tested-by: NEric Auger <eric.auger@linaro.org>
      Tested-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      297e2105
    • P
      KVM: Move irq notifier implementation into eventfd.c · e4d57e1e
      Paul Mackerras 提交于
      This moves the functions kvm_irq_has_notifier(), kvm_notify_acked_irq(),
      kvm_register_irq_ack_notifier() and kvm_unregister_irq_ack_notifier()
      from irqchip.c to eventfd.c.  The reason for doing this is that those
      functions are used in connection with IRQFDs, which are implemented in
      eventfd.c.  In future we will want to use IRQFDs on platforms that
      don't implement the GSI routing implemented in irqchip.c, so we won't
      be compiling in irqchip.c, but we still need the irq notifiers.  The
      implementation is unchanged.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Tested-by: NEric Auger <eric.auger@linaro.org>
      Tested-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      e4d57e1e
    • P
      KVM: Move all accesses to kvm::irq_routing into irqchip.c · 9957c86d
      Paul Mackerras 提交于
      Now that struct _irqfd does not keep a reference to storage pointed
      to by the irq_routing field of struct kvm, we can move the statement
      that updates it out from under the irqfds.lock and put it in
      kvm_set_irq_routing() instead.  That means we then have to take a
      srcu_read_lock on kvm->irq_srcu around the irqfd_update call in
      kvm_irqfd_assign(), since holding the kvm->irqfds.lock no longer
      ensures that that the routing can't change.
      
      Combined with changing kvm_irq_map_gsi() and kvm_irq_map_chip_pin()
      to take a struct kvm * argument instead of the pointer to the routing
      table, this allows us to to move all references to kvm->irq_routing
      into irqchip.c.  That in turn allows us to move the definition of the
      kvm_irq_routing_table struct into irqchip.c as well.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Tested-by: NEric Auger <eric.auger@linaro.org>
      Tested-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      9957c86d
    • P
      KVM: irqchip: Provide and use accessors for irq routing table · 8ba918d4
      Paul Mackerras 提交于
      This provides accessor functions for the KVM interrupt mappings, in
      order to reduce the amount of code that accesses the fields of the
      kvm_irq_routing_table struct, and restrict that code to one file,
      virt/kvm/irqchip.c.  The new functions are kvm_irq_map_gsi(), which
      maps from a global interrupt number to a set of IRQ routing entries,
      and kvm_irq_map_chip_pin, which maps from IRQ chip and pin numbers to
      a global interrupt number.
      
      This also moves the update of kvm_irq_routing_table::chip[][]
      into irqchip.c, out of the various kvm_set_routing_entry
      implementations.  That means that none of the kvm_set_routing_entry
      implementations need the kvm_irq_routing_table argument anymore,
      so this removes it.
      
      This does not change any locking or data lifetime rules.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Tested-by: NEric Auger <eric.auger@linaro.org>
      Tested-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      8ba918d4
    • P
      KVM: Don't keep reference to irq routing table in irqfd struct · 56f89f36
      Paul Mackerras 提交于
      This makes the irqfd code keep a copy of the irq routing table entry
      for each irqfd, rather than a reference to the copy in the actual
      irq routing table maintained in kvm/virt/irqchip.c.  This will enable
      us to change the routing table structure in future, or even not have a
      routing table at all on some platforms.
      
      The synchronization that was previously achieved using srcu_dereference
      on the read side is now achieved using a seqcount_t structure.  That
      ensures that we don't get a halfway-updated copy of the structure if
      we read it while another thread is updating it.
      
      We still use srcu_read_lock/unlock around the read side so that when
      changing the routing table we can be sure that after calling
      synchronize_srcu, nothing will be using the old routing.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Tested-by: NEric Auger <eric.auger@linaro.org>
      Tested-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      56f89f36
    • P
      KVM: PPC: drop duplicate tracepoint · 478d6686
      Paolo Bonzini 提交于
      Commit 29577fc0 ("KVM: PPC: HV: Remove generic instruction emulation")
      caused a build failure with allyesconfig:
      
      arch/powerpc/kvm/kvm-pr.o:(__tracepoints+0xa8): multiple definition of `__tracepoint_kvm_ppc_instr'
      arch/powerpc/kvm/kvm.o:(__tracepoints+0x1c0): first defined here
      
      due to a duplicate definition of the tracepoint in trace.h and
      trace_pr.h.  Because the tracepoint is still used by Book3S HV
      code, and because the PR code does include trace.h, just remove
      the duplicate definition from trace_pr.h, and export it from
      kvm.o.
      Reported-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      478d6686
    • P
      Merge tag 'signed-kvm-ppc-next' of git://github.com/agraf/linux-2.6 into kvm · cc568ead
      Paolo Bonzini 提交于
      Patch queue for ppc - 2014-08-01
      
      Highlights in this release include:
      
        - BookE: Rework instruction fetch, not racy anymore now
        - BookE HV: Fix ONE_REG accessors for some in-hardware registers
        - Book3S: Good number of LE host fixes, enable HV on LE
        - Book3S: Some misc bug fixes
        - Book3S HV: Add in-guest debug support
        - Book3S HV: Preload cache lines on context switch
        - Remove 440 support
      
      Alexander Graf (31):
            KVM: PPC: Book3s PR: Disable AIL mode with OPAL
            KVM: PPC: Book3s HV: Fix tlbie compile error
            KVM: PPC: Book3S PR: Handle hyp doorbell exits
            KVM: PPC: Book3S PR: Fix ABIv2 on LE
            KVM: PPC: Book3S PR: Fix sparse endian checks
            PPC: Add asm helpers for BE 32bit load/store
            KVM: PPC: Book3S HV: Make HTAB code LE host aware
            KVM: PPC: Book3S HV: Access guest VPA in BE
            KVM: PPC: Book3S HV: Access host lppaca and shadow slb in BE
            KVM: PPC: Book3S HV: Access XICS in BE
            KVM: PPC: Book3S HV: Fix ABIv2 on LE
            KVM: PPC: Book3S HV: Enable for little endian hosts
            KVM: PPC: Book3S: Move vcore definition to end of kvm_arch struct
            KVM: PPC: Deflect page write faults properly in kvmppc_st
            KVM: PPC: Book3S: Stop PTE lookup on write errors
            KVM: PPC: Book3S: Add hack for split real mode
            KVM: PPC: Book3S: Make magic page properly 4k mappable
            KVM: PPC: Remove 440 support
            KVM: Rename and add argument to check_extension
            KVM: Allow KVM_CHECK_EXTENSION on the vm fd
            KVM: PPC: Book3S: Provide different CAPs based on HV or PR mode
            KVM: PPC: Implement kvmppc_xlate for all targets
            KVM: PPC: Move kvmppc_ld/st to common code
            KVM: PPC: Remove kvmppc_bad_hva()
            KVM: PPC: Use kvm_read_guest in kvmppc_ld
            KVM: PPC: Handle magic page in kvmppc_ld/st
            KVM: PPC: Separate loadstore emulation from priv emulation
            KVM: PPC: Expose helper functions for data/inst faults
            KVM: PPC: Remove DCR handling
            KVM: PPC: HV: Remove generic instruction emulation
            KVM: PPC: PR: Handle FSCR feature deselects
      
      Alexey Kardashevskiy (1):
            KVM: PPC: Book3S: Fix LPCR one_reg interface
      
      Aneesh Kumar K.V (4):
            KVM: PPC: BOOK3S: PR: Fix PURR and SPURR emulation
            KVM: PPC: BOOK3S: PR: Emulate virtual timebase register
            KVM: PPC: BOOK3S: PR: Emulate instruction counter
            KVM: PPC: BOOK3S: HV: Update compute_tlbie_rb to handle 16MB base page
      
      Anton Blanchard (2):
            KVM: PPC: Book3S HV: Fix ABIv2 indirect branch issue
            KVM: PPC: Assembly functions exported to modules need _GLOBAL_TOC()
      
      Bharat Bhushan (10):
            kvm: ppc: bookehv: Added wrapper macros for shadow registers
            kvm: ppc: booke: Use the shared struct helpers of SRR0 and SRR1
            kvm: ppc: booke: Use the shared struct helpers of SPRN_DEAR
            kvm: ppc: booke: Add shared struct helpers of SPRN_ESR
            kvm: ppc: booke: Use the shared struct helpers for SPRN_SPRG0-7
            kvm: ppc: Add SPRN_EPR get helper function
            kvm: ppc: bookehv: Save restore SPRN_SPRG9 on guest entry exit
            KVM: PPC: Booke-hv: Add one reg interface for SPRG9
            KVM: PPC: Remove comment saying SPRG1 is used for vcpu pointer
            KVM: PPC: BOOKEHV: rename e500hv_spr to bookehv_spr
      
      Michael Neuling (1):
            KVM: PPC: Book3S HV: Add H_SET_MODE hcall handling
      
      Mihai Caraman (8):
            KVM: PPC: e500mc: Enhance tlb invalidation condition on vcpu schedule
            KVM: PPC: e500: Fix default tlb for victim hint
            KVM: PPC: e500: Emulate power management control SPR
            KVM: PPC: e500mc: Revert "add load inst fixup"
            KVM: PPC: Book3e: Add TLBSEL/TSIZE defines for MAS0/1
            KVM: PPC: Book3s: Remove kvmppc_read_inst() function
            KVM: PPC: Allow kvmppc_get_last_inst() to fail
            KVM: PPC: Bookehv: Get vcpu's last instruction for emulation
      
      Paul Mackerras (4):
            KVM: PPC: Book3S: Controls for in-kernel sPAPR hypercall handling
            KVM: PPC: Book3S: Allow only implemented hcalls to be enabled or disabled
            KVM: PPC: Book3S PR: Take SRCU read lock around RTAS kvm_read_guest() call
            KVM: PPC: Book3S: Make kvmppc_ld return a more accurate error indication
      
      Stewart Smith (2):
            Split out struct kvmppc_vcore creation to separate function
            Use the POWER8 Micro Partition Prefetch Engine in KVM HV on POWER8
      
      Conflicts:
      	Documentation/virtual/kvm/api.txt
      cc568ead
    • P
      Merge tag 'kvm-arm-for-3.17' of... · 5d576866
      Paolo Bonzini 提交于
      Merge tag 'kvm-arm-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm
      
      KVM/ARM New features for 3.17 include:
       - Fixes and code refactoring for stage2 kvm MMU unmap_range
       - Support unmapping IPAs on deleting memslots for arm and arm64
       - Support MMIO mappings in stage2 faults
       - KVM VGIC v2 emulation on GICv3 hardware
       - Big-Endian support for arm/arm64 (guest and host)
       - Debug Architecture support for arm64 (arm32 is on Christoffer's todo list)
      
      Conflicts:
      	virt/kvm/arm/vgic.c [last minute cherry-pick from 3.17 to 3.16]
      5d576866
    • L
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 5167d09f
      Linus Torvalds 提交于
      Pull arm64 updates from Will Deacon:
       "Once again, Catalin's off on holiday and I'm looking after the arm64
        tree.  Please can you pull the following arm64 updates for 3.17?
      
        Note that this branch also includes the new GICv3 driver (merged via a
        stable tag from Jason's irqchip tree), since there is a fix for older
        binutils on top.
      
        Changes include:
         - context tracking support (NO_HZ_FULL) which narrowly missed 3.16
         - vDSO layout rework following Andy's work on x86
         - TEXT_OFFSET fuzzing for bootloader testing
         - /proc/cpuinfo tidy-up
         - preliminary work to support 48-bit virtual addresses, but this is
           currently disabled until KVM has been ported to use it (the patches
           do, however, bring some nice clean-up)
         - boot-time CPU sanity checks (especially useful on heterogenous
           systems)
         - support for syscall auditing
         - support for CC_STACKPROTECTOR
         - defconfig updates"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (55 commits)
        arm64: add newline to I-cache policy string
        Revert "arm64: dmi: Add SMBIOS/DMI support"
        arm64: fpsimd: fix a typo in fpsimd_save_partial_state ENDPROC
        arm64: don't call break hooks for BRK exceptions from EL0
        arm64: defconfig: enable devtmpfs mount option
        arm64: vdso: fix build error when switching from LE to BE
        arm64: defconfig: add virtio support for running as a kvm guest
        arm64: gicv3: Allow GICv3 compilation with older binutils
        arm64: fix soft lockup due to large tlb flush range
        arm64/crypto: fix makefile rule for aes-glue-%.o
        arm64: Do not invoke audit_syscall_* functions if !CONFIG_AUDIT_SYSCALL
        arm64: Fix barriers used for page table modifications
        arm64: Add support for 48-bit VA space with 64KB page configuration
        arm64: asm/pgtable.h pmd/pud definitions clean-up
        arm64: Determine the vmalloc/vmemmap space at build time based on VA_BITS
        arm64: Clean up the initial page table creation in head.S
        arm64: Remove asm/pgtable-*level-types.h files
        arm64: Remove asm/pgtable-*level-hwdef.h files
        arm64: Convert bool ARM64_x_LEVELS to int ARM64_PGTABLE_LEVELS
        arm64: mm: Implement 4 levels of translation tables
        ...
      5167d09f
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 8533ce72
      Linus Torvalds 提交于
      Pull KVM changes from Paolo Bonzini:
       "These are the x86, MIPS and s390 changes; PPC and ARM will come in a
        few days.
      
        MIPS and s390 have little going on this release; just bugfixes, some
        small, some larger.
      
        The highlights for x86 are nested VMX improvements (Jan Kiszka),
        optimizations for old processor (up to Nehalem, by me and Bandan Das),
        and a lot of x86 emulator bugfixes (Nadav Amit).
      
        Stephen Rothwell reported a trivial conflict with the tracing branch"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (104 commits)
        x86/kvm: Resolve shadow warnings in macro expansion
        KVM: s390: rework broken SIGP STOP interrupt handling
        KVM: x86: always exit on EOIs for interrupts listed in the IOAPIC redir table
        KVM: vmx: remove duplicate vmx_mpx_supported() prototype
        KVM: s390: Fix memory leak on busy SIGP stop
        x86/kvm: Resolve shadow warning from min macro
        kvm: Resolve missing-field-initializers warnings
        Replace NR_VMX_MSR with its definition
        KVM: x86: Assertions to check no overrun in MSR lists
        KVM: x86: set rflags.rf during fault injection
        KVM: x86: Setting rflags.rf during rep-string emulation
        KVM: x86: DR6/7.RTM cannot be written
        KVM: nVMX: clean up nested_release_vmcs12 and code around it
        KVM: nVMX: fix lifetime issues for vmcs02
        KVM: x86: Defining missing x86 vectors
        KVM: x86: emulator injects #DB when RFLAGS.RF is set
        KVM: x86: Cleanup of rflags.rf cleaning
        KVM: x86: Clear rflags.rf on emulated instructions
        KVM: x86: popf emulation should not change RF
        KVM: x86: Clearing rflags.rf upon skipped emulated instruction
        ...
      8533ce72
    • L
      Merge tag 'trace-3.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · c9b88e95
      Linus Torvalds 提交于
      Pull tracing filter cleanups from Steven Rostedt:
       "Oleg Nesterov did several clean ups with the tracing filter code.  As
        he found some small bugs that went into 3.16, and these changes were
        based on that, I had to apply his changes to a separate branch than my
        main development branch.
      
        This was based on work that was already pulled into 3.16, and is a
        separate pull request to keep from having local merges in my pull
        request"
      
      * tag 'trace-3.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Kill "filter_string" arg of replace_preds()
        tracing: Change apply_subsystem_event_filter() paths to check file->system == dir
        tracing: Kill ftrace_event_call->files
        tracing/uprobes: Kill the dead TRACE_EVENT_FL_USE_CALL_FILTER logic
        tracing: Kill call_filter_disable()
        tracing: Kill destroy_call_preds()
        tracing: Kill destroy_preds() and destroy_file_preds()
      c9b88e95
    • L
      Merge tag 'trace-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · b8c0aa46
      Linus Torvalds 提交于
      Pull tracing updates from Steven Rostedt:
       "This pull request has a lot of work done.  The main thing is the
        changes to the ftrace function callback infrastructure.  It's
        introducing a way to allow different functions to call directly
        different trampolines instead of all calling the same "mcount" one.
      
        The only user of this for now is the function graph tracer, which
        always had a different trampoline, but the function tracer trampoline
        was called and did basically nothing, and then the function graph
        tracer trampoline was called.  The difference now, is that the
        function graph tracer trampoline can be called directly if a function
        is only being traced by the function graph trampoline.  If function
        tracing is also happening on the same function, the old way is still
        done.
      
        The accounting for this takes up more memory when function graph
        tracing is activated, as it needs to keep track of which functions it
        uses.  I have a new way that wont take as much memory, but it's not
        ready yet for this merge window, and will have to wait for the next
        one.
      
        Another big change was the removal of the ftrace_start/stop() calls
        that were used by the suspend/resume code that stopped function
        tracing when entering into suspend and resume paths.  The stop of
        ftrace was done because there was some function that would crash the
        system if one called smp_processor_id()! The stop/start was a big
        hammer to solve the issue at the time, which was when ftrace was first
        introduced into Linux.  Now ftrace has better infrastructure to debug
        such issues, and I found the problem function and labeled it with
        "notrace" and function tracing can now safely be activated all the way
        down into the guts of suspend and resume
      
        Other changes include clean ups of uprobe code, clean up of the
        trace_seq() code, and other various small fixes and clean ups to
        ftrace and tracing"
      
      * tag 'trace-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (57 commits)
        ftrace: Add warning if tramp hash does not match nr_trampolines
        ftrace: Fix trampoline hash update check on rec->flags
        ring-buffer: Use rb_page_size() instead of open coded head_page size
        ftrace: Rename ftrace_ops field from trampolines to nr_trampolines
        tracing: Convert local function_graph functions to static
        ftrace: Do not copy old hash when resetting
        tracing: let user specify tracing_thresh after selecting function_graph
        ring-buffer: Always run per-cpu ring buffer resize with schedule_work_on()
        tracing: Remove function_trace_stop and HAVE_FUNCTION_TRACE_MCOUNT_TEST
        s390/ftrace: remove check of obsolete variable function_trace_stop
        arm64, ftrace: Remove check of obsolete variable function_trace_stop
        Blackfin: ftrace: Remove check of obsolete variable function_trace_stop
        metag: ftrace: Remove check of obsolete variable function_trace_stop
        microblaze: ftrace: Remove check of obsolete variable function_trace_stop
        MIPS: ftrace: Remove check of obsolete variable function_trace_stop
        parisc: ftrace: Remove check of obsolete variable function_trace_stop
        sh: ftrace: Remove check of obsolete variable function_trace_stop
        sparc64,ftrace: Remove check of obsolete variable function_trace_stop
        tile: ftrace: Remove check of obsolete variable function_trace_stop
        ftrace: x86: Remove check of obsolete variable function_trace_stop
        ...
      b8c0aa46
    • L
      Merge tag 'ktest-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest · c7ed326f
      Linus Torvalds 提交于
      Pull config-bisect changes from Steven Rostedt:
       "The big change here is the rewrite of config-bisect.  The old way
        never worked properly as it assumed the bad config was a subset of the
        good config, and just found the config that would break the build.
      
        The new way does a diff of the bad config verses the good config and
        makes the similar until it finds that one config works and the other
        does not and reports the config that makes that difference.  The two
        configs do not need to be related.  It is much more useful now:
      
      * tag 'ktest-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
        ktest: Update documentation on config_bisect
        ktest: Add the config bisect manual back
        ktest: Remove unused functions
        ktest: Put back in the CONFIG_BISECT_CHECK
        ktest: Rewrite the config-bisect to actually work
        ktest: Some cleanup for improving readability
        ktest: add 2nd parameter of run_command() to set the redirect target file
      c7ed326f
    • L
      Merge tag 'clk-for-linus-3.17' of git://git.linaro.org/people/mike.turquette/linux · e4ca4308
      Linus Torvalds 提交于
      Pull clock framework updates from Mike Turquette:
       "The clock framework changes for 3.17 are mostly additions of new clock
        drivers and fixes/enhancements to existing clock drivers.  There are
        also some non-critical fixes and improvements to the framework core.
      
        Changes to the clock framework core include:
         - improvements to printks on errors
         - flattening the previously hierarchal structure of per-clock entries
           in debugfs
         - allow per-clock debugfs entries that are specific to a particular
           clock driver
         - configure initial clock parent and/or initial clock rate from
           Device Tree
         - several feature enhancements to the composite clock type
         - misc fixes
      
        New clock drivers added include:
         - TI Palmas PMIC
         - Allwinner A23 SoC
         - Qualcomm APQ8084 and IPQ8064 SoCs
         - Rockchip rk3188, rk3066 and rk3288 SoCs
         - STMicroelectronics STiH407 SoC
         - Cirrus Logic CLPS711X SoC
      
        Many fixes, feature enhancements and further clock tree support for
        existing clock drivers also were merged, such as Samsung's "ARMCLK
        down" power saving feature for their Exynos4 & Exynos5 SoCs"
      
      * tag 'clk-for-linus-3.17' of git://git.linaro.org/people/mike.turquette/linux: (86 commits)
        clk: Add missing of_clk_set_defaults export
        clk: checking wrong variable in __set_clk_parents()
        clk: Propagate any error return from debug_init()
        clk: clps711x: Add DT bindings documentation
        clk: Add CLPS711X clk driver
        clk: st: Use round to closest divider flag
        clk: st: Update frequency tables for fs660c32 and fs432c65
        clk: st: STiH407: Support for clockgenA9
        clk: st: STiH407: Support for clockgenD0/D2/D3
        clk: st: STiH407: Support for clockgenC0
        clk: st: Add quadfs reset handling
        clk: st: Add polarity bit indication
        clk: st: STiH407: Support for clockgenA0
        clk: st: STiH407: Support for A9 MUX Clocks
        clk: st: STiH407: Support for Flexgen Clocks
        clk: st: Adds Flexgen clock binding
        clk: st: Remove uncessary (void *) cast
        clk: st: use static const for clkgen_pll_data tables
        clk: st: use static const for stm_fs tables
        clk: st: Update ST clock binding documentation
        ...
      e4ca4308
    • L
      Merge branch 'for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · e17acfdc
      Linus Torvalds 提交于
      Pull libata changes from Tejun Heo:
       "Except for a few, all the changes are for ahci platform drivers for
        the arm devices.  Nothing too interesting or dangerous.  There's one
        merge from libata/for-3.16-fixes to pull in dependent changes"
      
      * 'for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (23 commits)
        ata: libahci: Silence compiler warning on 64-bit
        Documentation: bindings: document the sub-nodes AHCI bindings
        ata: ahci_platform: add a generic AHCI compatible
        ata: libahci: allow to use multiple PHYs
        ata: libahci_platform: move port_map parameters into the AHCI structure
        ahci: imx: add missing clk_disable_unprepare() on error in imx_sata_enable()
        ahci_xgene: Use correct OOB tunning parameters for APM X-Gene SoC AHCI SATA Host controller driver.
        ahci_xgene: Fix the watermark threshold for the APM X-Gene SATA host controller driver.
        ahci: st: Make of_device_id array const
        sata_sil24: Identify which card suffered IRQ status error
        ahci: st: Provide DT bindings for ST's SATA implementation
        ata: Add support for the Tegra124 SATA controller
        ata: ahci_platform: Increase AHCI_MAX_CLKS to 4
        of: Add NVIDIA Tegra SATA controller binding
        dt-bindings: ata: document ability to disable spread-spectrum clock
        ata: ahci_imx: add disable for spread-spectrum
        dt-bindings: ata: add ahci_imx electrical properties
        ata: ahci_imx: allow hardware parameters to be specified in DT
        dt-bindings: ata: create bindings for imx sata controller
        ata: pata_samsung_cf: removes s5pc100 related ata codes
        ...
      e17acfdc
    • L
      Merge branch 'for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 47dfe403
      Linus Torvalds 提交于
      Pull cgroup changes from Tejun Heo:
       "Mostly changes to get the v2 interface ready.  The core features are
        mostly ready now and I think it's reasonable to expect to drop the
        devel mask in one or two devel cycles at least for a subset of
        controllers.
      
         - cgroup added a controller dependency mechanism so that block cgroup
           can depend on memory cgroup.  This will be used to finally support
           IO provisioning on the writeback traffic, which is currently being
           implemented.
      
         - The v2 interface now uses a separate table so that the interface
           files for the new interface are explicitly declared in one place.
           Each controller will explicitly review and add the files for the
           new interface.
      
         - cpuset is getting ready for the hierarchical behavior which is in
           the similar style with other controllers so that an ancestor's
           configuration change doesn't change the descendants' configurations
           irreversibly and processes aren't silently migrated when a CPU or
           node goes down.
      
        All the changes are to the new interface and no behavior changed for
        the multiple hierarchies"
      
      * 'for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (29 commits)
        cpuset: fix the WARN_ON() in update_nodemasks_hier()
        cgroup: initialize cgrp_dfl_root_inhibit_ss_mask from !->dfl_files test
        cgroup: make CFTYPE_ONLY_ON_DFL and CFTYPE_NO_ internal to cgroup core
        cgroup: distinguish the default and legacy hierarchies when handling cftypes
        cgroup: replace cgroup_add_cftypes() with cgroup_add_legacy_cftypes()
        cgroup: rename cgroup_subsys->base_cftypes to ->legacy_cftypes
        cgroup: split cgroup_base_files[] into cgroup_{dfl|legacy}_base_files[]
        cpuset: export effective masks to userspace
        cpuset: allow writing offlined masks to cpuset.cpus/mems
        cpuset: enable onlined cpu/node in effective masks
        cpuset: refactor cpuset_hotplug_update_tasks()
        cpuset: make cs->{cpus, mems}_allowed as user-configured masks
        cpuset: apply cs->effective_{cpus,mems}
        cpuset: initialize top_cpuset's configured masks at mount
        cpuset: use effective cpumask to build sched domains
        cpuset: inherit ancestor's masks if effective_{cpus, mems} becomes empty
        cpuset: update cs->effective_{cpus, mems} when config changes
        cpuset: update cpuset->effective_{cpus,mems} at hotplug
        cpuset: add cs->effective_cpus and cs->effective_mems
        cgroup: clean up sane_behavior handling
        ...
      47dfe403
    • L
      Merge branch 'for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · f2a84170
      Linus Torvalds 提交于
      Pull percpu updates from Tejun Heo:
      
       - Major reorganization of percpu header files which I think makes
         things a lot more readable and logical than before.
      
       - percpu-refcount is updated so that it requires explicit destruction
         and can be reinitialized if necessary.  This was pulled into the
         block tree to replace the custom percpu refcnting implemented in
         blk-mq.
      
       - In the process, percpu and percpu-refcount got cleaned up a bit
      
      * 'for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (21 commits)
        percpu-refcount: implement percpu_ref_reinit() and percpu_ref_is_zero()
        percpu-refcount: require percpu_ref to be exited explicitly
        percpu-refcount: use unsigned long for pcpu_count pointer
        percpu-refcount: add helpers for ->percpu_count accesses
        percpu-refcount: one bit is enough for REF_STATUS
        percpu-refcount, aio: use percpu_ref_cancel_init() in ioctx_alloc()
        workqueue: stronger test in process_one_work()
        workqueue: clear POOL_DISASSOCIATED in rebind_workers()
        percpu: Use ALIGN macro instead of hand coding alignment calculation
        percpu: invoke __verify_pcpu_ptr() from the generic part of accessors and operations
        percpu: preffity percpu header files
        percpu: use raw_cpu_*() to define __this_cpu_*()
        percpu: reorder macros in percpu header files
        percpu: move {raw|this}_cpu_*() definitions to include/linux/percpu-defs.h
        percpu: move generic {raw|this}_cpu_*_N() definitions to include/asm-generic/percpu.h
        percpu: only allow sized arch overrides for {raw|this}_cpu_*() ops
        percpu: reorganize include/linux/percpu-defs.h
        percpu: move accessors from include/linux/percpu.h to percpu-defs.h
        percpu: include/asm-generic/percpu.h should contain only arch-overridable parts
        percpu: introduce arch_raw_cpu_ptr()
        ...
      f2a84170
    • L
      Merge branch 'for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · c4c3f5fb
      Linus Torvalds 提交于
      Pull workqueue updates from Tejun Heo:
       "Lai has been doing a lot of cleanups of workqueue and kthread_work.
        No significant behavior change.  Just a lot of cleanups all over the
        place.  Some are a bit invasive but overall nothing too dangerous"
      
      * 'for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        kthread_work: remove the unused wait_queue_head
        kthread_work: wake up worker only when the worker is idle
        workqueue: use nr_node_ids instead of wq_numa_tbl_len
        workqueue: remove the misnamed out_unlock label in get_unbound_pool()
        workqueue: remove the stale comment in pwq_unbound_release_workfn()
        workqueue: move rescuer pool detachment to the end
        workqueue: unfold start_worker() into create_worker()
        workqueue: remove @wakeup from worker_set_flags()
        workqueue: remove an unneeded UNBOUND test before waking up the next worker
        workqueue: wake regular worker if need_more_worker() when rescuer leave the pool
        workqueue: alloc struct worker on its local node
        workqueue: reuse the already calculated pwq in try_to_grab_pending()
        workqueue: stronger test in process_one_work()
        workqueue: clear POOL_DISASSOCIATED in rebind_workers()
        workqueue: sanity check pool->cpu in wq_worker_sleeping()
        workqueue: clear leftover flags when detached
        workqueue: remove useless WARN_ON_ONCE()
        workqueue: use schedule_timeout_interruptible() instead of open code
        workqueue: remove the empty check in too_many_workers()
        workqueue: use "pool->cpu < 0" to stand for an unbound pool
      c4c3f5fb
    • L
      Merge tag 'locks-v3.17-1' of git://git.samba.org/jlayton/linux · 1bff5988
      Linus Torvalds 提交于
      Pull file locking related changes from Jeff Layton:
       "Just a couple of changes from Christoph to start us down the road
        toward getting rid of the fl_owner_t typedef"
      
      * tag 'locks-v3.17-1' of git://git.samba.org/jlayton/linux:
        locks: purge fl_owner_t from fs/locks.c
        locks: typedef fl_owner_t to void *
      1bff5988
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 3e7a716a
      Linus Torvalds 提交于
      Pull crypto update from Herbert Xu:
       - CTR(AES) optimisation on x86_64 using "by8" AVX.
       - arm64 support to ccp
       - Intel QAT crypto driver
       - Qualcomm crypto engine driver
       - x86-64 assembly optimisation for 3DES
       - CTR(3DES) speed test
       - move FIPS panic from module.c so that it only triggers on crypto
         modules
       - SP800-90A Deterministic Random Bit Generator (drbg).
       - more test vectors for ghash.
       - tweak self tests to catch partial block bugs.
       - misc fixes.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (94 commits)
        crypto: drbg - fix failure of generating multiple of 2**16 bytes
        crypto: ccp - Do not sign extend input data to CCP
        crypto: testmgr - add missing spaces to drbg error strings
        crypto: atmel-tdes - Switch to managed version of kzalloc
        crypto: atmel-sha - Switch to managed version of kzalloc
        crypto: testmgr - use chunks smaller than algo block size in chunk tests
        crypto: qat - Fixed SKU1 dev issue
        crypto: qat - Use hweight for bit counting
        crypto: qat - Updated print outputs
        crypto: qat - change ae_num to ae_id
        crypto: qat - change slice->regions to slice->region
        crypto: qat - use min_t macro
        crypto: qat - remove unnecessary parentheses
        crypto: qat - remove unneeded header
        crypto: qat - checkpatch blank lines
        crypto: qat - remove unnecessary return codes
        crypto: Resolve shadow warnings
        crypto: ccp - Remove "select OF" from Kconfig
        crypto: caam - fix DECO RSR polling
        crypto: qce - Let 'DEV_QCE' depend on both HAS_DMA and HAS_IOMEM
        ...
      3e7a716a
    • S
      clk: Add missing of_clk_set_defaults export · b11a6fac
      Sylwester Nawrocki 提交于
      The of_clk_set_defaults() function is used in subsystems which can
      be built as module. Add the missing symbol export entry so there
      is no build errors like:
      "ERROR: "of_clk_set_defaults" [drivers/i2c/i2c-core.ko] undefined!".
      
      Fixes commit: 86be408b
      "clk: Support for clock parents and rates assigned from device tree"
      Reported-by: Nkbuild test robot <fengguang.wu@intel.com>
      Signed-off-by: NSylwester Nawrocki <s.nawrocki@samsung.com>
      Acked-by: NWolfram Sang <wsa@the-dreams.de>
      Signed-off-by: NMike Turquette <mturquette@linaro.org>
      b11a6fac
    • L
      Merge tag 'edac_for_3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · c2df436b
      Linus Torvalds 提交于
      Pull EDAC changes from Borislav Petkov:
       "EDAC queue for 3.17:
      
         - One new edac driver for Intel E3-12xx DRAM controllers.
      
         - Out-of-subsystem changes are making the non-atomic iomem 64-bit
           accessors' naming explicit to show both exact order of the 32-bit
           accesses and the non-atomicity of the 64-bit access.
      
           Usage locations are more verbose now as to what access is exactly
           being done vs having a not-very telling "readq" there, for example.
      
           This is needed by E3-12xx hardware where certain mmapped registers
           cannot be accessed with requests crossing a dword boundary.
      
           From Jason Baron.
      
         - Extending AMD MCE signatures to a new model 60h in family 15h, from
           Aravind Gopalakrishnan.
      
         - An unsigned check cleanup, from Fabian Frederick"
      
      * tag 'edac_for_3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        EDAC, MCE, AMD: Add MCE decoding for F15h M60h
        MAINTAINERS: add ie31200_edac entry
        ie31200_edac: Allocate mci and map mchbar first
        ie31200_edac: Introduce the driver
        x38_edac: make use of lo_hi_readq()
        readq/writeq: Add explicit lo_hi_[read|write]_q and hi_lo_[read|write]_q
        EDAC, edac_module.c: Remove unnecessary test on unsigned value
      c2df436b
    • L
      Merge tag 'pci-v3.17-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · f74ad8df
      Linus Torvalds 提交于
      Pull PCI updates from Bjorn Helgaas:
       "I'll be on vacation until Aug 11, and I suspect the merge window will
        open before then, so I'm sending this to you early.  There are more
        things I'd like to get into v3.17, so I hope to send another pull
        request soon after I return.
      
        The most notable pieces here are:
      
         - Support BARs up to 128GB (up from 8GB)
         - Fix SR-IOV resource assignment when we fail to expand a resource
         - Rework pciehp to handle a common hardware erratum
         - Cleanup MSI
         - Fix NIC renaming issue
         - Fix VGA default device issue on EFI systems
         - Fix ASPM configuration (previously we didn't enable it as expected)
      
        Alex Williamson has graciously agreed to take care of any major issues
        with this if you take it before I return.
      
        Details:
      
        Resource management
          - Support BAR sizes up to 128GB (Yinghai Lu)
          - Keep original resource if we fail to expand it (Guo Chao)
          - Return conventional error values from pci_revert_fw_address() (Bjorn Helgaas)
          - Tidy resource assignment messages (Bjorn Helgaas)
          - Don't exclude low BIOS area for non-PCI cards (Christoph Schulz)
      
        PCI device hotplug
          - Prevent NULL dereference during pciehp probe (Andreas Noever)
          - Make pciehp pcie_wait_cmd() self-contained (Bjorn Helgaas)
          - Wait for pciehp hotplug command completion lazily (Bjorn Helgaas)
          - Compute pciehp timeout from hotplug command start time (Bjorn Helgaas)
          - Remove pciehp assumptions about which commands cause completion events (Bjorn Helgaas)
          - Clear pciehp Data Link Layer State Changed during init (Myron Stowe)
          - Remove pciehp struct controller.no_cmd_complete (Rajat Jain)
          - Remove cpqphp unnecessary null test (Fabian Frederick)
          - Remove "invalid IRQ" warning for hot-added PCIe ports (Jiang Liu)
      
        IOMMU
          - Add DMA alias quirk for Intel 82801 bridge (Alex Williamson)
      
        MSI
          - Add internal msix_clear_and_set_ctrl() (Yijing Wang)
          - Remove unused msi_enabled_mask() (Yijing Wang)
          - Cache Multiple Message Capable in struct msi_desc (Yijing Wang)
          - Add msi_setup_entry() to clean up initialization (Yijing Wang)
          - Remove unused msi_remove_pci_irq_vectors() (Yijing Wang)
          - Retrieve first MSI IRQ from msi_desc rather than pci_dev (Yijing Wang)
          - Remove unused list access in __pci_restore_msix_state() (Yijing Wang)
          - Use irq_get_msi_desc() to simplify code (Yijing Wang)
      
        Generic host bridge driver
          - Fix GPL v2 license string typo (Bjorn Helgaas)
      
        Marvell MVEBU
          - Fix GPL v2 license string typo (Thierry Reding)
      
        NVIDIA Tegra
          - Use correct initial HW settings (Phil Edworthy)
          - Remove rcar_pcie_setup_window() resource argument (Phil Edworthy)
          - Fix GPL v2 license string typo (Thierry Reding)
      
        Renesas R-Car
          - Remove redundant config accessor register checks (Sergei Shtylyov)
          - Fix GPL v2 license string typo (Bjorn Helgaas)
      
        Virtualization
          - Factor secondary bus reset logic (Gavin Shan)
          - Remove duplicate powerpc reset logic (Gavin Shan)
      
        Miscellaneous
          - Rework default VGA detection for EFI (Bruno Prémont)
          - Fix sysfs "acpi_index" and "label" errors for NIC renaming (Simone Gotti)
          - Configure ASPM at pci_enable_device()-time (Vidya Sagar)
          - Add include/linux/pci_ids.h include guard (Rasmus Villemoes)"
      
      * tag 'pci-v3.17-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (38 commits)
        PCI/MSI: Use irq_get_msi_desc() to simplify code
        PCI/MSI: Remove unused list access in __pci_restore_msix_state()
        PCI/MSI: Retrieve first MSI IRQ from msi_desc rather than pci_dev
        PCI/MSI: Remove unused function msi_remove_pci_irq_vectors()
        PCI/MSI: Add msi_setup_entry() to clean up MSI initialization
        PCI: Configure ASPM when enabling device
        x86: don't exclude low BIOS area when allocating address space for non-PCI cards
        PCI: generic: Fix GPL v2 license string typo
        PCI: rcar: Fix GPL v2 license string typo
        PCI: tegra: Fix GPL v2 license string typo
        PCI: mvebu: Fix GPL v2 license string typo
        PCI: Add include guard to include/linux/pci_ids.h
        x86, ia64: Move EFI_FB vga_default_device() initialization to pci_vga_fixup()
        PCI: Tidy resource assignment messages
        PCI: Return conventional error values from pci_revert_fw_address()
        PCI: Cleanup control flow
        PCI: Support BAR sizes up to 128GB
        PCI: cpqphp: Remove unnecessary null test before debugfs_remove()
        PCI: pciehp: Clear Data Link Layer State Changed during init
        PCI: Add bridge DMA alias quirk for Intel 82801 bridge
        ...
      f74ad8df
  2. 04 8月, 2014 2 次提交
  3. 03 8月, 2014 1 次提交
    • L
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · 3f9c08f7
      Linus Torvalds 提交于
      Pull ARM fixes from Russell King:
       "A few fixes for ARM.  Some of these are correctness issues:
         - TLBs must be flushed after the old mappings are removed by the DMA
           mapping code, but before the new mappings are established.
         - An off-by-one entry error in the Keystone LPAE setup code.
      
        Fixes include:
         - ensuring that the identity mapping for LPAE does not remove the
           kernel image from the identity map.
         - preventing userspace from trapping into kgdb.
         - fixing a preemption issue in the Intel iwmmxt code.
         - fixing a build error with nommu.
      
        Other changes include:
         - Adding a note about which areas of memory are expected to be
           accessible while the identity mapping tables are in place"
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: 8124/1: don't enter kgdb when userspace executes a kgdb break instruction
        ARM: idmap: add identity mapping usage note
        ARM: 8115/1: LPAE: reduce damage caused by idmap to virtual memory layout
        ARM: fix alignment of keystone page table fixup
        ARM: 8112/1: only select ARM_PATCH_PHYS_VIRT if MMU is enabled
        ARM: 8100/1: Fix preemption disable in iwmmxt_task_enable()
        ARM: DMA: ensure that old section mappings are flushed from the TLB
      3f9c08f7
  4. 02 8月, 2014 10 次提交
  5. 01 8月, 2014 4 次提交