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. 01 4月, 2015 1 次提交
  3. 31 3月, 2015 1 次提交
  4. 20 3月, 2015 1 次提交
  5. 17 2月, 2015 2 次提交
  6. 16 2月, 2015 1 次提交
  7. 24 11月, 2014 2 次提交
  8. 02 8月, 2014 4 次提交
  9. 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
  10. 30 5月, 2014 1 次提交
  11. 23 5月, 2014 1 次提交
  12. 01 4月, 2014 2 次提交
  13. 27 3月, 2014 5 次提交
  14. 07 3月, 2014 1 次提交
  15. 25 1月, 2014 1 次提交
  16. 23 1月, 2014 7 次提交
  17. 19 9月, 2013 1 次提交
  18. 04 9月, 2013 1 次提交
  19. 26 8月, 2013 1 次提交
  20. 01 7月, 2013 1 次提交
    • R
      MIPS: Get rid of MIPS I flag and test macros. · 1990e542
      Ralf Baechle 提交于
      MIPS I is the ancestor of all MIPS ISA and architecture variants.  Anything
      ever build in the MIPS empire is either MIPS I or at least contains MIPS I.
      If it's running Linux, that is.
      
      So there is little point in having cpu_has_mips_1 because it will always
      evaluate as true - though usually only at runtime.  Thus there is no
      point in having the MIPS_CPU_ISA_I ISA flag, so get rid of it.
      
      Little complication: traps.c was using a test for a pure MIPS I ISA as
      a test for an R3000-style cp0.  To deal with that, use a check for
      cpu_has_3kex or cpu_has_4kex instead.
      
      cpu_has_3kex is a new macro.  At the moment its default implementation is
      !cpu_has_4kex but this may eventually change if Linux is ever going to
      support the oddball MIPS processors R6000 and R8000 so users of either
      of these macros should not make any assumptions.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      Patchwork: https://patchwork.linux-mips.org/patch/5551/
      1990e542
  21. 19 2月, 2013 1 次提交
  22. 17 2月, 2013 1 次提交
  23. 01 2月, 2013 1 次提交