1. 21 12月, 2008 2 次提交
    • B
      powerpc/mm: Rework usage of _PAGE_COHERENT/NO_CACHE/GUARDED · 64b3d0e8
      Benjamin Herrenschmidt 提交于
      Currently, we never set _PAGE_COHERENT in the PTEs, we just OR it in
      in the hash code based on some CPU feature bit.  We also manipulate
      _PAGE_NO_CACHE and _PAGE_GUARDED by hand in all sorts of places.
      
      This changes the logic so that instead, the PTE now contains
      _PAGE_COHERENT for all normal RAM pages thay have I = 0 on platforms
      that need it.  The hash code clears it if the feature bit is not set.
      
      It also adds some clean accessors to setup various valid combinations
      of access flags and change various bits of code to use them instead.
      
      This should help having the PTE actually containing the bit
      combinations that we really want.
      
      I also removed _PAGE_GUARDED from _PAGE_BASE on 44x and instead
      set it explicitely from the TLB miss.  I will ultimately remove it
      completely as it appears that it might not be needed after all
      but in the meantime, having it in the TLB miss makes things a
      lot easier.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Acked-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      64b3d0e8
    • B
      powerpc/mm: Split low level tlb invalidate for nohash processors · 2a4aca11
      Benjamin Herrenschmidt 提交于
      Currently, the various forms of low level TLB invalidations are all
      implemented in misc_32.S for 32-bit processors, in a fairly scary
      mess of #ifdef's and with interesting duplication such as a whole
      bunch of code for FSL _tlbie and _tlbia which are no longer used.
      
      This moves things around such that _tlbie is now defined in
      hash_low_32.S and is only used by the 32-bit hash code, and all
      nohash CPUs use the various _tlbil_* forms that are now moved to
      a new file, tlb_nohash_low.S.
      
      I moved all the definitions for that stuff out of
      include/asm/tlbflush.h as they are really internal mm stuff, into
      mm/mmu_decl.h
      
      The code should have no functional changes.  I kept some variants
      inline for trivial forms on things like 40x and 8xx.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Acked-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      2a4aca11
  2. 03 12月, 2008 1 次提交
  3. 25 9月, 2008 1 次提交
    • B
      POWERPC: Allow 32-bit hashed pgtable code to support 36-bit physical · 4ee7084e
      Becky Bruce 提交于
      This rearranges a bit of code, and adds support for
      36-bit physical addressing for configs that use a
      hashed page table.  The 36b physical support is not
      enabled by default on any config - it must be
      explicitly enabled via the config system.
      
      This patch *only* expands the page table code to accomodate
      large physical addresses on 32-bit systems and enables the
      PHYS_64BIT config option for 86xx.  It does *not*
      allow you to boot a board with more than about 3.5GB of
      RAM - for that, SWIOTLB support is also required (and
      coming soon).
      Signed-off-by: NBecky Bruce <becky.bruce@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      4ee7084e
  4. 16 9月, 2008 1 次提交
  5. 20 5月, 2008 1 次提交
  6. 24 4月, 2008 1 次提交
  7. 03 4月, 2008 1 次提交
  8. 17 5月, 2007 1 次提交
    • K
      [POWERPC] Fix COMMON symbol warnings · 991eb43a
      Kumar Gala 提交于
      We get the following warnings in various ARCH=powerpc builds:
      
      WARNING: "ee_restarts" [arch/powerpc/kernel/built-in] is COMMON symbol
      WARNING: "fee_restarts" [arch/powerpc/kernel/built-in] is COMMON symbol
      WARNING: "htab_hash_searches" [arch/powerpc/mm/built-in] is COMMON symbol
      WARNING: "next_slot" [arch/powerpc/mm/built-in] is COMMON symbol
      WARNING: "mmu_hash_lock" [arch/powerpc/mm/built-in] is COMMON symbol
      WARNING: "primary_pteg_full" [arch/powerpc/mm/built-in] is COMMON symbol
      WARNING: "global_dbcr0" [arch/powerpc/kernel/built-in] is COMMON symbol
      
      Switch to moving local symbols (except mmu_hash_lock which is global) and
      space directive instead.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      991eb43a
  9. 13 4月, 2007 1 次提交
    • B
      [POWERPC] Fix 32-bit mm operations when not using BATs · ee4f2ea4
      Benjamin Herrenschmidt 提交于
      On hash table based 32 bits powerpc's, the hash management code runs with
      a big spinlock. It's thus important that it never causes itself a hash
      fault. That code is generally safe (it does memory accesses in real mode
      among other things) with the exception of the actual access to the code
      itself. That is, the kernel text needs to be accessible without taking
      a hash miss exceptions.
      
      This is currently guaranteed by having a BAT register mapping part of the
      linear mapping permanently, which includes the kernel text. But this is
      not true if using the "nobats" kernel command line option (which can be
      useful for debugging) and will not be true when using DEBUG_PAGEALLOC
      implemented in a subsequent patch.
      
      This patch fixes this by pre-faulting in the hash table pages that hit
      the kernel text, and making sure we never evict such a page under hash
      pressure.
      Signed-off-by: NBenjamin Herrenchmidt <benh@kernel.crashing.org>
      
       arch/powerpc/mm/hash_low_32.S |   22 ++++++++++++++++++++--
       arch/powerpc/mm/mem.c         |    3 ---
       arch/powerpc/mm/mmu_decl.h    |    4 ++++
       arch/powerpc/mm/pgtable_32.c  |   11 +++++++----
       4 files changed, 31 insertions(+), 9 deletions(-)
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      ee4f2ea4
  10. 01 7月, 2006 1 次提交
  11. 15 6月, 2006 1 次提交
  12. 10 2月, 2006 1 次提交
  13. 10 10月, 2005 2 次提交
  14. 26 9月, 2005 1 次提交
    • P
      powerpc: Merge enough to start building in arch/powerpc. · 14cf11af
      Paul Mackerras 提交于
      This creates the directory structure under arch/powerpc and a bunch
      of Kconfig files.  It does a first-cut merge of arch/powerpc/mm,
      arch/powerpc/lib and arch/powerpc/platforms/powermac.  This is enough
      to build a 32-bit powermac kernel with ARCH=powerpc.
      
      For now we are getting some unmerged files from arch/ppc/kernel and
      arch/ppc/syslib, or arch/ppc64/kernel.  This makes some minor changes
      to files in those directories and files outside arch/powerpc.
      
      The boot directory is still not merged.  That's going to be interesting.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      14cf11af
  15. 10 9月, 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