1. 22 6月, 2015 2 次提交
    • J
      MIPS: R12000: Enable branch prediction global history · 8d5ded16
      Joshua Kinard 提交于
      The R12000 added a new feature to enhance branch prediction called
      "global history".  Per the Vr10000 Series User Manual (U10278EJ4V0UM),
      Coprocessor 0, Diagnostic Register (22):
      
      """
      If bit 26 is set, branch prediction uses all eight bits of the global
      history register.  If bit 26 is not set, then bits 25:23 specify a count
      of the number of bits of global history to be used. Thus if bits 26:23
      are all zero, global history is disabled.
      
      The global history contains a record of the taken/not-taken status of
      recently executed branches, and when used is XOR'ed with the PC of a
      branch being predicted to produce a hashed value for indexing the BPT.
      Some programs with small "working set of conditional branches" benefit
      significantly from the use of such hashing, some see slight performance
      degradation.
      """
      
      This patch enables global history on R12000 CPUs and up by setting bit
      26 in the branch prediction diagnostic register (CP0 $22) to '1'.  Bits
      25:23 are left alone so that all eight bits of the global history
      register are available for branch prediction.
      Signed-off-by: NJoshua Kinard <kumba@gentoo.org>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      8d5ded16
    • P
      MIPS: ingenic: Add newer vendor IDs · 252617a4
      Paul Burton 提交于
      Ingenic have actually varied the vendor/company ID of the XBurst cores
      across their range of SoCs, whilst keeping the product ID & revision
      constant... Add definitions for vendor IDs known to be used in some of
      Ingenic's newer SoCs, and handle them in the same way as the existing
      Ingenic vendor ID from the JZ4740.
      Signed-off-by: NPaul Burton <paul.burton@imgtec.com>
      Co-authored-by: NPaul Cercueil <paul@crapouillou.net>
      Cc: Lars-Peter Clausen <lars@metafoo.de>
      Cc: linux-mips@linux-mips.org
      Cc: Steven J. Hill <Steven.Hill@imgtec.com>
      Cc: Joshua Kinard <kumba@gentoo.org>
      Cc: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com>
      Cc: Maciej W. Rozycki <macro@linux-mips.org>
      Cc: linux-kernel@vger.kernel.org
      Cc: Huacai Chen <chenhc@lemote.com>
      Cc: Markos Chandras <markos.chandras@imgtec.com>
      Patchwork: https://patchwork.linux-mips.org/patch/10128/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      252617a4
  2. 03 6月, 2015 1 次提交
  3. 08 4月, 2015 5 次提交
  4. 01 4月, 2015 1 次提交
  5. 31 3月, 2015 1 次提交
  6. 20 3月, 2015 1 次提交
  7. 20 2月, 2015 1 次提交
  8. 17 2月, 2015 2 次提交
  9. 16 2月, 2015 2 次提交
  10. 24 11月, 2014 6 次提交
  11. 20 11月, 2014 2 次提交
  12. 22 9月, 2014 1 次提交
  13. 02 8月, 2014 4 次提交
  14. 31 7月, 2014 1 次提交
    • H
      MIPS: Add Loongson-3B support · e7841be5
      Huacai Chen 提交于
      Loongson-3B is a 8-cores processor. In general it looks like there are
      two Loongson-3A integrated in one chip: 8 cores are separated into two
      groups (two NUMA node), each node has its own local memory.
      
      Of course there are some differences between one Loongson-3B and two
      Loongson-3A. E.g., the base addresses of IPI registers of each node are
      not the same; Loongson-3A use ChipConfig register to enable/disable
      clock, but Loongson-3B use FreqControl register instead.
      
      There are two revision of Loongson-3B, the first revision is called as
      Loongson-3B1000, whose frequency is 1GHz and has a PRid 0x6306, the
      second revision is called as Loongson-3B1500, whose frequency is 1.5GHz
      and has a PRid 0x6307. Both revisions has a bug that clock cannot be
      disabled at runtime, but this will be fixed in future.
      Signed-off-by: NHuacai Chen <chenhc@lemote.com>
      Cc: John Crispin <john@phrozen.org>
      Cc: Steven J. Hill <Steven.Hill@imgtec.com>
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Cc: linux-mips@linux-mips.org
      Cc: Fuxin Zhang <zhangfx@lemote.com>
      Cc: Zhangjin Wu <wuzhangjin@gmail.com>
      Patchwork: https://patchwork.linux-mips.org/patch/7188/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      e7841be5
  15. 31 5月, 2014 2 次提交
    • D
      MIPS: Add function get_ebase_cpunum · 45b585c8
      David Daney 提交于
      This returns the CPUNum from the low order Ebase bits.
      Signed-off-by: NDavid Daney <david.daney@cavium.com>
      Signed-off-by: NAndreas Herrmann <andreas.herrmann@caviumnetworks.com>
      Cc: linux-mips@linux-mips.org
      Cc: James Hogan <james.hogan@imgtec.com>
      Cc: kvm@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/7012/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      45b585c8
    • M
      MIPS: Implement random_get_entropy with CP0 Random · 06947aaa
      Maciej W. Rozycki 提交于
      Update to commit 9c9b415c [MIPS:
      Reimplement get_cycles().]
      
      On systems were for whatever reasons we can't use the cycle counter, fall
      back to the c0_random register as an entropy source.  It has however a
      very small range that makes it suitable for random_get_entropy only and
      not get_cycles.
      
      This optimised version compiles to 8 instructions in the fast path even in
      the worst case of all the conditions to check being variable (including a
      MFC0 move delay slot that is only required for very old processors):
      
           828:	8cf90000 	lw	t9,0(a3)
      			828: R_MIPS_LO16	jiffies
           82c:	40057800 	mfc0	a1,c0_prid
           830:	3c0200ff 	lui	v0,0xff
           834:	00a21024 	and	v0,a1,v0
           838:	1040007d 	beqz	v0,a30 <add_interrupt_randomness+0x22c>
           83c:	3c030000 	lui	v1,0x0
      			83c: R_MIPS_HI16	cpu_data
           840:	40024800 	mfc0	v0,c0_count
           844:	00000000 	nop
           848:	00409021 	move	s2,v0
           84c:	8ce20000 	lw	v0,0(a3)
      			84c: R_MIPS_LO16	jiffies
      
      On most targets the sequence will be shorter and on some it will reduce to
      a single `MFC0 <reg>,c0_count', as all MIPS architecture (i.e. non-legacy
      MIPS) processors require the CP0 Count register to be present.
      
      The only known exception that reports MIPS architecture compliance, but
      contrary to that lacks CP0 Count is the Ingenic JZ4740 thingy.  For broken
      platforms like that this code requires cpu_has_counter to be hardcoded to
      0 (i.e. no variable setting is permitted) so as not to penalise all the
      other good platforms out there.
      
      The asm barrier is required so that the compiler does not pull any
      potentially costly (cold cache!) `cpu_data' variable access into the fast
      path.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Cc: Theodore Ts'o <tytso@mit.edu>
      Cc: John Crispin <blogic@openwrt.org>
      Cc: Andrew McGregor <andrewmcgr@gmail.com>
      Cc: Dave Taht <dave.taht@bufferbloat.net>
      Cc: Felix Fietkau <nbd@nbd.name>
      Cc: Simon Kelley <simon@thekelleys.org.uk>
      Cc: Jim Gettys <jg@freedesktop.org>
      Cc: David Daney <ddaney@caviumnetworks.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/6702/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      06947aaa
  16. 30 5月, 2014 1 次提交
  17. 24 5月, 2014 1 次提交
    • R
      MIPS: MT: Remove SMTC support · b633648c
      Ralf Baechle 提交于
      Nobody is maintaining SMTC anymore and there also seems to be no userbase.
      Which is a pity - the SMTC technology primarily developed by Kevin D.
      Kissell <kevink@paralogos.com> is an ingenious demonstration for the MT
      ASE's power and elegance.
      
      Based on Markos Chandras <Markos.Chandras@imgtec.com> patch
      https://patchwork.linux-mips.org/patch/6719/ which while very similar did
      no longer apply cleanly when I tried to merge it plus some additional
      post-SMTC cleanup - SMTC was a feature as tricky to remove as it was to
      merge once upon a time.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      b633648c
  18. 23 5月, 2014 1 次提交
  19. 01 4月, 2014 3 次提交
  20. 27 3月, 2014 2 次提交