1. 05 8月, 2010 1 次提交
    • B
      memblock: Introduce default allocation limit and use it to replace explicit ones · e63075a3
      Benjamin Herrenschmidt 提交于
      This introduce memblock.current_limit which is used to limit allocations
      from memblock_alloc() or memblock_alloc_base(..., MEMBLOCK_ALLOC_ACCESSIBLE).
      
      The old MEMBLOCK_ALLOC_ANYWHERE changes value from 0 to ~(u64)0 and can still
      be used with memblock_alloc_base() to allocate really anywhere.
      
      It is -no-longer- cropped to MEMBLOCK_REAL_LIMIT which disappears.
      
      Note to archs: I'm leaving the default limit to MEMBLOCK_ALLOC_ANYWHERE. I
      strongly recommend that you ensure that you set an appropriate limit
      during boot in order to guarantee that an memblock_alloc() at any time
      results in something that is accessible with a simple __va().
      
      The reason is that a subsequent patch will introduce the ability for
      the array to resize itself by reallocating itself. The MEMBLOCK core will
      honor the current limit when performing those allocations.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      e63075a3
  2. 14 7月, 2010 1 次提交
  3. 12 2月, 2010 1 次提交
  4. 15 12月, 2009 1 次提交
  5. 27 8月, 2009 1 次提交
    • B
      powerpc/mm: Cleanup handling of execute permission · ea3cc330
      Benjamin Herrenschmidt 提交于
      This is an attempt at cleaning up a bit the way we handle execute
      permission on powerpc. _PAGE_HWEXEC is gone, _PAGE_EXEC is now only
      defined by CPUs that can do something with it, and the myriad of
      #ifdef's in the I$/D$ coherency code is reduced to 2 cases that
      hopefully should cover everything.
      
      The logic on BookE is a little bit different than what it was though
      not by much. Since now, _PAGE_EXEC will be set by the generic code
      for executable pages, we need to filter out if they are unclean and
      recover it. However, I don't expect the code to be more bloated than
      it already was in that area due to that change.
      
      I could boast that this brings proper enforcing of per-page execute
      permissions to all BookE and 40x but in fact, we've had that now for
      some time as a side effect of my previous rework in that area (and
      I didn't even know it :-) We would only enable execute permission if
      the page was cache clean and we would only cache clean it if we took
      and exec fault. Since we now enforce that the later only work if
      VM_EXEC is part of the VMA flags, we de-fact already enforce per-page
      execute permissions... Unless I missed something
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ea3cc330
  6. 13 11月, 2008 1 次提交
    • G
      powerpc/40x: Limit allocable DRAM during early mapping · 5907630f
      Grant Erickson 提交于
      If the size of DRAM is not an exact power of two, we may not have
      covered DRAM in its entirety with large 16 and 4 MiB pages.  If that
      is the case, we can get non-recoverable page faults when doing the
      final PTE mappings for the non-large page PTEs.
      
      Consequently, we restrict the top end of DRAM currently allocable
      by updating '__initial_memory_limit_addr' so that calls to the LMB to
      allocate PTEs for "tail" coverage with normal-sized pages (or other
      reasons) do not attempt to allocate outside the allowed range.
      Signed-off-by: NGrant Erickson <gerickson@nuovations.com>
      Signed-off-by: NJosh Boyer <jwboyer@linux.vnet.ibm.com>
      5907630f
  7. 17 4月, 2008 1 次提交
    • K
      [POWERPC] Remove and replace uses of PPC_MEMSTART with memstart_addr · 99c62dd7
      Kumar Gala 提交于
      A number of users of PPC_MEMSTART (40x, ppc_mmu_32) can just always
      use 0 as we don't support booting these kernels at non-zero physical
      addresses since their exception vectors must be at 0 (or 0xfffx_xxxx).
      
      For the sub-arches that support relocatable interrupt vectors
      (book-e), it's reasonable to have memory start at a non-zero physical
      address.  For those cases use the variable memstart_addr instead of
      the #define PPC_MEMSTART since the only uses of PPC_MEMSTART are for
      initialization and in the future we can set memstart_addr at runtime
      to have a relocatable kernel.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      99c62dd7
  8. 01 11月, 2007 1 次提交
    • G
      [POWERPC] ppc405 Fix arithmatic rollover bug when memory size under 16M · bd942ba3
      Grant Likely 提交于
      mmu_mapin_ram() loops over total_lowmem to setup page tables.  However, if
      total_lowmem is less that 16M, the subtraction rolls over and results in
      a number just under 4G (because total_lowmem is an unsigned value).
      
      This patch rejigs the loop from countup to countdown to eliminate the
      bug.
      
      Special thanks to Magnus Hjorth who wrote the original patch to fix this
      bug.  This patch improves on his by making the loop code simpler (which
      also eliminates the possibility of another rollover at the high end)
      and also applies the change to arch/powerpc.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Signed-off-by: NJosh Boyer <jwboyer@linux.vnet.ibm.com>
      bd942ba3
  9. 20 8月, 2007 2 次提交
  10. 14 6月, 2007 1 次提交
  11. 01 7月, 2006 1 次提交
  12. 24 11月, 2005 1 次提交
  13. 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
  14. 26 6月, 2005 1 次提交
  15. 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