1. 29 3月, 2012 1 次提交
  2. 08 12月, 2011 2 次提交
    • D
      MIPS: Handle initmem in systems with kernel not in add_memory_region() mem · 43064c0c
      David Daney 提交于
      This patch addresses a couple of related problems:
      
      1) The kernel may reside in physical memory outside of the ranges set
         by plat_mem_setup().  If this is the case, init mem cannot be
         reused as it resides outside of the range of pages that the kernel
         memory allocators control.
      
      2) initrd images might be loaded in physical memory outside of the
         ranges set by plat_mem_setup().  The memory likewise cannot be
         reused.  The patch doesn't handle this specific case, but the
         infrastructure is useful for future patches that do.
      
      The crux of the problem is that there are memory regions that need be
      memory_present(), but that cannot be free_bootmem() at the time of
      arch_mem_init().  We create a new type of memory (BOOT_MEM_INIT_RAM)
      for use with add_memory_region().  Then arch_mem_init() adds the init
      mem with this type if the init mem is not already covered by existing
      ranges.
      
      When memory is being freed into the bootmem allocator, we skip the
      BOOT_MEM_INIT_RAM ranges so they are not clobbered, but we do signal
      them as memory_present().  This way when they are later freed, the
      necessary memory manager structures have initialized and the Sparse
      allocater is prevented from crashing.
      
      The Octeon specific code that handled this case is removed, because
      the new general purpose code handles the case.
      Signed-off-by: NDavid Daney <ddaney@caviumnetworks.com>
      To: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/1988/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      43064c0c
    • R
      MIPS: Fix up inconsistency in panic() string argument. · ab75dc02
      Ralf Baechle 提交于
      Panic() invokes printk() to add a \n internally, so panic arguments should
      not themselves end in \n.  Panic invocations in arch/mips and elsewhere
      are inconsistently sometimes terminating in \n, sometimes not.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      ab75dc02
  3. 19 5月, 2011 1 次提交
  4. 31 3月, 2011 1 次提交
  5. 29 3月, 2011 1 次提交
    • D
      MIPS: Octeon: Rewrite interrupt handling code. · 0c326387
      David Daney 提交于
      This includes conversion to new style irq_chip functions, and
      correctly enabling/disabling per-CPU interrupts.
      
      The hardware interrupt bit to irq number mapping is now done with a
      flexible map, instead of by bit twiddling the irq number.
      
      [ tglx: Adjusted to new irq_cpu_on/offline callbacks and
              __irq_set_affinity_lock ]
      Signed-off-by: NDavid Daney <ddaney@caviumnetworks.com>
      Cc: linux-mips@linux-mips.org
      Cc: ralf@linux-mips.org
      LKML-Reference: <1301081931-11240-5-git-send-email-ddaney@caviumnetworks.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      0c326387
  6. 30 10月, 2010 3 次提交
  7. 05 8月, 2010 4 次提交
  8. 22 5月, 2010 2 次提交
  9. 13 4月, 2010 3 次提交
  10. 18 9月, 2009 2 次提交
  11. 25 6月, 2009 1 次提交
  12. 31 1月, 2009 1 次提交
  13. 11 1月, 2009 1 次提交
    • D
      MIPS: Add Cavium OCTEON processor support files to arch/mips/cavium-octeon. · 5b3b1688
      David Daney 提交于
      These are the rest of the new files needed to add OCTEON processor
      support to the Linux kernel.  Other than Makefile and Kconfig which
      should be obvious, we have:
      
      csrc-octeon.c   -- Clock source driver for OCTEON.
      dma-octeon.c    -- Helper functions for mapping DMA memory.
      flash_setup.c   -- Register on-board flash with the MTD subsystem.
      octeon-irq.c    -- OCTEON interrupt controller managment.
      octeon-memcpy.S -- Optimized memcpy() implementation.
      serial.c        -- Register 8250 platform driver and early console.
      setup.c         -- Early architecture initialization.
      smp.c           -- OCTEON SMP support.
      octeon_switch.S -- Scheduler context switch for OCTEON.
      c-octeon.c      -- OCTEON cache controller support.
      cex-oct.S       -- OCTEON cache exception handler.
      
      asm/mach-cavium-octeon/*.h -- Architecture include files.
      Signed-off-by: NTomaso Paoletti <tpaoletti@caviumnetworks.com>
      Signed-off-by: NDavid Daney <ddaney@caviumnetworks.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      
       create mode 100644 arch/mips/cavium-octeon/Kconfig
       create mode 100644 arch/mips/cavium-octeon/Makefile
       create mode 100644 arch/mips/cavium-octeon/csrc-octeon.c
       create mode 100644 arch/mips/cavium-octeon/dma-octeon.c
       create mode 100644 arch/mips/cavium-octeon/flash_setup.c
       create mode 100644 arch/mips/cavium-octeon/octeon-irq.c
       create mode 100644 arch/mips/cavium-octeon/octeon-memcpy.S
       create mode 100644 arch/mips/cavium-octeon/serial.c
       create mode 100644 arch/mips/cavium-octeon/setup.c
       create mode 100644 arch/mips/cavium-octeon/smp.c
       create mode 100644 arch/mips/include/asm/mach-cavium-octeon/cpu-feature-overrides.h
       create mode 100644 arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h
       create mode 100644 arch/mips/include/asm/mach-cavium-octeon/irq.h
       create mode 100644 arch/mips/include/asm/mach-cavium-octeon/kernel-entry-init.h
       create mode 100644 arch/mips/include/asm/mach-cavium-octeon/war.h
       create mode 100644 arch/mips/include/asm/octeon/octeon.h
       create mode 100644 arch/mips/kernel/octeon_switch.S
       create mode 100644 arch/mips/mm/c-octeon.c
       create mode 100644 arch/mips/mm/cex-oct.S
      5b3b1688