1. 20 9月, 2011 1 次提交
    • S
      powerpc/32: Pass device tree address as u64 to machine_init · 6dece0eb
      Scott Wood 提交于
      u64 is used rather than phys_addr_t to keep things simple, as
      this is called from assembly code.
      
      Update callers to pass a 64-bit address in r3/r4.  Other unused
      register assignments that were once parameters to machine_init
      are dropped.
      
      For FSL BookE, look up the physical address of the device tree from the
      effective address passed in r3 by the loader.  This is required for
      situations where memory does not start at zero (due to AMP or IOMMU-less
      virtualization), and thus the IMA doesn't start at zero, and thus the
      device tree effective address does not equal the physical address.
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      6dece0eb
  2. 19 7月, 2011 1 次提交
  3. 12 7月, 2011 1 次提交
  4. 17 6月, 2011 1 次提交
  5. 20 4月, 2011 1 次提交
  6. 14 10月, 2010 1 次提交
  7. 23 8月, 2010 1 次提交
  8. 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
  9. 14 7月, 2010 1 次提交
  10. 15 6月, 2010 1 次提交
  11. 19 3月, 2010 1 次提交
  12. 10 11月, 2009 1 次提交
    • F
      swiotlb: Defer swiotlb init printing, export swiotlb_print_info() · ad32e8cb
      FUJITA Tomonori 提交于
      This enables us to avoid printing swiotlb memory info when we
      initialize swiotlb. After swiotlb initialization, we could find
      that we don't need swiotlb.
      
      This patch removes the code to print swiotlb memory info in
      swiotlb_init() and exports the function to do that.
      Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Cc: chrisw@sous-sol.org
      Cc: dwmw2@infradead.org
      Cc: joerg.roedel@amd.com
      Cc: muli@il.ibm.com
      Cc: tony.luck@intel.com
      Cc: benh@kernel.crashing.org
      LKML-Reference: <1257849980-22640-9-git-send-email-fujita.tomonori@lab.ntt.co.jp>
      [ -v2: merge up conflict ]
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      ad32e8cb
  13. 11 9月, 2009 1 次提交
  14. 26 6月, 2009 1 次提交
    • B
      powerpc: Add irqtrace support for 32-bit powerpc · 5d38902c
      Benjamin Herrenschmidt 提交于
      Based on initial work from: Dale Farnsworth <dale@farnsworth.org>
      
      Add the low level irq tracing hooks for 32-bit powerpc needed
      to enable full lockdep functionality.
      
      The approach taken to deal with the code in entry_32.S is that
      we don't trace all the transitions of MSR:EE when we just turn
      it off to peek at TI_FLAGS without races. Only when we are
      calling into C code or returning from exceptions with a state
      that have changed from what lockdep thinks.
      
      There's a little bugger though: If we take an exception that
      keeps interrupts enabled (such as an alignment exception) while
      interrupts are enabled, we will call trace_hardirqs_on() on the
      way back spurriously. Not a big deal, but to get rid of it would
      require remembering in pt_regs that the exception was one of the
      type that kept interrupts enabled which we don't know at this
      stage. (Well, we could test all cases for regs->trap but that
      sucks too much).
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Tested-by: NKumar Gala <galak@kernel.crashing.org>
      5d38902c
  15. 09 6月, 2009 1 次提交
  16. 23 12月, 2008 1 次提交
  17. 21 12月, 2008 2 次提交
  18. 16 12月, 2008 2 次提交
  19. 14 10月, 2008 1 次提交
  20. 20 8月, 2008 1 次提交
  21. 24 7月, 2008 1 次提交
    • J
      kgdb, powerpc: arch specific powerpc kgdb support · 17ce452f
      Jason Wessel 提交于
      This patch removes the old kgdb reminants from ARCH=powerpc and
      implements the new style arch specific stub for the common kgdb core
      interface.
      
      It is possible to have xmon and kgdb in the same kernel, but you
      cannot use both at the same time because there is only one set of
      debug hooks.
      
      The arch specific kgdb implementation saves the previous state of the
      debug hooks and restores them if you unconfigure the kgdb I/O driver.
      Kgdb should have no impact on a kernel that has no kgdb I/O driver
      configured.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      17ce452f
  22. 03 7月, 2008 1 次提交
    • K
      powerpc: Fixup lwsync at runtime · 2d1b2027
      Kumar Gala 提交于
      To allow for a single kernel image on e500 v1/v2/mc we need to fixup lwsync
      at runtime.  On e500v1/v2 lwsync causes an illop so we need to patch up
      the code.  We default to 'sync' since that is always safe and if the cpu
      is capable we will replace 'sync' with 'lwsync'.
      
      We introduce CPU_FTR_LWSYNC as a way to determine at runtime if this is
      needed.  This flag could be moved elsewhere since we dont really use it
      for the normal CPU_FTR purpose.
      
      Finally we only store the relative offset in the fixup section to keep it
      as small as possible rather than using a full fixup_entry.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      2d1b2027
  23. 26 6月, 2008 1 次提交
  24. 03 6月, 2008 1 次提交
  25. 27 5月, 2008 1 次提交
    • S
      ftrace: powerpc clean ups · ccbfac29
      Steven Rostedt 提交于
      This patch cleans up the ftrace code in PowerPC based on the comments from
      Michael Ellerman.
      Signed-off-by: NSteven Rostedt <srostedt@redhat.com>
      Cc: Michael Ellerman <michael@ellerman.id.au>
      Cc: proski@gnu.org
      Cc: a.p.zijlstra@chello.nl
      Cc: Pekka Paalanen <pq@iki.fi>
      Cc: Steven Rostedt <srostedt@redhat.com>
      Cc: linuxppc-dev@ozlabs.org
      Cc: Soeren Sandmann Pedersen <sandmann@redhat.com>
      Cc: paulus@samba.org
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      ccbfac29
  26. 24 5月, 2008 1 次提交
  27. 29 4月, 2008 1 次提交
    • K
      [POWERPC] Add IRQSTACKS support on ppc32 · 85218827
      Kumar Gala 提交于
      This makes it possible to use separate stacks for hard and soft IRQs
      on 32-bit powerpc as well as on 64-bit.  The code for 32-bit is just
      the 32-bit analog of the 64-bit code.
      
      * Added allocation and initialization of the irq stacks.  We limit the
        stacks to be in lowmem for ppc32.
      * Implemented ppc32 versions of call_do_softirq() and call_handle_irq()
        to switch the stack pointers
      * Reworked how we do stack overflow detection.  We now keep around the
        limit of the stack in the thread_struct and compare against the limit
        to see if we've overflowed.  We can now use this on ppc64 if desired.
      
      [ paulus@samba.org: Fixed bug on 6xx where we need to reload r9 with the
        thread_info pointer. ]
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      85218827
  28. 18 4月, 2008 1 次提交
    • B
      ppc: remove ppc_ide_md · 1d850bd0
      Bartlomiej Zolnierkiewicz 提交于
      * Add special cases for pplus and prep to ide_default_{irq,io_base}()
        (+ FIXMEs about the need to use IDE platform host driver instead).
      
      * Remove no longer needed ppc_ide_md and struct ide_machdep_calls.
      
      * Then remove <linux/ide.h> include from:
        - arch/powerpc/kernel/setup_32.c
        - arch/ppc/kernel/ppc_ksyms.c
        - arch/ppc/kernel/setup.c
        - arch/ppc/platforms/pplus.c
        - arch/ppc/platforms/prep_setup.c
      
      There should be no functional changes caused by this patch.
      
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      1d850bd0
  29. 17 4月, 2008 1 次提交
  30. 01 4月, 2008 1 次提交
  31. 11 10月, 2007 1 次提交
  32. 22 9月, 2007 1 次提交
    • E
      [POWERPC] Fix build errors when BLOCK=n · 576e393e
      Emil Medve 提交于
      These are the symptom error messages:
      
        CC      arch/powerpc/kernel/setup_32.o
      In file included from include/linux/blkdev.h:17,
                       from include/linux/ide.h:13,
                       from arch/powerpc/kernel/setup_32.c:13:
      include/linux/bsg.h:67: warning: 'struct request_queue' declared inside parameter list
      include/linux/bsg.h:67: warning: its scope is only this definition or declaration, which is probably not what you want
      include/linux/bsg.h:71: warning: 'struct request_queue' declared inside parameter list
      In file included from arch/powerpc/kernel/setup_32.c:13:
      include/linux/ide.h:857: error: field 'wrq' has incomplete type
      
        CC      arch/powerpc/kernel/ppc_ksyms.o
      In file included from include/linux/blkdev.h:17,
                       from include/linux/ide.h:13,
                       from arch/powerpc/kernel/ppc_ksyms.c:15:
      include/linux/bsg.h:67: warning: 'struct request_queue' declared inside parameter list
      include/linux/bsg.h:67: warning: its scope is only this definition or declaration, which is probably not what you want
      include/linux/bsg.h:71: warning: 'struct request_queue' declared inside parameter list
      In file included from arch/powerpc/kernel/ppc_ksyms.c:15:
      include/linux/ide.h:857: error: field 'wrq' has incomplete type
      
      The fix tries to use the smallest scope CONFIG_* symbols that will fix
      the build problem.  In this case <linux/ide.h> needs to be included
      only if IDE=y or IDE=m were selected.  Also, ppc_ide_md is needed only
      if BLK_DEV_IDE=y or BLK_DEV_IDE=m
      
      Moved the EXPORT_SYMBOL(ppc_ide_md) from ppc_ksysms.c next to its
      declaration in setup_32.c which made <linux/ide.h> not needed. With
      <linux/ide.h> gone from ppc_ksyms.c, <asm/cacheflush.h> is needed to
      address the following warnings and errors:
      
        CC      arch/powerpc/kernel/ppc_ksyms.o
      arch/powerpc/kernel/ppc_ksyms.c:122: error: '__flush_icache_range' undeclared here (not in a function)
      arch/powerpc/kernel/ppc_ksyms.c:122: warning: type defaults to 'int' in declaration of '__flush_icache_range'
      arch/powerpc/kernel/ppc_ksyms.c:123: error: 'flush_dcache_range' undeclared here (not in a function)
      arch/powerpc/kernel/ppc_ksyms.c:123: warning: type defaults to 'int' in declaration of 'flush_dcache_range'
      Signed-off-by: NEmil Medve <Emilian.Medve@Freescale.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      576e393e
  33. 23 8月, 2007 1 次提交
    • K
      [POWERPC] Remove old includes from arch/ppc · ed16c20d
      Kumar Gala 提交于
      Remove includes of files that existed in arch/ppc that we dont need in
      arch/powerpc anymore.  The following includes were removed:
      
       <asm/amigappc.h>
       <asm/bootinfo.h>
       <asm/ppcboot.h>
       <asm/ppc_sys.h>
       <asm/residual.h>
       <asm/m8260_pci.h>
      
      This also caused platforms/embedded6xx/mpc7448_hpc2.h to no longer be
      needed and thus removed.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      ed16c20d
  34. 14 6月, 2007 1 次提交
    • D
      [POWERPC] Merge CPU features pertaining to icache coherency · 4508dc21
      David Gibson 提交于
      Currently the powerpc kernel has a 64-bit only feature,
      COHERENT_ICACHE used for those CPUS which maintain icache/dcache
      coherency in hardware (POWER5, essentially).  It also has a feature,
      SPLIT_ID_CACHE, which is used on CPUs which have separate i and
      d-caches, which is to say everything except 601 and Freescale E200.
      
      In nearly all the places we check the SPLIT_ID_CACHE, what we actually
      care about is whether the i and d-caches are coherent (which they will
      be, trivially, if they're the same cache).
      
      This tries to clarify the situation a little.  The COHERENT_ICACHE
      feature becomes availble on 32-bit and is set for all CPUs where i and
      d-cache are effectively coherent, whether this is due to special logic
      (POWER5) or because they're unified.  We check this, instead of
      SPLIT_ID_CACHE nearly everywhere.
      
      The SPLIT_ID_CACHE feature itself is replaced by a UNIFIED_ID_CACHE
      feature with reversed sense, set only on 601 and Freescale E200.  In
      the two places (one Freescale BookE specific) where we really care
      whether it's a unified cache, not whether they're coherent, we check
      this feature.  The CPUs with unified cache are so few, we could
      consider replacing this feature bit with explicit checks against the
      PVR.
      
      This will make unifying the 32-bit and 64-bit cache flush code a
      little more straightforward.
      Signed-off-by: NDavid Gibson <dwg@au1.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      4508dc21
  35. 13 4月, 2007 1 次提交
  36. 16 3月, 2007 1 次提交
  37. 14 2月, 2007 1 次提交
    • D
      [POWERPC] Use udbg_early_init() on ppc32 · 719c91cc
      David Gibson 提交于
      udbg_early_init() is a function used on 64 bit systems, which
      initializes whichever early udbg backend is configured.  This function
      is not called on 32-bit, however if btext early debug is enabled it
      does have an explicit, inline, #ifdef-ed assignment performing
      analagous initialization.
      
      This patch makes things more uniform by folding the btext
      initialization as an option into udbg_early_init() and calling that
      from the 32-bit setup path.
      Signed-off-by: NDavid Gibson <dwg@au1.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      719c91cc
  38. 08 2月, 2007 1 次提交