1. 12 5月, 2010 3 次提交
  2. 01 5月, 2010 1 次提交
  3. 29 4月, 2010 1 次提交
  4. 24 4月, 2010 24 次提交
  5. 23 4月, 2010 4 次提交
  6. 22 4月, 2010 1 次提交
  7. 21 4月, 2010 1 次提交
    • R
      ARM: fix build error in arch/arm/kernel/process.c · 4260415f
      Russell King 提交于
      /tmp/ccJ3ssZW.s: Assembler messages:
      /tmp/ccJ3ssZW.s:1952: Error: can't resolve `.text' {.text section} - `.LFB1077'
      
      This is caused because:
      
      	.section .data
      	.section .text
      	.section .text
      	.previous
      
      does not return us to the .text section, but the .data section; this
      makes use of .previous dangerous if the ordering of previous sections
      is not known.
      
      Fix up the other users of .previous; .pushsection and .popsection are
      a safer pairing to use than .section and .previous.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      4260415f
  8. 14 4月, 2010 5 次提交
    • E
      ARM: 5974/1: arm/mach-at91 Makefile: remove two blanks. · b1cdbb5f
      Ernst Schwab 提交于
      Cosmetic change to mach-at91 Makefile: remove two blanks introduced
      by earlier patches.
      Signed-off-by: NErnst Schwab <eschwab@online.de>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      b1cdbb5f
    • M
      ARM: 6052/1: kdump: make kexec work in interrupt context · 3f2d4f56
      Mika Westerberg 提交于
      When crash happens in interrupt context there is no userspace context.
      We always use current->active_mm in those cases.
      Signed-off-by: NMika Westerberg <ext-mika.1.westerberg@nokia.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      3f2d4f56
    • I
      ARM: 6051/1: VFP: preserve the HW context when calling signal handlers · 82c6f5a5
      Imre Deak 提交于
      From: Imre Deak <imre.deak@nokia.com>
      
      Signal handlers can use floating point, so prevent them to corrupt
      the main thread's VFP context. So far there were two signal stack
      frame formats defined based on the VFP implementation, but the user
      struct used for ptrace covers all posibilities, so use it for the
      signal stack too.
      
      Introduce also a new user struct for VFP exception registers. In
      this too fields not relevant to the current VFP architecture are
      ignored.
      
      Support to save / restore the exception registers was added by
      Will Deacon.
      Signed-off-by: NImre Deak <imre.deak@nokia.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      82c6f5a5
    • I
      ARM: 6050/1: VFP: fix the SMP versions of vfp_{sync,flush}_hwstate · 5c5cac63
      Imre Deak 提交于
      From: Imre Deak <imre.deak@nokia.com>
      
      Recently the UP versions of these functions were refactored and as
      a side effect it became possible to call them for the current thread.
      This isn't true for the SMP versions however, so fix this up.
      Signed-off-by: NImre Deak <imre.deak@nokia.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      5c5cac63
    • N
      ARM: 6007/1: fix highmem with VIPT cache and DMA · 7e5a69e8
      Nicolas Pitre 提交于
      The VIVT cache of a highmem page is always flushed before the page
      is unmapped.  This cache flush is explicit through flush_cache_kmaps()
      in flush_all_zero_pkmaps(), or through __cpuc_flush_dcache_area() in
      kunmap_atomic().  There is also an implicit flush of those highmem pages
      that were part of a process that just terminated making those pages free
      as the whole VIVT cache has to be flushed on every task switch. Hence
      unmapped highmem pages need no cache maintenance in that case.
      
      However unmapped pages may still be cached with a VIPT cache because the
      cache is tagged with physical addresses.  There is no need for a whole
      cache flush during task switching for that reason, and despite the
      explicit cache flushes in flush_all_zero_pkmaps() and kunmap_atomic(),
      some highmem pages that were mapped in user space end up still cached
      even when they become unmapped.
      
      So, we do have to perform cache maintenance on those unmapped highmem
      pages in the context of DMA when using a VIPT cache.  Unfortunately,
      it is not possible to perform that cache maintenance using physical
      addresses as all the L1 cache maintenance coprocessor functions accept
      virtual addresses only.  Therefore we have no choice but to set up a
      temporary virtual mapping for that purpose.
      
      And of course the explicit cache flushing when unmapping a highmem page
      on a system with a VIPT cache now can go, which should increase
      performance.
      
      While at it, because the code in __flush_dcache_page() has to be modified
      anyway, let's also make sure the mapped highmem pages are pinned with
      kmap_high_get() for the duration of the cache maintenance operation.
      Because kunmap() does unmap highmem pages lazily, it was reported by
      Gary King <GKing@nvidia.com> that those pages ended up being unmapped
      during cache maintenance on SMP causing segmentation faults.
      Signed-off-by: NNicolas Pitre <nico@marvell.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      7e5a69e8