1. 09 4月, 2017 7 次提交
  2. 23 8月, 2016 1 次提交
  3. 17 2月, 2016 1 次提交
  4. 18 7月, 2014 1 次提交
    • 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
  5. 11 7月, 2014 1 次提交
  6. 22 7月, 2013 1 次提交
  7. 07 6月, 2013 2 次提交
  8. 11 1月, 2013 2 次提交
  9. 19 9月, 2012 3 次提交
    • M
      ARM: virt: arch_timers: enable access to physical timers · 8ec58be9
      Marc Zyngier 提交于
      If booting in HYP mode, it makes sense to enable the use of the
      physical timers, so the kernel can use them directly.
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      8ec58be9
    • D
      ARM: zImage/virt: hyp mode entry support for the zImage loader · 424e5994
      Dave Martin 提交于
      The zImage loader needs to turn on the MMU in order to take
      advantage of caching while decompressing the zImage.  Running this
      in hyp mode would require the LPAE pagetable format to be
      supported; to avoid this complexity, this patch switches out of hyp
      mode, and returns back to hyp mode just before booting the kernel.
      
      This implementation assumes that the Hyp mode view of memory and the
      PL1 view of memory are coherent, providing that the MMU and caches
      are off in both, as required by the boot protocol.  The zImage
      decompression code must drain the write buffer on completion anyway, and
      entry into Hyp mode should flush any prefetch buffer, avoiding hazards
      associated with local write buffers and the pipeline.
      Signed-off-by: NDave Martin <dave.martin@linaro.org>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      424e5994
    • 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