1. 28 7月, 2009 1 次提交
  2. 22 7月, 2009 1 次提交
    • P
      sh: Migrate from PG_mapped to PG_dcache_dirty. · 2277ab4a
      Paul Mundt 提交于
      This inverts the delayed dcache flush a bit to be more in line with other
      platforms. At the same time this also gives us the ability to do some
      more optimizations and cleanup. Now that the update_mmu_cache() callsite
      only tests for the bit, the implementation can gradually be split out and
      made generic, rather than relying on special implementations for each of
      the peculiar CPU types.
      
      SH7705 in 32kB mode and SH-4 still need slightly different handling, but
      this is something that can remain isolated in the varying page copy/clear
      routines. On top of that, SH-X3 is dcache coherent, so there is no need
      to bother with any of these tests in the PTEAEX version of
      update_mmu_cache(), so we kill that off too.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      2277ab4a
  3. 17 3月, 2009 2 次提交
    • P
      sh: tlb-pteaex: Kill off legacy PTEA updates. · c54a43e9
      Paul Mundt 提交于
      While harmless, PTEA has different semantics on these parts, and is only
      used in extended TLB mode. Kill off the legacy support.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      c54a43e9
    • P
      sh: Support for extended ASIDs on PTEAEX-capable SH-X3 cores. · 8263a67e
      Paul Mundt 提交于
      This adds support for extended ASIDs (up to 16-bits) on newer SH-X3 cores
      that implement the PTAEX register and respective functionality. Presently
      only the 65nm SH7786 (90nm only supports legacy 8-bit ASIDs).
      
      The main change is in how the PTE is written out when loading the entry
      in to the TLB, as well as in how the TLB entry is selectively flushed.
      
      While SH-X2 extended mode splits out the memory-mapped U and I-TLB data
      arrays for extra bits, extended ASID mode splits out the address arrays.
      While we don't use the memory-mapped data array access, the address
      array accesses are necessary for selective TLB flushes, so these are
      implemented newly and replace the generic SH-4 implementation.
      
      With this, TLB flushes in switch_mm() are almost non-existent on newer
      parts.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      8263a67e
  4. 28 1月, 2008 1 次提交
  5. 21 9月, 2007 2 次提交
    • P
      sh: Fix up extended mode TLB for SH-X2+ cores. · d04a0f79
      Paul Mundt 提交于
      The extended mode TLB requires both 64-bit PTEs and a 64-bit pgprot,
      correspondingly, the PGD also has to be 64-bits, so fix that up.
      
      The kernel and user permission bits really are decoupled in early
      cuts of the silicon, which means that we also have to set corresponding
      kernel permissions on user pages or we end up with user pages that the
      kernel simply can't touch (!).
      
      Finally, with those things corrected, really enable MMUCR.ME and
      correct the PTEA value (this simply needs to be the upper 32-bits
      of the PTE, with the size and protection bit encoding).
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      d04a0f79
    • P
      sh: Support explicit L1 cache disabling. · e7bd34a1
      Paul Mundt 提交于
      This reworks the cache mode configuration in Kconfig, and allows for
      explicit selection of write-back/write-through/off configurations.
      All of the cache flushing routines are optimized away for the off
      case.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      e7bd34a1
  6. 05 3月, 2007 1 次提交
  7. 13 2月, 2007 2 次提交
    • P
      sh: Local TLB flushing variants for SMP prep. · ea9af694
      Paul Mundt 提交于
      Rename the existing flush routines to local_ variants for use by
      the IPI-backed global flush routines on SMP.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      ea9af694
    • P
      sh: Lazy dcache writeback optimizations. · 26b7a78c
      Paul Mundt 提交于
      This converts the lazy dcache handling to the model described in
      Documentation/cachetlb.txt and drops the ptep_get_and_clear() hacks
      used for the aliasing dcaches on SH-4 and SH7705 in 32kB mode. As a
      bonus, this slightly cuts down on the cache flushing frequency.
      
      With that and the PTEA handling out of the way, the update_mmu_cache()
      implementations can be consolidated, and we no longer have to worry
      about which configuration the cache is in for the SH7705 case.
      
      And finally, explicitly disable the lazy writeback on SMP (SH-4A).
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      26b7a78c
  8. 27 9月, 2006 2 次提交
  9. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4