1. 05 1月, 2016 1 次提交
  2. 04 1月, 2016 1 次提交
  3. 03 8月, 2015 1 次提交
    • M
      ARM: migrate to common PSCI client code · be120397
      Mark Rutland 提交于
      Now that the common PSCI client code has been factored out to
      drivers/firmware, and made safe for 32-bit use, move the 32-bit ARM code
      over to it. This results in a moderate reduction of duplicated lines,
      and will prevent further duplication as the PSCI client code is updated
      for PSCI 1.0 and beyond.
      
      The two legacy platform users of the PSCI invocation code are updated to
      account for interface changes. In both cases the power state parameter
      (which is constant) is now generated using macros, so that the
      pack/unpack logic can be killed in preparation for PSCI 1.0 power state
      changes.
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Acked-by: NRob Herring <robh@kernel.org>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Ashwin Chaugule <ashwin.chaugule@linaro.org>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: Will Deacon <will.deacon@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      be120397
  4. 31 7月, 2015 1 次提交
    • M
      arm: perf: factor arm_pmu core out to drivers · fa8ad788
      Mark Rutland 提交于
      To enable sharing of the arm_pmu code with arm64, this patch factors it
      out to drivers/perf/. A new drivers/perf directory is added for
      performance monitor drivers to live under.
      
      MAINTAINERS is updated accordingly. Files added previously without a
      corresponsing MAINTAINERS update (perf_regs.c, perf_callchain.c, and
      perf_event.h) are also added.
      
      Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Will Deacon <will.deacon@arm.com>
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      [will: augmented Kconfig help slightly]
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      fa8ad788
  5. 29 5月, 2015 1 次提交
  6. 28 5月, 2015 3 次提交
    • M
      arm: perf: factor out armv7 pmu driver · 29ba0f37
      Mark Rutland 提交于
      Now that the core arm perf code maintains no global state and all
      microarchitecture-specific PMU data can be fed in through the shared
      probe function, it's possible to use it as a library and get rid of the
      C file includes we have currently.
      
      This patch factors out the ARMv7-specific portions out into the ARMv7
      driver. For the moment this is always built if perf event support is
      enabled, but the preprocessor guards will leave behind an empty file.
      
      Now that perf_event_cpu.c contains no microarchitecture-specific data,
      the associated probing code is removed, completing its relegation to a
      library file. The vestigal "arm-pmu" platform device ID is removed in
      this patch, as it has been unused since platform files were updated to
      specify a more specific PMU variant.
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      29ba0f37
    • M
      arm: perf: factor out armv6 pmu driver · 1fe115b3
      Mark Rutland 提交于
      Now that the core arm perf code maintains no global state and all
      microarchitecture-specific PMU data can be fed in through the shared
      probe function, it's possible to use it as a library and get rid of the
      C file includes we have currently.
      
      This patch factors out the ARMv6-specific portions out into the ARMv6
      driver. For the moment this is always built if perf event support is
      enabled, but the preprocessor guards will leave behind an empty file.
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      1fe115b3
    • M
      arm: perf: factor out xscale pmu driver · a12c72cc
      Mark Rutland 提交于
      Now that the core arm perf code maintains no global state and all
      microarchitecture-specific PMU data can be fed in through the shared
      probe function, it's possible to use it as a library and get rid of the
      C file includes we have currently.
      
      This patch factors out the xscale-specific portions out into the xscale
      driver. For the moment this is always built if perf event support is
      enabled, but the preprocessor guards will leave behind an empty file.
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      a12c72cc
  7. 08 5月, 2015 1 次提交
    • A
      ARM: 8220/1: allow modules outside of bl range · 7d485f64
      Ard Biesheuvel 提交于
      Loading modules far away from the kernel in memory is problematic
      because the 'bl' instruction only has limited reach, and modules are not
      built with PLTs. Instead of using the -mlong-calls option (which affects
      all compiler emitted bl instructions, but not the ones in assembler),
      this patch allocates some additional space at module load time, and
      populates it with PLT like veneers when encountering relocations that
      are out of range.
      
      This should work with all relocations against symbols exported by the
      kernel, including those resulting from GCC generated implicit function
      calls for ftrace etc.
      
      The module memory size increases by about 5% on average, regardless of
      whether any PLT entries were actually needed. However, due to the page
      based rounding that occurs when allocating module memory, the average
      memory footprint increase is negligible.
      Reviewed-by: NNicolas Pitre <nico@linaro.org>
      Signed-off-by: NArd Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      7d485f64
  8. 13 4月, 2015 1 次提交
  9. 02 4月, 2015 1 次提交
  10. 30 3月, 2015 1 次提交
  11. 28 3月, 2015 1 次提交
  12. 14 1月, 2015 1 次提交
    • W
      ARM: kprobes: enable OPTPROBES for ARM 32 · 0dc016db
      Wang Nan 提交于
      This patch introduce kprobeopt for ARM 32.
      
      Limitations:
       - Currently only kernel compiled with ARM ISA is supported.
      
       - Offset between probe point and optinsn slot must not larger than
         32MiB. Masami Hiramatsu suggests replacing 2 words, it will make
         things complex. Futher patch can make such optimization.
      
      Kprobe opt on ARM is relatively simpler than kprobe opt on x86 because
      ARM instruction is always 4 bytes aligned and 4 bytes long. This patch
      replace probed instruction by a 'b', branch to trampoline code and then
      calls optimized_callback(). optimized_callback() calls opt_pre_handler()
      to execute kprobe handler. It also emulate/simulate replaced instruction.
      
      When unregistering kprobe, the deferred manner of unoptimizer may leave
      branch instruction before optimizer is called. Different from x86_64,
      which only copy the probed insn after optprobe_template_end and
      reexecute them, this patch call singlestep to emulate/simulate the insn
      directly. Futher patch can optimize this behavior.
      Signed-off-by: NWang Nan <wangnan0@huawei.com>
      Acked-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Reviewed-by: NJon Medhurst (Tixy) <tixy@linaro.org>
      Signed-off-by: NJon Medhurst <tixy@linaro.org>
      0dc016db
  13. 09 1月, 2015 1 次提交
    • W
      ARM: probes: move all probe code to dedicate directory · fca08f32
      Wang Nan 提交于
      In discussion on LKML (https://lkml.org/lkml/2014/11/28/158), Russell
      King suggests to move all probe related code to arch/arm/probes. This
      patch does the work. Due to dependency on 'arch/arm/kernel/patch.h', this
      patch also moves patch.h to 'arch/arm/include/asm/patch.h', and related
      '#include' directives are also midified to '#include <asm/patch.h>'.
      
      Following is an overview of this patch:
      
       ./arch/arm/kernel/               ./arch/arm/probes/
       |-- Makefile                     |-- Makefile
       |-- probes-arm.c          ==>    |-- decode-arm.c
       |-- probes-arm.h          ==>    |-- decode-arm.h
       |-- probes-thumb.c        ==>    |-- decode-thumb.c
       |-- probes-thumb.h        ==>    |-- decode-thumb.h
       |-- probes.c              ==>    |-- decode.c
       |-- probes.h              ==>    |-- decode.h
       |                                |-- kprobes
       |                                |   |-- Makefile
       |-- kprobes-arm.c         ==>    |   |-- actions-arm.c
       |-- kprobes-common.c      ==>    |   |-- actions-common.c
       |-- kprobes-thumb.c       ==>    |   |-- actions-thumb.c
       |-- kprobes.c             ==>    |   |-- core.c
       |-- kprobes.h             ==>    |   |-- core.h
       |-- kprobes-test-arm.c    ==>    |   |-- test-arm.c
       |-- kprobes-test.c        ==>    |   |-- test-core.c
       |-- kprobes-test.h        ==>    |   |-- test-core.h
       |-- kprobes-test-thumb.c  ==>    |   `-- test-thumb.c
       |                                `-- uprobes
       |                                    |-- Makefile
       |-- uprobes-arm.c         ==>        |-- actions-arm.c
       |-- uprobes.c             ==>        |-- core.c
       |-- uprobes.h             ==>        `-- core.h
       |
       `-- patch.h               ==>    arch/arm/include/asm/patch.h
      Signed-off-by: NWang Nan <wangnan0@huawei.com>
      Acked-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Signed-off-by: NJon Medhurst <tixy@linaro.org>
      fca08f32
  14. 04 12月, 2014 1 次提交
  15. 21 11月, 2014 1 次提交
  16. 08 11月, 2014 1 次提交
  17. 30 10月, 2014 1 次提交
    • M
      arm: perf: factor out callchain code · d39976f0
      Mark Rutland 提交于
      The ARM callchain handling code is currently bundled with the ARM PMU
      management code, despite the two having no dependency on each other.
      This bundling has the unfortunate property of making callchain handling
      depend on CONFIG_HW_PERF_EVENTS, even though the callchain handling
      could be applied to software events in the absence of PMU hardware
      support.
      
      This patch separates the two, placing the callchain handling in
      perf_callchain.c and making it depend on CONFIG_PERF_EVENTS rather than
      CONFIG_HW_PERF_EVENTS, enabling callchain recording on kernels built
      without hardware perf event support.
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      Reviewed-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      d39976f0
  18. 17 10月, 2014 1 次提交
  19. 25 4月, 2014 1 次提交
  20. 23 4月, 2014 1 次提交
    • S
      ARM: 8011/1: ARM hibernation / suspend-to-disk · 603fb42a
      Sebastian Capella 提交于
      Enable hibernation for ARM architectures and provide ARM
      architecture specific calls used during hibernation.
      
      The swsusp hibernation framework depends on the
      platform first having functional suspend/resume.
      
      Then, in order to enable hibernation on a given platform, a
      platform_hibernation_ops structure may need to be registered with
      the system in order to save/restore any SoC-specific / cpu specific
      state needing (re)init over a suspend-to-disk/resume-from-disk cycle.
      
      For example:
      
           - "secure" SoCs that have different sets of control registers
             and/or different CR reg access patterns.
      
           - SoCs with L2 caches as the activation sequence there is
             SoC-dependent; a full off-on cycle for L2 is not done
             by the hibernation support code.
      
           - SoCs requiring steps on wakeup _before_ the "generic" parts
             done by cpu_suspend / cpu_resume can work correctly.
      
           - SoCs having persistent state which is maintained during suspend
             and resume, but will be lost during the power off cycle after
             suspend-to-disk.
      
      This is a rebase/rework of Frank Hofmann's v5 hibernation patchset.
      Acked-by: NRuss Dill <Russ.Dill@ti.com>
      Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
      Signed-off-by: NSebastian Capella <sebastian.capella@linaro.org>
      Acked-by: NPavel Machek <pavel@ucw.cz>
      Reviewed-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      [fixed duplicate virt_to_pfn() definition --rmk]
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      603fb42a
  21. 19 3月, 2014 3 次提交
  22. 20 10月, 2013 1 次提交
  23. 30 9月, 2013 1 次提交
  24. 02 9月, 2013 1 次提交
  25. 13 6月, 2013 1 次提交
  26. 08 6月, 2013 1 次提交
  27. 21 5月, 2013 1 次提交
    • S
      arm: introduce psci_smp_ops · 05774088
      Stefano Stabellini 提交于
      Rename virt_smp_ops to psci_smp_ops and move them to arch/arm/kernel/psci_smp.c.
      Remove mach-virt/platsmp.c, now unused.
      Compile psci_smp if CONFIG_ARM_PSCI and CONFIG_SMP.
      
      Add a cpu_die smp_op based on psci_ops.cpu_off.
      
      Initialize PSCI before setting smp_ops in setup_arch.
      
      If PSCI is available on the platform, prefer psci_smp_ops over the
      platform smp_ops.
      Signed-off-by: NStefano Stabellini <stefano.stabellini@eu.citrix.com>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      CC: arnd@arndb.de
      CC: marc.zyngier@arm.com
      CC: linux@arm.linux.org.uk
      CC: nico@linaro.org
      CC: rob.herring@calxeda.com
      05774088
  28. 18 4月, 2013 1 次提交
  29. 11 1月, 2013 1 次提交
  30. 19 9月, 2012 1 次提交
    • D
      ARM: virt: allow the kernel to be entered in HYP mode · 80c59daf
      Dave Martin 提交于
      This patch does two things:
      
        * Ensure that asynchronous aborts are masked at kernel entry.
          The bootloader should be masking these anyway, but this reduces
          the damage window just in case it doesn't.
      
        * Enter svc mode via exception return to ensure that CPU state is
          properly serialised.  This does not matter when switching from
          an ordinary privileged mode ("PL1" modes in ARMv7-AR rev C
          parlance), but it potentially does matter when switching from a
          another privileged mode such as hyp mode.
      
      This should allow the kernel to boot safely either from svc mode or
      hyp mode, even if no support for use of the ARM Virtualization
      Extensions is built into the kernel.
      Signed-off-by: NDave Martin <dave.martin@linaro.org>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      80c59daf
  31. 04 9月, 2012 2 次提交
  32. 23 8月, 2012 2 次提交
  33. 01 8月, 2012 1 次提交
  34. 05 5月, 2012 1 次提交