1. 24 11月, 2012 1 次提交
    • R
      MIPS: Merge overlapping bootmem ranges · 0ec7ec75
      Ralf Baechle 提交于
      Without this, we may end up with something like this in /proc/iomem:
      
      01100000-014fffff : System RAM
        01100000-013bf48f : Kernel code
        013bf490-0149e01f : Kernel data
      01500000-0c0fffff : System RAM
      
      but the two System RAM ranges should be one single range.  This particular
      case will result in kexec failure on Octeon systems if the kernel being
      loaded by kexec is bigger than the already running kernel.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      0ec7ec75
  2. 17 5月, 2012 1 次提交
  3. 29 3月, 2012 1 次提交
  4. 09 12月, 2011 1 次提交
    • T
      mips: Use HAVE_MEMBLOCK_NODE_MAP · 9d15ffc8
      Tejun Heo 提交于
      mips used early_node_map[] just to prime free_area_init_nodes().  Now
      memblock can be used for the same purpose and early_node_map[] is
      scheduled to be dropped.  Use memblock instead.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Acked-by: NRalf Baechle <ralf@linux-mips.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: linux-mips@linux-mips.org
      9d15ffc8
  5. 08 12月, 2011 1 次提交
    • 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
  6. 01 11月, 2011 1 次提交
  7. 19 1月, 2011 1 次提交
  8. 30 10月, 2010 1 次提交
  9. 22 10月, 2010 1 次提交
  10. 22 5月, 2010 1 次提交
    • K
      MIPS: nofpu and nodsp only affect CPU0 · 0103d23f
      Kevin Cernekee 提交于
      The "nofpu" and "nodsp" kernel command line options currently do not
      affect CPUs that are brought online later in the boot process or
      hotplugged at runtime.  It is desirable to apply the nofpu/nodsp options
      to all CPUs in the system, so that surprising results are not seen when
      a process migrates from one CPU to another.
      
      [Ralf: Moved definitions of mips_fpu_disabled, fpu_disable,
      mips_dsp_disabled and dsp_disable from setup.c to cpu-probe.c to allow
      making mips_fpu_disabled and mips_dsp_disabled static.]
      Signed-off-by: NKevin Cernekee <cernekee@gmail.com>
      Cc: linux-mips@linux-mips.org
      Cc: linux-kernel@vger.kernel.org
      Patchwork: http://patchwork.linux-mips.org/patch/1169/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      0103d23f
  11. 17 12月, 2009 3 次提交
  12. 18 9月, 2009 1 次提交
  13. 30 3月, 2009 1 次提交
  14. 28 10月, 2008 1 次提交
  15. 06 9月, 2008 1 次提交
  16. 26 8月, 2008 1 次提交
  17. 16 7月, 2008 2 次提交
  18. 12 5月, 2008 1 次提交
  19. 08 2月, 2008 1 次提交
    • B
      Introduce flags for reserve_bootmem() · 72a7fe39
      Bernhard Walle 提交于
      This patchset adds a flags variable to reserve_bootmem() and uses the
      BOOTMEM_EXCLUSIVE flag in crashkernel reservation code to detect collisions
      between crashkernel area and already used memory.
      
      This patch:
      
      Change the reserve_bootmem() function to accept a new flag BOOTMEM_EXCLUSIVE.
      If that flag is set, the function returns with -EBUSY if the memory already
      has been reserved in the past.  This is to avoid conflicts.
      
      Because that code runs before SMP initialisation, there's no race condition
      inside reserve_bootmem_core().
      
      [akpm@linux-foundation.org: coding-style fixes]
      [akpm@linux-foundation.org: fix powerpc build]
      Signed-off-by: NBernhard Walle <bwalle@suse.de>
      Cc: <linux-arch@vger.kernel.org>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Vivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      72a7fe39
  20. 03 2月, 2008 1 次提交
  21. 29 1月, 2008 2 次提交
    • R
      87353d8a
    • M
      [MIPS] R4000/R4400 errata workarounds · 20d60d99
      Maciej W. Rozycki 提交于
       This is the gereric part of R4000/R4400 errata workarounds.  They include 
      compiler and assembler support as well as some source code modifications 
      to address the problems with some combinations of multiply/divide+shift 
      instructions as well as the daddi and daddiu instructions.
      
       Changes included are as follows:
      
      1. New Kconfig options to select workarounds by platforms as necessary.
      
      2. Arch top-level Makefile to pass necessary options to the compiler; also 
         incompatible configurations are detected (-mno-sym32 unsupported as 
         horribly intrusive for little gain).
      
      3. Bug detection updated and shuffled -- the multiply/divide+shift problem 
         is lethal enough that if not worked around it makes the kernel crash in 
         time_init() because of a division by zero; the daddiu erratum might 
         also trigger early potentially, though I have not observed it.  On the 
         other hand the daddi detection code requires the exception subsystem to 
         have been initialised (and is there mainly for information).
      
      4. r4k_daddiu_bug() added so that the existence of the erratum can be 
         queried by code at the run time as necessary; useful for generated code 
         like TLB fault and copy/clear page handlers.
      
      5. __udelay() updated as it uses multiplication in inline assembly.
      
       Note that -mdaddi requires modified toolchain (which has been maintained 
      by myself and available from my site for ~4years now -- versions covered 
      are GCC 2.95.4 - 4.1.2 and binutils from 2.13 onwards).  The -mfix-r4000 
      and -mfix-r4400 have been standard for a while though.
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      20d60d99
  22. 12 1月, 2008 1 次提交
  23. 27 11月, 2007 1 次提交
    • R
      [MIPS] 64-bit Sibyte kernels need DMA32. · cce335ae
      Ralf Baechle 提交于
      Sibyte SOCs only have 32-bit PCI.  Due to the sparse use of the address
      space only the first 1GB of memory is mapped at physical addresses
      below 1GB.  If a system has more than 1GB of memory 32-bit DMA will
      not be able to reach all of it.
      
      For now this patch is good enough to keep Sibyte users happy but it seems
      eventually something like swiotlb will be needed for Sibyte.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      cce335ae
  24. 12 10月, 2007 1 次提交
  25. 11 7月, 2007 1 次提交
  26. 05 3月, 2007 1 次提交
  27. 20 2月, 2007 1 次提交
  28. 13 2月, 2007 1 次提交
  29. 07 2月, 2007 4 次提交
  30. 30 11月, 2006 3 次提交
  31. 03 11月, 2006 1 次提交