1. 01 6月, 2015 1 次提交
  2. 15 4月, 2015 1 次提交
  3. 28 3月, 2015 1 次提交
  4. 27 11月, 2014 1 次提交
  5. 21 11月, 2014 1 次提交
  6. 13 9月, 2014 1 次提交
    • B
      ARM: 8138/1: drop ISAR0 workaround for B15 · fbf10641
      Brian Norris 提交于
      The Brahma-B15's ISAR0 correcty advertises UDIV/SDIV support in both ARM
      and Thumb2 modes (CPUID_EXT_ISAR0=02101110), so we don't need to
      manually apply this hwcap.
      
      The code in question actually predates the following commit, which made
      our hwcaps unnecessary:
      
          commit 8164f7af
          Author: Stephen Boyd <sboyd@codeaurora.org>
          Date:   Mon Mar 18 19:44:15 2013 +0100
      
              ARM: 7680/1: Detect support for SDIV/UDIV from ISAR0 register
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      fbf10641
  7. 24 7月, 2014 1 次提交
  8. 18 7月, 2014 3 次提交
    • S
      ARM: 8103/1: save/restore Cortex-A9 CP15 registers on suspend/resume · ddd0c530
      Shawn Guo 提交于
      The CP15 diagnostic register holds ARM errata bits on Cortex-A9, so it
      needs to be saved/restored on suspend/resume.  Otherwise, the
      effectiveness of errata workaround gets lost together with diagnostic
      register bit across suspend/resume cycle.  And the CP15 power control
      register of Cortex-A9 shares the same problem.
      
      The patch adds a couple of Cortex-A9 specific suspend/resume functions
      to save/restore these two Cortex-A9 CP15 registers across the
      suspend/resume cycle.
      Signed-off-by: NShawn Guo <shawn.guo@freescale.com>
      Acked-by: NNicolas Pitre <nico@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      ddd0c530
    • S
      ARM: 8089/1: cpu_pj4b_suspend_size should base on cpu_v7_suspend_size · 7ca791c5
      Shawn Guo 提交于
      Since pj4b suspend/resume routines are implemented based on generic
      ARMv7 ones, instead of hard-coding cpu_pj4b_suspend_size, we should have
      it be cpu_v7_suspend_size plus pj4b specific bytes.  Otherwise, if
      cpu_v7_suspend_size gets updated alone, the pj4b suspend/resume will
      likely be broken.
      
      While at it, fix the comments in cpu_pj4b_do_resume, as we're restoring
      CP15 registers rather than saving in there.
      Signed-off-by: NShawn Guo <shawn.guo@freescale.com>
      Acked-by: NGregory CLEMENT <gregory.clement@free-electrons.com>
      Tested-by: NGregory CLEMENT <gregory.clement@free-electrons.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      7ca791c5
    • R
      ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ · 6ebbf2ce
      Russell King 提交于
      ARMv6 and greater introduced a new instruction ("bx") which can be used
      to return from function calls.  Recent CPUs perform better when the
      "bx lr" instruction is used rather than the "mov pc, lr" instruction,
      and this sequence is strongly recommended to be used by the ARM
      architecture manual (section A.4.1.1).
      
      We provide a new macro "ret" with all its variants for the condition
      code which will resolve to the appropriate instruction.
      
      Rather than doing this piecemeal, and miss some instances, change all
      the "mov pc" instances to use the new macro, with the exception of
      the "movs" instruction and the kprobes code.  This allows us to detect
      the "mov pc, lr" case and fix it up - and also gives us the possibility
      of deploying this for other registers depending on the CPU selection.
      Reported-by: NWill Deacon <will.deacon@arm.com>
      Tested-by: Stephen Warren <swarren@nvidia.com> # Tegra Jetson TK1
      Tested-by: Robert Jarzmik <robert.jarzmik@free.fr> # mioa701_bootresume.S
      Tested-by: Andrew Lunn <andrew@lunn.ch> # Kirkwood
      Tested-by: NShawn Guo <shawn.guo@freescale.com>
      Tested-by: Tony Lindgren <tony@atomide.com> # OMAPs
      Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com> # Armada XP, 375, 385
      Acked-by: Sekhar Nori <nsekhar@ti.com> # DaVinci
      Acked-by: Christoffer Dall <christoffer.dall@linaro.org> # kvm/hyp
      Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com> # PXA3xx
      Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> # Xen
      Tested-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> # ARMv7M
      Tested-by: Simon Horman <horms+renesas@verge.net.au> # Shmobile
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      6ebbf2ce
  9. 26 5月, 2014 1 次提交
  10. 23 4月, 2014 1 次提交
  11. 10 2月, 2014 2 次提交
  12. 14 11月, 2013 1 次提交
  13. 20 10月, 2013 1 次提交
  14. 02 9月, 2013 1 次提交
  15. 12 8月, 2013 1 次提交
  16. 22 7月, 2013 1 次提交
  17. 15 7月, 2013 1 次提交
    • P
      arm: delete __cpuinit/__CPUINIT usage from all ARM users · 8bd26e3a
      Paul Gortmaker 提交于
      The __cpuinit type of throwaway sections might have made sense
      some time ago when RAM was more constrained, but now the savings
      do not offset the cost and complications.  For example, the fix in
      commit 5e427ec2 ("x86: Fix bit corruption at CPU resume time")
      is a good example of the nasty type of bugs that can be created
      with improper use of the various __init prefixes.
      
      After a discussion on LKML[1] it was decided that cpuinit should go
      the way of devinit and be phased out.  Once all the users are gone,
      we can then finally remove the macros themselves from linux/init.h.
      
      Note that some harmless section mismatch warnings may result, since
      notify_cpu_starting() and cpu_up() are arch independent (kernel/cpu.c)
      and are flagged as __cpuinit  -- so if we remove the __cpuinit from
      the arch specific callers, we will also get section mismatch warnings.
      As an intermediate step, we intend to turn the linux/init.h cpuinit
      related content into no-ops as early as possible, since that will get
      rid of these warnings.  In any case, they are temporary and harmless.
      
      This removes all the ARM uses of the __cpuinit macros from C code,
      and all __CPUINIT from assembly code.  It also had two ".previous"
      section statements that were paired off against __CPUINIT
      (aka .section ".cpuinit.text") that also get removed here.
      
      [1] https://lkml.org/lkml/2013/5/20/589
      
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      8bd26e3a
  18. 24 6月, 2013 1 次提交
    • G
      ARM: 7773/1: PJ4B: Add support for errata 4742 · 3e0a07f8
      Gregory CLEMENT 提交于
      This commit fixes the regression on Armada 370 (the kernal hang during
      boot) introduced by the commit: "ARM: 7691/1: mm: kill unused
      TLB_CAN_READ_FROM_L1_CACHE and use ALT_SMP instead".
      
      When coming out of either a Wait for Interrupt (WFI) or a Wait for
      Event (WFE) IDLE states, a specific timing sensitivity exists between
      the retiring WFI/WFE instructions and the newly issued subsequent
      instructions. This sensitivity can result in a CPU hang scenario.  The
      workaround is to insert either a Data Synchronization Barrier (DSB) or
      Data Memory Barrier (DMB) command immediately after the WFI/WFE
      instruction.
      
      This commit was based on the work of Lior Amsalem, but heavily
      modified to apply the errata fix dynamically according to the
      processor type thanks to the suggestions of Russell King and Nicolas
      Pitre.
      Signed-off-by: NGregory CLEMENT <gregory.clement@free-electrons.com>
      Reviewed-by: NWill Deacon <will.deacon@arm.com>
      Acked-by: NNicolas Pitre <nico@linaro.org>
      Tested-by: NWilly Tarreau <w@1wt.eu>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      3e0a07f8
  19. 17 6月, 2013 1 次提交
  20. 08 6月, 2013 2 次提交
    • J
      ARM: add Cortex-R7 Processor Info · c90ad5c9
      Jonathan Austin 提交于
      This patch adds processor info for ARM Ltd. Cortex-R7.
      
      The R7 has many similarities to the A9 and though the ACTLR layout is not
      identical, the bits associated with cache operations broadcasting and SMP
      modes are the same for A9, A5 and R7 (Though in the A-class processors the
      same bits toggle TLB-ops broadcasting as well as cache-ops)
      Signed-off-by: NJonathan Austin <jonathan.austin@arm.com>
      Reviewed-by: NWill Deacon <will.deacon@arm.com>
      CC: Catalin Marinas <catalin.marinas@arm.com>
      CC: Stephen Boyd <sboyd@codeaurora.org>
      c90ad5c9
    • W
      ARM: suspend: fix CPU suspend code for !CONFIG_MMU configurations · aa1aadc3
      Will Deacon 提交于
      The ARM CPU suspend code can be selected even for a !CONFIG_MMU
      configuration. The resulting kernel will not compile and, even if it did,
      would access undefined co-processor registers when executing.
      
      This patch fixes the v6 and v7 CPU suspend code for the nommu case.
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Tested-by: NJonathan Austin <jonathan.austin@arm.com>
      CC: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> (commit_signer:1/3=33%)
      CC: Santosh Shilimkar <santosh.shilimkar@ti.com> (commit_signer:1/3=33%)
      CC: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
      aa1aadc3
  21. 17 4月, 2013 1 次提交
  22. 04 4月, 2013 1 次提交
  23. 23 3月, 2013 2 次提交
  24. 07 1月, 2013 1 次提交
  25. 02 1月, 2013 1 次提交
  26. 21 11月, 2012 1 次提交
  27. 18 10月, 2012 1 次提交
  28. 25 9月, 2012 1 次提交
  29. 16 4月, 2012 1 次提交
  30. 27 2月, 2012 1 次提交
  31. 23 1月, 2012 2 次提交
  32. 24 12月, 2011 1 次提交
    • D
      ARM: 7197/1: errata: Remove SMP dependency for erratum 751472 · ba90c516
      Dave Martin 提交于
      Activation conditions for a workaround should not be encoded in the
      workaround's direct dependencies if this makes otherwise reasonable
      configuration choices impossible.
      
      This patches uses the SMP/UP patching facilities instead to compile
      out the workaround if the configuration means that it is definitely
      not needed.
      
      This means that configs for buggy silicon can simply select
      ARM_ERRATA_751472, without preventing a UP kernel from being built
      or duplicatiing knowledge about when to activate the workaround.
      This seems the correct way to do things, because the erratum is a
      property of the silicon, irrespective of what the kernel config
      happens to be.
      Signed-off-by: NDave Martin <dave.martin@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      ba90c516
  33. 11 12月, 2011 1 次提交
  34. 08 12月, 2011 1 次提交
    • C
      ARM: LPAE: MMU setup for the 3-level page table format · 1b6ba46b
      Catalin Marinas 提交于
      This patch adds the MMU initialisation for the LPAE page table format.
      The swapper_pg_dir size with LPAE is 5 rather than 4 pages. A new
      proc-v7-3level.S file contains the TTB initialisation, context switch
      and PTE setting code with the LPAE. The TTBRx split is based on the
      PAGE_OFFSET with TTBR1 used for the kernel mappings. The 36-bit mappings
      (supersections) and a few other memory types in mmu.c are conditionally
      compiled.
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      1b6ba46b