1. 03 9月, 2006 1 次提交
    • G
      [ARM] 3762/1: Fix ptrace cache coherency bug for ARM1136 VIPT nonaliasing Harvard caches · a188ad2b
      George G. Davis 提交于
      Patch from George G. Davis
      
      Resolve ARM1136 VIPT non-aliasing cache coherency issues observed when
      using ptrace to set breakpoints and cleanup copy_{to,from}_user_page()
      while we're here as requested by Russell King because "it's also far
      too heavy on non-v6 CPUs".
      
      NOTES:
      
      1. Only access_process_vm() calls copy_{to,from}_user_page().
      2. access_process_vm() calls get_user_pages() to pin down the "page".
      3. get_user_pages() calls flush_dcache_page(page) which ensures cache
         coherency between kernel and userspace mappings of "page".  However
         flush_dcache_page(page) may not invalidate I-Cache over this range
         for all cases, specifically, I-Cache is not invalidated for the VIPT
         non-aliasing case.  So memory is consistent between kernel and user
         space mappings of "page" but I-Cache may still be hot over this
         range.  IOW, we don't have to worry about flush_cache_page() before
         memcpy().
      4. Now, for the copy_to_user_page() case, after memcpy(), we must flush
         the caches so memory is consistent with kernel cache entries and
         invalidate the I-Cache if this mm region is executable.  We don't
         need to do anything after memcpy() for the copy_from_user_page()
         case since kernel cache entries will be invalidated via the same
         process above if we access "page" again.  The flush_ptrace_access()
         function (borrowed from SPARC64 implementation) is added to handle
         cache flushing after memcpy() for the copy_to_user_page() case.
      Signed-off-by: NGeorge G. Davis <gdavis@mvista.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      a188ad2b
  2. 31 8月, 2006 4 次提交
  3. 30 8月, 2006 2 次提交
  4. 29 8月, 2006 2 次提交
    • L
      Merge master.kernel.org:/home/rmk/linux-2.6-serial · d9629953
      Linus Torvalds 提交于
      * master.kernel.org:/home/rmk/linux-2.6-serial:
        [SERIAL] Support for Intashield 2 port PCI serial card
      d9629953
    • L
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · 1b8b22f4
      Linus Torvalds 提交于
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        [ARM] 3761/1: fix armv4t breakage after adding thumb interworking to userspace helpers
        [ARM] Add Integrator support for glibc outb() and friends
        [ARM] Move prototype for register_isa_ports to asm/io.h
        [ARM] Arrange for isa.c to use named initialisers
        [ARM] 3741/1: remove sa1111.c build warning on non-sa1100 systems
        [ARM] 3760/1: This patch adds timeouts while working with SSP registers. Such timeouts were en
        [ARM] 3758/1: Preserve signalling NaNs in conversion
        [ARM] 3749/3: Correct VFP single/double conversion emulation
        [ARM] 3748/3: Correct error check in vfp_raise_exceptions
      1b8b22f4
  5. 28 8月, 2006 31 次提交