1. 03 12月, 2008 3 次提交
    • K
      powerpc/85xx: minor head_fsl_booke.S cleanup · 06b90969
      Kumar Gala 提交于
      Removed unused branch labels
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      06b90969
    • T
      powerpc: Better setup of boot page TLB entry · b3898895
      Trent Piepho 提交于
      The initial TLB mapping for the kernel boot didn't set the memory coherent
      attribute, MAS2[M], in SMP mode.
      
      If this code supported booting a secondary processor, which it doesn't yet,
      but if it did, then when a secondary processor boots, it would probably signal
      the primary processor by setting a variable called something like
      __secondary_hold_acknowledge.  However, due to the lack of the M bit, the
      primary processor would not snoop the transaction (even if a transaction were
      broadcast).  If primary CPU's L1 D-cache had a copy, it would not be flushed
      and the CPU would never see the ack.  Which would have resulted in the primary
      CPU spinning for a long time, perhaps a full second before it gives up, while
      it would have waited for the ack from the secondary CPU that it wouldn't have
      been able to see because of the stale cache.
      
      The value of MAS2 for the boot page TLB1 entry is a compile time constant,
      so there is no need to calculate it in powerpc assembly language.
      
      Also, from the MPC8572 manual section 6.12.5.3, "Bits that represent
      offsets within a page are ignored and should be cleared." Existing code
      didn't clear them, this code does.
      
      The same when the page of KERNELBASE is found; we don't need to use asm to
      mask the lower 12 bits off.
      
      In the code that computes the address to rfi from, don't hard code the
      offset to 24 bytes, but have the assembler figure that out for us.
      Signed-off-by: NTrent Piepho <tpiepho@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      b3898895
    • L
      powerpc: Add SPE/EFP math emulation for E500v1/v2 processors. · 6a800f36
      Liu Yu 提交于
      This patch add the handlers of SPE/EFP exceptions.
      The code is used to emulate float point arithmetic,
      when MSR(SPE) is enabled and receive EFP data interrupt or EFP round interrupt.
      
      This patch has no conflict with or dependence on FP math-emu.
      
      The code has been tested by TestFloat.
      
      Now the code doesn't support SPE/EFP instructions emulation
      (it won't be called when receive program interrupt),
      but it could be easily added.
      Signed-off-by: NLiu Yu <yu.liu@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      6a800f36
  2. 14 10月, 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. 20 9月, 2008 1 次提交
  5. 17 7月, 2008 2 次提交
  6. 26 6月, 2008 1 次提交
  7. 19 6月, 2008 1 次提交
    • K
      powerpc/booke: Add support for new e500mc core · 3dfa8773
      Kumar Gala 提交于
      The new e500mc core from Freescale is based on the e500v2 but with the
      following changes:
      
      * Supports only the Enhanced Debug Architecture (DSRR0/1, etc)
      * Floating Point
      * No SPE
      * Supports lwsync
      * Doorbell Exceptions
      * Hypervisor
      * Cache line size is now 64-bytes (e500v1/v2 have a 32-byte cache line)
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      3dfa8773
  8. 03 6月, 2008 1 次提交
  9. 24 4月, 2008 1 次提交
    • K
      [POWERPC] 85xx: Add support for relocatable kernel (and booting at non-zero) · 37dd2bad
      Kumar Gala 提交于
      Added support to allow an 85xx kernel to be run from a non-zero physical
      address (useful for cooperative asymmetric multiprocessing situations and
      kdump).  The support can be configured at compile time by setting
      CONFIG_PAGE_OFFSET, CONFIG_KERNEL_START, and CONFIG_PHYSICAL_START as
      desired.
      
      Alternatively, the kernel build can set CONFIG_RELOCATABLE.  Setting this
      config option causes the kernel to determine at runtime the physical
      addresses of CONFIG_PAGE_OFFSET and CONFIG_KERNEL_START.  If
      CONFIG_RELOCATABLE is set, then CONFIG_PHYSICAL_START has no meaning.
      However, CONFIG_PHYSICAL_START will always be used to set the LOAD program
      header physical address field in the resulting ELF image.
      
      Currently we are limited to running at a physical address that is a
      multiple of 256M.  This is due to how we map TLBs to cover
      lowmem.  This should be fixed to allow 64M or maybe even 16M alignment
      in the future.  It is considered an error to try and run a kernel at a
      non-aligned physical address.
      
      All the magic for this support is accomplished by proper initialization
      of the kernel memory subsystem and use of ARCH_PFN_OFFSET.
      
      The use of ARCH_PFN_OFFSET only affects normal memory and not IO mappings.
      ioremap uses map_page and isn't affected by ARCH_PFN_OFFSET.
      
      /dev/mem continues to allow access to any physical address in the system
      regardless of how CONFIG_PHYSICAL_START is set.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      37dd2bad
  10. 17 4月, 2008 2 次提交
    • 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
    • K
      [POWERPC] 85xx: Cleanup TLB initialization · 0aef996b
      Kumar Gala 提交于
      * Determine the RPN we are running the kernel at runtime rather
        than using compile time constant for initial TLB
      
      * Cleanup adjust_total_lowmem() to respect memstart_addr and
        be a bit more clear on variables that are sizes vs addresses.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      0aef996b
  11. 24 1月, 2008 1 次提交
  12. 07 12月, 2007 1 次提交
  13. 12 10月, 2007 1 次提交
  14. 05 10月, 2007 1 次提交
  15. 19 9月, 2007 1 次提交
  16. 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
  17. 14 2月, 2007 1 次提交
  18. 13 2月, 2007 1 次提交
  19. 01 7月, 2006 1 次提交
  20. 10 2月, 2006 2 次提交
  21. 14 11月, 2005 1 次提交
  22. 17 10月, 2005 1 次提交
  23. 01 10月, 2005 1 次提交
  24. 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
  25. 19 9月, 2005 1 次提交
  26. 10 9月, 2005 1 次提交
  27. 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
  28. 26 6月, 2005 1 次提交
  29. 29 5月, 2005 1 次提交
  30. 01 5月, 2005 1 次提交
  31. 17 4月, 2005 2 次提交
    • K
      [PATCH] ppc32: Support 36-bit physical addressing on e500 · f50b153b
      Kumar Gala 提交于
      To add support for 36-bit physical addressing on e500 the following changes
      have been made.  The changes are generalized to support any physical address
      size larger than 32-bits:
      
      * Allow FSL Book-E parts to use a 64-bit PTE, it is 44-bits of pfn, 20-bits
        of flags.
      
      * Introduced new CPU feature (CPU_FTR_BIG_PHYS) to allow runtime handling of
        updating hardware register (SPRN_MAS7) which holds the upper 32-bits of
        physical address that will be written into the TLB.  This is useful since
        not all e500 cores support 36-bit physical addressing.
      
      * Currently have a pass through implementation of fixup_bigphys_addr
      
      * Moved _PAGE_DIRTY in the 64-bit PTE case to free room for three additional
        storage attributes that may exist in future FSL Book-E cores and updated
        fault handler to copy these bits into the hardware TLBs.
      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>
      f50b153b
    • 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