1. 24 1月, 2016 1 次提交
  2. 06 10月, 2015 1 次提交
  3. 25 11月, 2014 1 次提交
  4. 01 4月, 2014 1 次提交
    • R
      MIPS: Fix gigaton of warning building with microMIPS. · a809d460
      Ralf Baechle 提交于
      With binutils 2.24 the attempt to switch with microMIPS mode to MIPS III
      mode through .set mips3 results in *lots* of warnings like
      
      {standard input}: Assembler messages:
      {standard input}:397: Warning: the 64-bit MIPS architecture does not support the `smartmips' extension
      
      during a kernel build.  Fixed by using .set arch=r4000 instead.
      
      This breaks support for building the kernel with binutils 2.13 which
      was supported for 32 bit kernels only anyway and 2.14 which was a bad
      vintage for MIPS anyway.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      a809d460
  5. 27 3月, 2014 1 次提交
  6. 01 7月, 2013 2 次提交
  7. 18 5月, 2013 1 次提交
    • D
      MIPS: Make virt_to_phys() work for all unmapped addresses. · 49c426ba
      David Daney 提交于
      As reported:
        This problem was discovered when doing BGP traffic with the TCP MD5 option
        activated, where the following call chain caused a crash:
      
         * tcp_v4_rcv
         *  tcp_v4_timewait_ack
         *   tcp_v4_send_ack -> follow stack variable rep.th
         *    tcp_v4_md5_hash_hdr
         *     tcp_md5_hash_header
         *      sg_init_one
         *       sg_set_buf
         *        virt_to_page
      
        I noticed that tcp_v4_send_reset uses a similar stack variable and
        also calls tcp_v4_md5_hash_hdr, so it has the same problem.
      
      The networking core can indirectly call virt_to_phys() on stack
      addresses, if this is done from PID 0, the stack will usually be in
      CKSEG0, so virt_to_phys() needs to work there as well
      Signed-off-by: NDavid Daney <david.daney@cavium.com>
      Cc: linux-mips@linux-mips.org
      Cc: Jiang Liu <liuj97@gmail.com>
      Cc: eunb.song@samsung.com
      Cc: linux-kernel@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/5220/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      49c426ba
  8. 01 2月, 2013 1 次提交
  9. 09 11月, 2012 1 次提交
  10. 19 7月, 2012 2 次提交
    • Y
      MIPS: Fix bug.h MIPS build regression · 3592c3cd
      Yoichi Yuasa 提交于
      Commit: 37778088 [bug.h: need linux/kernel.h
      for TAINT_WARN.] breaks all MIPS builds.
      
        CC      arch/mips/kernel/machine_kexec.o
      In file included from include/linux/kernel.h:20:0,
                       from include/asm-generic/bug.h:35,
                       from /home/yuasa/src/linux/kernel/git/linux-2.6/arch/mips/include/asm/bug.h:41,
                       from /home/yuasa/src/linux/kernel/git/linux-2.6/arch/mips/include/asm/bitops.h:20,
                       from include/linux/bitops.h:22,
                       from include/linux/signal.h:38,
                       from include/linux/elfcore.h:5,
                       from include/linux/kexec.h:60,
                       from arch/mips/kernel/machine_kexec.c:9:
      include/linux/log2.h: In function '__ilog2_u32':
      include/linux/log2.h:34:2: error: implicit declaration of function 'fls' [-Werror=implicit-function-declaration]
      include/linux/log2.h: In function '__ilog2_u64':
      include/linux/log2.h:42:2: error: implicit declaration of function 'fls64' [-Werror=implicit-function-declaration]
      include/linux/log2.h: In function '__roundup_pow_of_two':
      include/linux/log2.h:63:2: error: implicit declaration of function 'fls_long' [-Werror=implicit-function-declaration]
      In file included from include/linux/bitops.h:22:0,
                       from include/linux/signal.h:38,
                       from include/linux/elfcore.h:5,
                       from include/linux/kexec.h:60,
                       from arch/mips/kernel/machine_kexec.c:9:
      /home/yuasa/src/linux/kernel/git/linux-2.6/arch/mips/include/asm/bitops.h: At top level:
      /home/yuasa/src/linux/kernel/git/linux-2.6/arch/mips/include/asm/bitops.h:615:19: error: static declaration of 'fls' follows non-static declaration
      include/linux/log2.h:34:9: note: previous implicit declaration of 'fls' was here
      In file included from /home/yuasa/src/linux/kernel/git/linux-2.6/arch/mips/include/asm/bitops.h:651:0,
                       from include/linux/bitops.h:22,
                       from include/linux/signal.h:38,
                       from include/linux/elfcore.h:5,
                       from include/linux/kexec.h:60,
                       from arch/mips/kernel/machine_kexec.c:9:
      include/asm-generic/bitops/fls64.h:18:28: error: static declaration of 'fls64' follows non-static declaration
      include/linux/log2.h:42:9: note: previous implicit declaration of 'fls64' was here
      In file included from include/linux/signal.h:38:0,
                       from include/linux/elfcore.h:5,
                       from include/linux/kexec.h:60,
                       from arch/mips/kernel/machine_kexec.c:9:
      include/linux/bitops.h:160:24: error: conflicting types for 'fls_long'
      include/linux/log2.h:63:16: note: previous implicit declaration of 'fls_long' was here
      cc1: all warnings being treated as errors
      
      make[2]: *** [arch/mips/kernel/machine_kexec.o] Error 1
      Signed-off-by: NYoichi Yuasa <yuasa@linux-mips.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: yuasa@linux-mips.org
      Cc: linux-kernel@vger.kernel.org
      Cc: Linuxppc-dev <linuxppc-dev@ozlabs.org>
      Cc: Linux MIPS Mailing List <linux-mips@linux-mips.org>
      Cc: Linux-sh list <linux-sh@vger.kernel.org>
      Cc: Chris Zankel <chris@zankel.net>
      Patchwork: https://patchwork.linux-mips.org/patch/4000/Tested-by: NJohn Crispin <blogic@openwrt.org>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      3592c3cd
    • Y
      mips: fix bug.h build regression · 893a0574
      Yoichi Yuasa 提交于
      Commit 37778088 ("bug.h: need linux/kernel.h for TAINT_WARN.") broke
      all MIPS builds:
      
          CC      arch/mips/kernel/machine_kexec.o
        include/linux/log2.h: In function '__ilog2_u32':
        include/linux/log2.h:34:2: error: implicit declaration of function 'fls' [-Werror=implicit-function-declaration]
        include/linux/log2.h: In function '__ilog2_u64':
        include/linux/log2.h:42:2: error: implicit declaration of function 'fls64' [-Werror=implicit-function-declaration]
        ...
      Signed-off-by: NYoichi Yuasa <yuasa@linux-mips.org>
      Tested-by: NJohn Crispin <blogic@openwrt.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: David Daney <ddaney@caviumnetworks.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      893a0574
  11. 20 10月, 2011 1 次提交
    • R
      Revert "MIPS: LD/SD o32 macro GAS fix update" · b77bb37a
      Ralf Baechle 提交于
      This reverts commit 97475f8b42e83be2966aa2d70ab9c98477701c53 (lmo) /
      82b89152 (kernel.org) [MIPS: LD/SD o32
      macro GAS fix update].
      
      Turns out this patch is producing many build errors with gcc 4.2.  Based
      on further testing with a test case extracted from the build errors found
      further build errors and suboptimal generation even in violation of the
      "R" constraint.
      
      To make matters worse, the binutils changes also don't work quite as
      intended so revert this patch for now.
      b77bb37a
  12. 31 3月, 2011 1 次提交
  13. 17 12月, 2010 1 次提交
    • M
      MIPS: LD/SD o32 macro GAS fix update · 82b89152
      Maciej W. Rozycki 提交于
      I am about to commit:
      
      http://sourceware.org/ml/binutils/2010-10/msg00033.html
      
      that fixes a problem with the LD/SD macro currently implemented by GAS for
      the o32 ABI in an inconsistent way.  This is best illustrated with a
      simple program, which I'm copying here from the message above for easier
      reference:
      
      $ cat ld.s
      	ld	$5,32767($4)
      	ld	$5,32768($4)
      
      This gets assebled into the following output:
      
      $ mips-linux-as -32 -mips3 -o ld.o ld.s
      $ mips-linux-objdump -d ld.o
      
      ld.o:     file format elf32-tradbigmips
      
      Disassembly of section .text:
      
      00000000 <.text>:
         0:	dc857fff 	ld	a1,32767(a0)
         4:	3c010001 	lui	at,0x1
         8:	00810821 	addu	at,a0,at
         c:	8c258000 	lw	a1,-32768(at)
        10:	8c268004 	lw	a2,-32764(at)
      	...
      
      Oops!
      
       The GAS fix makes the macro behave in a consistent way and pairs of LW/SW
      instructions to be output as appropriate regardless of the size of the
      offset associated with the address used.  The machine instruction is still
      available, but to reach it macros have to be disabled first.  This has a
      side effect of requiring the use of a machine-addressable memory operand.
      
       As some platforms require 64-bit operations for accesses to some I/O
      registers LD/SD instructions are used in a couple of places in Linux
      regardless of the ABI selected.  Here's a fix for some pieces of code
      affected I've been able to track down.  The fix should be backwards
      compatible with all supported binutils releases in existence and can be
      used as a reference for any other places or off-tree code.  The use of the
      "R" constraint guarantees a machine-addressable operand.
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/1680/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      82b89152
  14. 27 2月, 2010 1 次提交
  15. 11 1月, 2009 1 次提交
  16. 11 10月, 2008 1 次提交
  17. 16 7月, 2008 1 次提交
  18. 29 4月, 2008 1 次提交
  19. 17 10月, 2007 1 次提交
  20. 12 10月, 2007 1 次提交
  21. 13 7月, 2007 1 次提交
  22. 11 7月, 2007 1 次提交
  23. 19 2月, 2007 1 次提交
    • R
      [MIPS] Iomap implementation. · 140c1729
      Ralf Baechle 提交于
      This implementation has support for the concept of one separate ioport
      address space by PCI domain.  A pointer to the virtual address where
      the port space of a domain has been mapped has been added to struct
      pci_controller and systems should be fixed to fill in this value. For
      single domain systems this will be the same value as passed to
      set_io_port_base().
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      140c1729
  24. 10 2月, 2007 1 次提交
  25. 07 2月, 2007 1 次提交
    • F
      [MIPS] FLATMEM: introduce PHYS_OFFSET. · 6f284a2c
      Franck Bui-Huu 提交于
      The old code was assuming that min_low_pfn was always 0. This
      means that platforms having a big hole at their memory start
      paid the price of wasting some memory for the allocation of
      unused entries in mem_map[].
      
      This patch prevents this waste.
      
      It introduces PHYS_OFFSET define which is the start of the
      physical memory and uses it wherever needed. Specially when
      converting physical/virtual addresses into virtual/physical
      ones.
      
      Currently all platforms defines PHYS_OFFSET to 0.
      Signed-off-by: NFranck Bui-Huu <fbuihuu@gmail.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      6f284a2c
  26. 30 11月, 2006 1 次提交
    • F
      [MIPS] page.h: remove __pa() usages. · 99e3b942
      Franck Bui-Huu 提交于
      __pa() was used by virt_to_page() and virt_addr_valid(). These
      latter are used when kernel is initialised so __pa() is not
      appropriate, we use virt_to_phys() instead.
      
      Futhermore __pa() is going to take care of CKSEG0/XKPHYS
      address mix for 64 bit kernels. This makes __pa() more complex
      than virt_to_phys() and this extra work is not needed by
      virt_to_page() and virt_addr_valid().
      
      Eventually it consolidates virt_to_phys() prototype by making
      its argument 'const'. this avoids some warnings that was due
      to some virt_to_page() usages which pass const pointer.
      Signed-off-by: NFranck Bui-Huu <fbuihuu@gmail.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      99e3b942
  27. 20 10月, 2006 1 次提交
  28. 12 10月, 2006 1 次提交
  29. 26 4月, 2006 1 次提交
  30. 24 3月, 2006 1 次提交
  31. 21 3月, 2006 1 次提交
    • A
      [MIPS] Make I/O helpers more customizable · a8433137
      Atsushi Nemoto 提交于
          
      1. Move ioswab*() and __mem_ioswab*() to mangle-port.h.  This gets rid
         of CONFIG_SGI_IP22 from include/asm-mips/io.h.
          
      2. Pass a virtual address to *ioswab*().  Then we can provide
         mach-specific *ioswab*() and can do every evil thing based on its
         argument.  It could be useful on machines which have regions with
         different endian conversion scheme.
          
      3. Call __swizzle_addr*() _after_ adding mips_io_port_base.  This
         unifies the meaning of the argument of __swizzle_addr*() (always
         virtual address).  Then mach-specific __swizzle_addr*() can do every
         evil thing based on the argument.
      Signed-off-by: NAtsushi Nemoto <anemo@mba.ocn.ne.jp>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      a8433137
  32. 19 3月, 2006 1 次提交
  33. 01 3月, 2006 1 次提交
  34. 09 2月, 2006 1 次提交
  35. 08 2月, 2006 2 次提交
  36. 18 11月, 2005 1 次提交
  37. 30 10月, 2005 1 次提交