1. 17 2月, 2013 1 次提交
  2. 14 12月, 2012 3 次提交
    • R
      MIPS: PMC-Sierra Yosemite: Remove support. · bdf20507
      Ralf Baechle 提交于
      Nobody seems to be interested anymore and upstream also never had an
      ethernet driver.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      bdf20507
    • R
      MIPS: Remove usage of CEVT_R4K_LIB config option. · f772cdb2
      Ralf Baechle 提交于
      Manuel Lauss <manuel.lauss@gmail.com> writes:
      
      I introduced it as a fallback because early revisions of Alchemy hardware
      we shipped had a non-functional 32kHz timer and had to rely on the r4k
      timer instead.  Previously the r4k timer was initialized regardless, but
      it's useless with the "wait" instruction.
      
      So long story short:   I need either the on-chip 32kHz timer OR the r4k
      timer if the 32kHz one is unusable, but not both, and r4k timer is useless
      when au1k_idle is in use.
      
      The current in-kernel Alchemy boards all work with the 32kHz timer, so I'm
      not against removing R4K_LIB symbols.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      f772cdb2
    • S
      MIPS: Remove usage of CSRC_R4K_LIB config option. · d7ea335c
      Steven J. Hill 提交于
      Manuel Lauss <manuel.lauss@gmail.com> writes:
      
      I introduced it as a fallback because early revisions of Alchemy hardware
      we shipped had a non-functional 32kHz timer and had to rely on the r4k
      timer instead.  Previously the r4k timer was initialized regardless, but
      it's useless with the "wait" instruction.
      
      So long story short:   I need either the on-chip 32kHz timer OR the r4k
      timer if the 32kHz one is unusable, but not both, and r4k timer is useless
      when au1k_idle is in use.
      
      The current in-kernel Alchemy boards all work with the 32kHz timer, so I'm
      not against removing R4K_LIB symbols.
      Signed-off-by: NSteven J. Hill <sjhill@mips.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      d7ea335c
  3. 13 12月, 2012 1 次提交
  4. 11 10月, 2012 1 次提交
  5. 03 10月, 2012 1 次提交
    • J
      kbuild: Fix gcc -x syntax · b1e0d8b7
      Jean Delvare 提交于
      The correct syntax for gcc -x is "gcc -x assembler", not
      "gcc -xassembler". Even though the latter happens to work, the former
      is what is documented in the manual page and thus what gcc wrappers
      such as icecream do expect.
      
      This isn't a cosmetic change. The missing space prevents icecream from
      recognizing compilation tasks it can't handle, leading to silent kernel
      miscompilations.
      
      Besides me, credits go to Michael Matz and Dirk Mueller for
      investigating the miscompilation issue and tracking it down to this
      incorrect -x parameter syntax.
      Signed-off-by: NJean Delvare <jdelvare@suse.de>
      Acked-by: NIngo Molnar <mingo@kernel.org>
      Cc: stable@vger.kernel.org
      Cc: Bernhard Walle <bernhard@bwalle.de>
      Cc: Michal Marek <mmarek@suse.cz>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      b1e0d8b7
  6. 28 9月, 2012 2 次提交
    • D
      Make most arch asm/module.h files use asm-generic/module.h · 786d35d4
      David Howells 提交于
      Use the mapping of Elf_[SPE]hdr, Elf_Addr, Elf_Sym, Elf_Dyn, Elf_Rel/Rela,
      ELF_R_TYPE() and ELF_R_SYM() to either the 32-bit version or the 64-bit version
      into asm-generic/module.h for all arches bar MIPS.
      
      Also, use the generic definition mod_arch_specific where possible.
      
      To this end, I've defined three new config bools:
      
       (*) HAVE_MOD_ARCH_SPECIFIC
      
           Arches define this if they don't want to use the empty generic
           mod_arch_specific struct.
      
       (*) MODULES_USE_ELF_RELA
      
           Arches define this if their modules can contain RELA records.  This causes
           the Elf_Rela mapping to be emitted and allows apply_relocate_add() to be
           defined by the arch rather than have the core emit an error message.
      
       (*) MODULES_USE_ELF_REL
      
           Arches define this if their modules can contain REL records.  This causes
           the Elf_Rel mapping to be emitted and allows apply_relocate() to be
           defined by the arch rather than have the core emit an error message.
      
      Note that it is possible to allow both REL and RELA records: m68k and mips are
      two arches that do this.
      
      With this, some arch asm/module.h files can be deleted entirely and replaced
      with a generic-y marker in the arch Kbuild file.
      
      Additionally, I have removed the bits from m32r and score that handle the
      unsupported type of relocation record as that's now handled centrally.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Acked-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      786d35d4
    • R
      MIPS: Fix module.c build for 32 bit · 6ede8123
      Ralf Baechle 提交于
      Fixes build failure introduced by "Make most arch asm/module.h files use
      asm-generic/module.h" by moving all the RELA processing code to a
      separate file to be used only for RELA processing on 64-bit kernels.
      
        CC      arch/mips/kernel/module.o
      arch/mips/kernel/module.c:250:14: error: 'reloc_handlers_rela' defined but not
      used [-Werror=unused-variable]
      cc1: all warnings being treated as errors
      
      make[6]: *** [arch/mips/kernel/module.o] Error 1
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      6ede8123
  7. 23 8月, 2012 1 次提交
  8. 05 5月, 2012 1 次提交
  9. 08 12月, 2011 2 次提交
  10. 25 10月, 2011 1 次提交
    • D
      MIPS: perf: Reorganize contents of perf support files. · e5dcb58a
      David Daney 提交于
      The contents of arch/mips/kernel/perf_event.c and
      arch/mips/kernel/perf_event_mipsxx.c were divided in a seemingly ad
      hoc manner, with the first including the second.
      
      I moved all the hardware counter support code to perf_event_mipsxx.c
      and removed the gating #ifdefs to the Kconfig and Makefile.
      
      Now perf_event.c contains only the callchain support, everything else
      is in perf_event_mipsxx.c
      
      There are no code changes, only moving of functions from one file to
      the other, or removing empty unneeded functions.
      Signed-off-by: NDavid Daney <david.daney@cavium.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Dezhong Diao <dediao@cisco.com>
      Cc: Gabor Juhos <juhosg@openwrt.org>
      Cc: Deng-Cheng Zhu <dengcheng.zhu@gmail.com>
      To: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/2791/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      e5dcb58a
  11. 19 5月, 2011 1 次提交
  12. 19 1月, 2011 2 次提交
  13. 30 10月, 2010 1 次提交
    • D
      MIPS: add support for hardware performance events (skeleton) · 14f70012
      Deng-Cheng Zhu 提交于
      This patch provides the skeleton of the HW perf event support. To enable
      this feature, we can not choose the SMTC kernel; Oprofile should be
      disabled; kernel performance events be selected. Then we can enable it in
      Kernel type menu.
      
      Oprofile for MIPS platforms initializes irq at arch init time. Currently
      we do not change this logic to allow PMU reservation.
      
      If a platform has EIC, we can use the irq base and perf counter irq offset
      defines for the interrupt controller in specific init_hw_perf_events().
      
      Based on this skeleton patch, the 3 different kinds of MIPS PMU, namely,
      mipsxx/loongson2/rm9000, can be supported by adding corresponding lower
      level C files at the bottom. The suggested names of these files are
      perf_event_mipsxx.c/perf_event_loongson2.c/perf_event_rm9000.c. So, for
      example, we can do this by adding "#include perf_event_mipsxx.c" at the
      bottom of perf_event.c.
      
      In addition, PMUs with 64bit counters are also considered in this patch.
      Signed-off-by: NDeng-Cheng Zhu <dengcheng.zhu@gmail.com>
      To: linux-mips@linux-mips.org
      Cc: a.p.zijlstra@chello.nl
      Cc: paulus@samba.org
      Cc: mingo@elte.hu
      Cc: acme@redhat.com
      Cc: jamie.iles@picochip.com
      Cc: ddaney@caviumnetworks.com
      Cc: matt@console-pimps.org
      Patchwork: https://patchwork.linux-mips.org/patch/1688/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      14f70012
  14. 22 10月, 2010 1 次提交
  15. 05 8月, 2010 2 次提交
  16. 13 4月, 2010 1 次提交
    • D
      MIPS: Preliminary VDSO · c52d0d30
      David Daney 提交于
      This is a preliminary patch to add a vdso to all user processes.  Still
      missing are ELF headers and .eh_frame information.  But it is enough to
      allow us to move signal trampolines off of the stack.  Note that emulation
      of branch delay slots in the FPU emulator still requires the stack.
      
      We allocate a single page (the vdso) and write all possible signal
      trampolines into it.  The stack is moved down by one page and the vdso is
      mapped into this space.
      Signed-off-by: NDavid Daney <ddaney@caviumnetworks.com>
      To: linux-mips@linux-mips.org
      Patchwork: http://patchwork.linux-mips.org/patch/975/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      c52d0d30
  17. 27 2月, 2010 1 次提交
    • D
      MIPS: Crazy spinlock speed test. · bba90760
      David Daney 提交于
      This is just a test program for raw_spinlocks.  The main reason I
      wrote it is to validate my spinlock changes that I sent in a previous
      patch.
      
      To use it enable CONFIG_DEBUG_FS and CONFIG_SPINLOCK_TEST then at run
      time do:
      
      # mount -t debugfs none /sys/kernel/debug/
      # cat /sys/kernel/debug/mips/spin_single
      # cat /sys/kernel/debug/mips/spin_multi
      
      On my 600MHz octeon cn5860 (16 CPUs) I get
      
      		spin_single	spin_multi
      base		106885		247941
      spinlock_patch	75194		219465
      
      This shows that for uncontended locks the spinlock patch gives 41%
      improvement and for contended locks 12% improvement (1/time).
      Signed-off-by: NDavid Daney <ddaney@caviumnetworks.com>
      To: linux-mips@linux-mips.org
      Patchwork: http://patchwork.linux-mips.org/patch/969/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      bba90760
  18. 17 12月, 2009 5 次提交
    • R
      cf72e947
    • W
      MIPS: Tracing: Add dynamic function tracer support · 538f1952
      Wu Zhangjin 提交于
      With dynamic function tracer, by default, _mcount is defined as an
      "empty" function, it returns directly without any more action . When
      enabling it in user-space, it will jump to a real tracing
      function(ftrace_caller), and do the real job for us.
      
      Differ from the static function tracer, dynamic function tracer provides
      two functions ftrace_make_call()/ftrace_make_nop() to enable/disable the
      tracing of some indicated kernel functions(set_ftrace_filter).
      
      In the -v4 version, the implementation of this support is basically the same as
      X86 version does: _mcount is implemented as an empty function and ftrace_caller
      is implemented as a real tracing function respectively.
      
      But in this version, to support module tracing with the help of
      -mlong-calls in arch/mips/Makefile:
      
      MODFLAGS += -mlong-calls.
      
      The stuff becomes a little more complex. We need to cope with two
      different type of calling to _mcount.
      
      For the kernel part, the calling to _mcount(result of "objdump -hdr
      vmlinux"). is like this:
      
      	108:   03e0082d        move    at,ra
      	10c:   0c000000        jal     0 <fpcsr_pending>
                              10c: R_MIPS_26  _mcount
                              10c: R_MIPS_NONE        *ABS*
                              10c: R_MIPS_NONE        *ABS*
      	110:   00020021        nop
      
      For the module with -mlong-calls, it looks like this:
      
      	c:	3c030000 	lui	v1,0x0
      			c: R_MIPS_HI16	_mcount
      			c: R_MIPS_NONE	*ABS*
      			c: R_MIPS_NONE	*ABS*
      	10:	64630000 	daddiu	v1,v1,0
      			10: R_MIPS_LO16	_mcount
      			10: R_MIPS_NONE	*ABS*
      			10: R_MIPS_NONE	*ABS*
      	14:	03e0082d 	move	at,ra
      	18:	0060f809 	jalr	v1
      
      In the kernel version, there is only one "_mcount" string for every
      kernel function, so, we just need to match this one in mcount_regex of
      scripts/recordmcount.pl, but in the module version, we need to choose
      one of the two to match. Herein, I choose the first one with
      "R_MIPS_HI16 _mcount".
      
      and In the kernel verion, without module tracing support, we just need
      to replace "jal _mcount" by "jal ftrace_caller" to do real tracing, and
      filter the tracing of some kernel functions via replacing it by a nop
      instruction.
      
      but as we have described before, the instruction "jal ftrace_caller" only left
      32bit length for the address of ftrace_caller, it will fail when calling from
      the module space. so, herein, we must replace something else.
      
      the basic idea is loading the address of ftrace_caller to v1 via changing these
      two instructions:
      
      	lui	v1,0x0
      	addiu	v1,v1,0
      
      If we want to enable the tracing, we need to replace the above instructions to:
      
      	lui	v1, HI_16BIT_ftrace_caller
      	addiu	v1, v1, LOW_16BIT_ftrace_caller
      
      If we want to stop the tracing of the indicated kernel functions, we
      just need to replace the "jalr v1" to a nop instruction. but we need to
      replace two instructions and encode the above two instructions
      oursevles.
      
      Is there a simpler solution? Yes! Here it is, in this version, we put _mcount
      and ftrace_caller together, which means the address of _mcount and
      ftrace_caller is the same:
      
      _mcount:
      ftrace_caller:
      	j	ftrace_stub
      	 nop
      
      	...(do real tracing here)...
      
      ftrace_stub:
      	jr	ra
      	 move	ra, at
      
      By default, the kernel functions call _mcount, and then jump to ftrace_stub and
      return. and when we want to do real tracing, we just need to remove that "j
      ftrace_stub", and it will run through the two "nop" instructions and then do
      the real tracing job.
      
      what about filtering job? we just need to do this:
      
      	 lui v1, hi_16bit_of_mcount        <--> b 1f (0x10000004)
      	 addiu v1, v1, low_16bit_of_mcount
      	 move at, ra
      	 jalr v1
      	 nop
      	 				     1f: (rec->ip + 12)
      
      In linux-mips64, there will be some local symbols, whose name are
      prefixed by $L, which need to be filtered. thanks goes to Steven for
      writing the mips64-specific function_regex.
      
      In a conclusion, with RISC, things becomes easier with such a "stupid"
      trick, RISC is something like K.I.S.S, and also, there are lots of
      "simple" tricks in the whole ftrace support, thanks goes to Steven and
      the other folks for providing such a wonderful tracing framework!
      Signed-off-by: NWu Zhangjin <wuzhangjin@gmail.com>
      Cc: Nicholas Mc Guire <der.herr@hofr.at>
      Cc: zhangfx@lemote.com
      Cc: Wu Zhangjin <wuzhangjin@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-mips@linux-mips.org
      Patchwork: http://patchwork.linux-mips.org/patch/675/Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      538f1952
    • W
      MIPS: Tracing: Add static function tracer support for MIPS · d2bb0762
      Wu Zhangjin 提交于
      If -pg of gcc is enabled with CONFIG_FUNCTION_TRACER=y. a calling to
      _mcount will be inserted into each kernel function. so, there is a
      possibility to trace the kernel functions in _mcount.
      
      This patch add the MIPS specific _mcount support for static function
      tracing. by default, ftrace_trace_function is initialized as
      ftrace_stub(an empty function), so, the default _mcount will introduce
      very little overhead. after enabling ftrace in user-space, it will jump
      to a real tracing function and do static function tracing for us.
      
      and -ffunction-sections is incompatible with -pg, so, disable it when
      ftracer is enabled.
      Signed-off-by: NWu Zhangjin <wuzhangjin@gmail.com>
      Reviewed-by: NSteven Rostedt <rostedt@goodmis.org>
      Cc: Nicholas Mc Guire <der.herr@hofr.at>
      Cc: zhangfx@lemote.com
      Cc: Wu Zhangjin <wuzhangjin@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-mips@linux-mips.org
      Patchwork: http://patchwork.linux-mips.org/patch/672/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      d2bb0762
    • W
      MIPS: Loongson 2F: Add CPU frequency scaling support · f8ede0f7
      Wu Zhangjin 提交于
      Loongson 2F supports CPU clock scaling. When put it into wait mode by
      setting the frequency as ZERO it will stay in this mode until an external
      interrupt wakes the CPU again.
      
      To enable clock scaling support, an external timer of a known stable rate
      is required.
      Signed-off-by: NWu Zhangjin <wuzhangjin@gmail.com>
      Cc: linux-mips@linux-mips.org
      Cc: cpufreq@vger.kernel.org,
      Cc: Dave Jones <davej@redhat.com>,
      Cc: Dominik Brodowski <linux@dominikbrodowski.net>,
      Cc: yanh@lemote.com
      Cc: huhb@lemote.com,
      Patchwork: http://patchwork.linux-mips.org/patch/660/
      Patchwork: http://patchwork.linux-mips.org/patch/751/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      f8ede0f7
    • D
      MIPS: PowerTV: Base files for Cisco PowerTV platform · a3a0f8c8
      David VomLehn 提交于
      Add the Cisco Powertv cable settop box to the MIPS tree. This platform is
      based on a MIPS 24Kc processor with various devices integrated on the same
      ASIC. There are multiple models of this box, with differing configuration
      but the same kernel runs across the product line.
      Signed-off-by: NDavid VomLehn <dvomlehn@cisco.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: http://patchwork.linux-mips.org/patch/132/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      a3a0f8c8
  19. 26 9月, 2009 1 次提交
  20. 11 1月, 2009 2 次提交
  21. 28 10月, 2008 1 次提交
  22. 11 10月, 2008 1 次提交
  23. 04 10月, 2008 1 次提交
  24. 31 7月, 2008 2 次提交
  25. 16 7月, 2008 2 次提交
  26. 06 6月, 2008 1 次提交
  27. 12 5月, 2008 1 次提交