1. 27 10月, 2010 1 次提交
  2. 27 2月, 2010 1 次提交
    • D
      MIPS: Implement Read Inhibit/eXecute Inhibit · 6dd9344c
      David Daney 提交于
      The SmartMIPS ASE specifies how Read Inhibit (RI) and eXecute Inhibit
      (XI) bits in the page tables work.  The upper two bits of EntryLo{0,1}
      are RI and XI when the feature is enabled in the PageGrain register.
      SmartMIPS only covers 32-bit systems.  Cavium Octeon+ extends this to
      64-bit systems by continuing to place the RI and XI bits in the top of
      EntryLo even when EntryLo is 64-bits wide.
      
      Because we need to carry the RI and XI bits in the PTE, the layout of
      the PTE is changed.  There is a two instruction overhead in the TLB
      refill hot path to get the EntryLo bits into the proper position.
      Also the TLB load exception has to probe the TLB to check if RI or XI
      caused the exception.
      
      Also of note is that the layout of the PTE bits is done at compile and
      runtime rather than statically.  In the 32-bit case this allows for
      the same number of PFN bits as before the patch as the _PAGE_HUGE is
      not supported in 32-bit kernels (we have _PAGE_NO_EXEC and
      _PAGE_NO_READ instead of _PAGE_READ and _PAGE_HUGE).
      
      The patch is tested on Cavium Octeon+, but should also work on 32-bit
      systems with the Smart-MIPS ASE.
      Signed-off-by: NDavid Daney <ddaney@caviumnetworks.com>
      To: linux-mips@linux-mips.org
      Patchwork: http://patchwork.linux-mips.org/patch/952/
      Patchwork: http://patchwork.linux-mips.org/patch/956/
      Patchwork: http://patchwork.linux-mips.org/patch/962/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      6dd9344c
  3. 11 10月, 2008 1 次提交
  4. 24 9月, 2008 1 次提交
    • J
      [MIPS] Fixe the definition of PTRS_PER_PGD · 5291925a
      Jack Tan 提交于
      When we use > 4KB's page size the original definition is not consistent
      with PGDIR_SIZE. For exeample, if we use 16KB page size the PGDIR_SHIFT is
      (14-2) + 14 = 26, PGDIR_SIZE is 2^26,so the PTRS_PER_PGD should be:
      
      	2^32/2^26 = 2^6
      
      but the original definition of PTRS_PER_PGD is 4096 (PGDIR_ORDER = 0).
      
      So, this definition needs to be consistent with the PGDIR_SIZE.
      
      And the new definition is consistent with the PGD init in pagetable_init().
      Signed-off-by: NDajie Tan <jiankemeng@gmail.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      5291925a
  5. 29 4月, 2008 1 次提交
  6. 12 3月, 2008 1 次提交
  7. 12 10月, 2007 1 次提交
  8. 27 8月, 2007 2 次提交
  9. 07 12月, 2006 1 次提交
  10. 26 9月, 2006 1 次提交
    • D
      [PATCH] Standardize pxx_page macros · 46a82b2d
      Dave McCracken 提交于
      One of the changes necessary for shared page tables is to standardize the
      pxx_page macros.  pte_page and pmd_page have always returned the struct
      page associated with their entry, while pte_page_kernel and pmd_page_kernel
      have returned the kernel virtual address.  pud_page and pgd_page, on the
      other hand, return the kernel virtual address.
      
      Shared page tables needs pud_page and pgd_page to return the actual page
      structures.  There are very few actual users of these functions, so it is
      simple to standardize their usage.
      
      Since this is basic cleanup, I am submitting these changes as a standalone
      patch.  Per Hugh Dickins' comments about it, I am also changing the
      pxx_page_kernel macros to pxx_page_vaddr to clarify their meaning.
      Signed-off-by: NDave McCracken <dmccr@us.ibm.com>
      Cc: Hugh Dickins <hugh@veritas.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      46a82b2d
  11. 06 6月, 2006 2 次提交
  12. 26 4月, 2006 1 次提交
  13. 21 3月, 2006 1 次提交
  14. 30 10月, 2005 4 次提交
  15. 20 4月, 2005 1 次提交
  16. 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