1. 11 4月, 2011 2 次提交
  2. 17 3月, 2011 1 次提交
  3. 24 2月, 2011 2 次提交
  4. 20 12月, 2010 1 次提交
  5. 30 11月, 2010 1 次提交
    • D
      ARM: 6498/1: vfp: Correct data alignment for CONFIG_THUMB2_KERNEL · 7eb25ebe
      Dave Martin 提交于
      Directives such as .long and .word do not magically cause the
      assembler location counter to become aligned in gas.  As a result,
      using these directives in code sections can result in misaligned
      data words when building a Thumb-2 kernel (CONFIG_THUMB2_KERNEL).
      
      This is a Bad Thing, since the ABI permits the compiler to assume
      that fundamental types of word size or above are word- aligned when
      accessing them from C.  If the data is not really word-aligned,
      this can cause impaired performance and stray alignment faults in
      some circumstances.
      
      In general, the following rules should be applied when using data
      word declaration directives inside code sections:
      
          * .quad and .double:
               .align 3
      
          * .long, .word, .single, .float:
               .align (or .align 2)
      
          * .short:
              No explicit alignment required, since Thumb-2
              instructions are always 2 or 4 bytes in size.
              immediately after an instruction.
      Reviewed-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NDave Martin <dave.martin@linaro.org>
      Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      7eb25ebe
  6. 09 7月, 2010 1 次提交
  7. 27 5月, 2010 1 次提交
  8. 14 4月, 2010 1 次提交
  9. 28 3月, 2010 1 次提交
  10. 16 2月, 2010 2 次提交
    • R
      ARM: vfp ptrace: no point flushing hw context for PTRACE_GETVFPREGS · ad187f95
      Russell King 提交于
      If we're only reading the VFP context via the ptrace call, there's
      no need to invalidate the hardware context - we only need to do that
      on PTRACE_SETVFPREGS.  This allows more efficient monitoring of a
      traced task.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      ad187f95
    • R
      ARM: vfp: fix vfp_sync_state() · 54cb3dbb
      Russell King 提交于
      The more I look at vfp_sync_state(), the more I believe it's trying
      to do its job in a really obscure way.
      
      Essentially, last_VFP_context[] tracks who owns the state in the VFP
      hardware.  If last_VFP_context[] is the context for the thread which
      we're interested in, then the VFP hardware has context which is not
      saved in the software state - so we need to bring the software state
      up to date.
      
      If last_VFP_context[] is for some other thread, we really don't care
      what state the VFP hardware is in; it doesn't contain any information
      pertinent to the thread we're trying to deal with - so don't touch
      the hardware.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      54cb3dbb
  11. 02 2月, 2010 1 次提交
  12. 18 12月, 2009 1 次提交
  13. 14 12月, 2009 1 次提交
    • R
      ARM: VFP: fix vfp thread init bug and document vfp notifier entry conditions · 0d782dc4
      Russell King 提交于
      When the VFP notifier is called for flush_thread(), we may be
      preemptible, meaning we might migrate to another CPU, which means
      referencing the current CPU number without some form of locking is
      invalid, and can cause data corruption.
      
      For the most cases, this isn't a problem since atomic notifiers are run
      under rcu lock, which for most configurations results in preemption
      being disabled - except when the preemptable tree-based rcu
      implementation is selected.
      
      Let's make it safe anyway.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      0d782dc4
  14. 24 7月, 2009 2 次提交
  15. 30 5月, 2009 1 次提交
    • C
      Fix the VFP handling on the Feroceon CPU · 85d6943a
      Catalin Marinas 提交于
      This CPU generates synchronous VFP exceptions in a non-standard way -
      the FPEXC.EX bit set but without the FPSCR.IXE bit being set like in the
      VFP subarchitecture 1 or just the FPEXC.DEX bit like in VFP
      subarchitecture 2. The main problem is that the faulty instruction
      (which needs to be emulated in software) will be restarted several times
      (normally until a context switch disables the VFP). This patch ensures
      that the VFP exception is treated as synchronous.
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      Cc: Nicolas Pitre <nico@cam.org>
      85d6943a
  16. 02 4月, 2009 1 次提交
  17. 12 2月, 2009 2 次提交
  18. 19 12月, 2008 1 次提交
    • B
      [ARM] 5349/1: VFP: Add PM code to save and restore current VFP state · fc0b7a20
      Ben Dooks 提交于
      When CONFIG_PM is selected, the VFP code does not have any handler
      installed to deal with either saving the VFP state of the current
      task, nor does it do anything to try and restore the VFP after a
      resume.
      
      On resume, the VFP will have been reset and the co-processor access
      control registers are in an indeterminate state (very probably the
      CP10 and CP11 the VFP uses will have been disabled by the ARM core
      reset). When this happens, resume will break as soon as it tries to
      unfreeze the tasks and restart scheduling.
      
      Add a sys device to allow us to hook the suspend call to save the
      current thread state if the thread is using VFP and a resume hook
      which restores the CP10/CP11 access and ensures the VFP is disabled
      so that the lazy swapping will take place on next access.
      Signed-off-by: NBen Dooks <ben-linux@fluff.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      fc0b7a20
  19. 06 11月, 2008 2 次提交
  20. 01 9月, 2008 1 次提交
  21. 26 6月, 2008 1 次提交
  22. 26 1月, 2008 2 次提交
    • C
      [ARM] 4583/1: ARMv7: Add VFPv3 support · 25ebee02
      Catalin Marinas 提交于
      This patch adds the support for VFPv3 (the kernel currently supports
      VFPv2). The main difference is 32 double registers (compared to 16).
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      25ebee02
    • C
      [ARM] 4582/2: Add support for the common VFP subarchitecture · c98929c0
      Catalin Marinas 提交于
      This patch allows the VFP support code to run correctly on CPUs
      compatible with the common VFP subarchitecture specification (Appendix
      B in the ARM ARM v7-A and v7-R edition). It implements support for VFP
      subarchitecture 2 while being backwards compatible with
      subarchitecture 1.
      
      On VFP subarchitecture 1, the arithmetic exceptions are asynchronous
      (or imprecise as described in the old ARM ARM) unless the FPSCR.IXE
      bit is 1. The exceptional instructions can be read from FPINST and
      FPINST2 registers. With VFP subarchitecture 2, the arithmetic
      exceptions can also be synchronous and marked by the FPEXC.DEX bit
      (the FPEXC.EX bit is cleared). CPUs implementing the synchronous
      arithmetic exceptions don't have the FPINST and FPINST2 registers and
      accessing them would trigger and undefined exception.
      
      Note that FPEXC.EX bit has an additional meaning on subarchitecture 1
      - if it isn't set, there is no additional information in FPINST and
      FPINST2 that needs to be saved at context switch or when lazy-loading
      the VFP state of a different thread.
      
      The patch also removes the clearing of the cumulative exception flags in
      FPSCR when additional exceptions were raised. It is up to the user
      application to clear these bits.
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      c98929c0
  23. 11 1月, 2008 1 次提交
  24. 21 10月, 2007 2 次提交
  25. 16 10月, 2007 1 次提交
    • S
      kbuild: enable 'make AFLAGS=...' to add additional options to AS · 222d394d
      Sam Ravnborg 提交于
      The variable AFLAGS is a wellknown variable and the usage by
      kbuild may result in unexpected behaviour.
      On top of that several people over time has asked for a way to
      pass in additional flags to gcc.
      
      This patch replace use of AFLAGS with KBUILD_AFLAGS all over
      the tree.
      
      Patch was tested on following architectures:
      alpha, arm, i386, x86_64, mips, sparc, sparc64, ia64, m68k, s390
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      222d394d
  26. 13 9月, 2007 1 次提交
  27. 20 7月, 2007 1 次提交
  28. 10 6月, 2007 1 次提交
    • R
      [ARM] VFP: fix section mismatch error · 5d4cae5f
      Russell King 提交于
      Fix a real section mismatch issue; the test code is thrown away after
      initialisation, but if we do not detect the VFP hardware, it is left
      hooked into the exception handler.  Any VFP instructions which are
      subsequently executed risk calling the discarded exception handler.
      
      Introduce a new "null" handler which returns to the "unrecognised
      fault" return address.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      5d4cae5f
  29. 22 4月, 2007 1 次提交
  30. 26 1月, 2007 1 次提交
  31. 03 1月, 2007 1 次提交
  32. 09 12月, 2006 1 次提交
    • R
      [ARM] Handle HWCAP_VFP in VFP support code · efe90d27
      Russell King 提交于
      Don't set HWCAP_VFP in the processor support file; not only does it
      depend on the processor features, but it also depends on the support
      code being present.  Therefore, only set it if the support code
      detects that we have a VFP coprocessor attached.
      
      Also, move the VFP handling of the coprocessor access register into
      the VFP support code.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      efe90d27