1. 09 12月, 2011 1 次提交
  2. 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
  3. 12 7月, 2011 1 次提交
  4. 31 3月, 2011 1 次提交
  5. 29 11月, 2010 1 次提交
  6. 23 8月, 2010 1 次提交
  7. 05 5月, 2010 3 次提交
  8. 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
  9. 20 8月, 2009 1 次提交
    • B
      powerpc: Use names rather than numbers for SPRGs (v2) · ee43eb78
      Benjamin Herrenschmidt 提交于
      The kernel uses SPRG registers for various purposes, typically in
      low level assembly code as scratch registers or to hold per-cpu
      global infos such as the PACA or the current thread_info pointer.
      
      We want to be able to easily shuffle the usage of those registers
      as some implementations have specific constraints realted to some
      of them, for example, some have userspace readable aliases, etc..
      and the current choice isn't always the best.
      
      This patch should not change any code generation, and replaces the
      usage of SPRN_SPRGn everywhere in the kernel with a named replacement
      and adds documentation next to the definition of the names as to
      what those are used for on each processor family.
      
      The only parts that still use the original numbers are bits of KVM
      or suspend/resume code that just blindly needs to save/restore all
      the SPRGs.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ee43eb78
  10. 27 4月, 2009 1 次提交
  11. 29 12月, 2008 1 次提交
  12. 21 12月, 2008 2 次提交
  13. 10 7月, 2008 1 次提交
  14. 18 6月, 2008 1 次提交
  15. 03 6月, 2008 1 次提交
  16. 06 5月, 2008 1 次提交
    • S
      [POWERPC] 4xx: Fix problem with new TLB storage attibute fields on 440x6 core · a96df496
      Stefan Roese 提交于
      The new 440x6 core used on AMCC 460EX/GT introduces new storage attibure
      fields to the TLB2 word. Those are:
      
      Bit  11   12   13   14   15
           WL1  IL1I IL1D IL2I IL2D
      
      With these bits the cache (L1 and L2) can be configured in a more flexible
      way, instruction- and data-cache independently now. The "old" I and W bits
      are still available and setting these old bits will automically set these
      new bits too (for backward compatibilty).
      
      The current code does not clear these fields resulting in disabling the cache
      by chance. This patch now makes sure that these new bits are cleared when
      the TLB2 word is written.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Signed-off-by: NJosh Boyer <jwboyer@linux.vnet.ibm.com>
      a96df496
  17. 17 4月, 2008 1 次提交
    • K
      [POWERPC] Rework Book-E debug exception handling · eb0cd5fd
      Kumar Gala 提交于
      The architecture allows for "Book-E" style debug interrupts to either go
      to critial interrupts of their own debug interrupt level.  To allow for
      a dynamic kernel to support machines of either type we want to be able to
      compile in the interrupt handling code for both exception levels.
      
      Towards this goal we renamed the debug handling macros to specify the
      interrupt level in their name (DEBUG_CRIT_EXCEPTION/DebugCrit and
      DEBUG_DEBUG_EXCEPTION/DebugDebug).
      
      Additionally, on the Freescale Book-e parts we expanded the exception
      stacks to cover the maximum case of needing three exception stacks (normal,
      machine check and debug).
      
      There is some kernel text space optimization to be gained if a kernel is
      configured for a specific Freescale implementation but we aren't handling
      that now to allow for the single kernel image support.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      eb0cd5fd
  18. 24 12月, 2007 1 次提交
  19. 07 12月, 2007 1 次提交
  20. 12 10月, 2007 1 次提交
  21. 03 10月, 2007 1 次提交
  22. 19 9月, 2007 1 次提交
  23. 14 9月, 2007 1 次提交
    • K
      [POWERPC] Fix modpost warnings from head*.S on ppc32 · 748a7683
      Kumar Gala 提交于
      We get warnings like the following from the various ppc32 head*.S files:
      
      WARNING: vmlinux.o(.text+0x358): Section mismatch: reference to .init.text:early_init (between 'skpinv' and 'interrupt_base')
      WARNING: vmlinux.o(.text+0x380): Section mismatch: reference to .init.text:machine_init (between 'skpinv' and 'interrupt_base')
      WARNING: vmlinux.o(.text+0x384): Section mismatch: reference to .init.text:MMU_init (between 'skpinv' and 'interrupt_base')
      WARNING: vmlinux.o(.text+0x3aa): Section mismatch: reference to .init.text:start_kernel (between 'skpinv' and 'interrupt_base')
      WARNING: vmlinux.o(.text+0x3ae): Section mismatch: reference to .init.text:start_kernel (between 'skpinv' and 'interrupt_base')
      
      Added a .text.head section simliar to what other architectures do since
      modpost already excludes this from its warnings.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      748a7683
  24. 07 9月, 2007 1 次提交
  25. 08 5月, 2007 2 次提交
    • D
      [POWERPC] Early serial debug support for PPC44x · d9b55a03
      David Gibson 提交于
      This adds support for early serial debugging via the built in
      port on IBM/AMCC PowerPC 44x CPUs.  It uses a bolted TLB entry in
      address space 1 for the UART's mapping, allowing robust debugging both
      before and after the initialization of the MMU.
      Signed-off-by: NDavid Gibson <dwg@au1.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      d9b55a03
    • D
      [POWERPC] Add powerpc/platforms/44x, disable platforms/4xx for now · 2cd97647
      David Gibson 提交于
      This prepares for Ebony/440 support by creating an
      arch/powerpc/platforms/44x directory.  It is populated with a single
      misc_44x.S file, into which is moved the 44x specific reset code from
      head_44x.S (on the grounds that we should really stop clogging up the
      head_* files with random asm helper routines).
      
      At the same time, we disable the (empty save Kconfig and Makefile)
      arch/powerpc/platforms/4xx directory from the arch/powerpc/platforms
      Makefile.  Contrary to the comment in
      arch/powerpc/platforms/4xx/Makefile, attempting to build such an empty
      Makefile will fail, thus breaking compile for the 44x platforms we're
      about to add.  It can go back in once we start porting some of the 40x
      platforms (and thus it becomes non-empty).
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      2cd97647
  26. 02 5月, 2007 1 次提交
  27. 13 2月, 2007 1 次提交
  28. 01 7月, 2006 1 次提交
  29. 10 2月, 2006 1 次提交
  30. 17 10月, 2005 1 次提交
  31. 01 10月, 2005 1 次提交
  32. 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
  33. 10 9月, 2005 1 次提交
  34. 05 9月, 2005 1 次提交
    • K
      [PATCH] ppc32: Added support for the Book-E style Watchdog Timer · a2f40ccd
      Kumar Gala 提交于
      PowerPC 40x and Book-E processors support a watchdog timer at the processor
      core level.  The timer has implementation dependent timeout frequencies
      that can be configured by software.
      
      One the first Watchdog timeout we get a critical exception.  It is left to
      board specific code to determine what should happen at this point.  If
      nothing is done and another timeout period expires the processor may
      attempt to reset the machine.
      
      Command line parameters:
        wdt=0 : disable watchdog (default)
        wdt=1 : enable watchdog
      
        wdt_period=N : N sets the value of the Watchdog Timer Period.
      
        The Watchdog Timer Period meaning is implementation specific. Check
        User Manual for the processor for more details.
      
      This patch is based off of work done by Takeharu Kato.
      Signed-off-by: NMatt McClintock <msm@freescale.com>
      Signed-off-by: NKumar Gala <kumar.gala@freescale.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      a2f40ccd
  35. 02 8月, 2005 1 次提交
  36. 31 7月, 2005 1 次提交