1. 28 3月, 2015 1 次提交
  2. 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
  3. 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
  4. 04 12月, 2014 1 次提交
  5. 21 11月, 2014 1 次提交
  6. 08 11月, 2014 1 次提交
  7. 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
  8. 17 10月, 2014 1 次提交
  9. 25 4月, 2014 1 次提交
  10. 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
  11. 19 3月, 2014 3 次提交
  12. 20 10月, 2013 1 次提交
  13. 30 9月, 2013 1 次提交
  14. 02 9月, 2013 1 次提交
  15. 13 6月, 2013 1 次提交
  16. 08 6月, 2013 1 次提交
  17. 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
  18. 18 4月, 2013 1 次提交
  19. 11 1月, 2013 1 次提交
  20. 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
  21. 04 9月, 2012 2 次提交
  22. 23 8月, 2012 2 次提交
  23. 01 8月, 2012 1 次提交
  24. 05 5月, 2012 1 次提交
  25. 27 4月, 2012 1 次提交
  26. 24 3月, 2012 4 次提交
  27. 21 3月, 2012 1 次提交
  28. 14 3月, 2012 1 次提交
  29. 03 2月, 2012 1 次提交
  30. 13 12月, 2011 1 次提交
  31. 17 10月, 2011 1 次提交
    • V
      ARM: 7011/1: Add ARM cpu topology definition · c9018aab
      Vincent Guittot 提交于
      The affinity between ARM processors is defined in the MPIDR register.
      We can identify which processors are in the same cluster,
      and which ones have performance interdependency. We can define the
      cpu topology of ARM platform, that is then used by sched_mc and sched_smt.
      
      The default state of sched_mc and sched_smt config is disable.
      When enabled, the behavior of the scheduler can be modified with
      sched_mc_power_savings and sched_smt_power_savings sysfs interfaces.
      
      Changes since v4 :
      *  Remove unnecessary parentheses and blank lines
      
      Changes since v3 :
      * Update the format of printk message
      * Remove blank line
      
      Changes since v2 :
      * Update the commit message and some comments
      
      Changes since v1 :
      * Update the commit message
      * Add read_cpuid_mpidr in arch/arm/include/asm/cputype.h
      * Modify header of arch/arm/kernel/topology.c
      * Modify tests and manipulation of MPIDR's bitfields
      * Modify the place and dependancy of the config
      * Modify Noop functions
      Signed-off-by: NVincent Guittot <vincent.guittot@linaro.org>
      Reviewed-by: NAmit Kucheria <amit.kucheria@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      c9018aab
  32. 02 10月, 2011 1 次提交
  33. 21 9月, 2011 1 次提交