1. 05 8月, 2016 1 次提交
    • R
      sh: add support for J-Core J2 processor · 5a846aba
      Rich Felker 提交于
      At the CPU/ISA level, the J2 is compatible with SH-2, and thus the
      changes to add J2 support build on existing SH-2 support. However, J2
      does not duplicate the memory-mapped SH-2 features like the cache
      interface. Instead, the cache interfaces is described in the device
      tree, and new code is added to be able to access the flat device tree
      at early boot before it is unflattened.
      
      Support is also added for receiving interrupts on trap numbers in the
      range 16 to 31, since the J-Core aic1 interrupt controller generates
      these traps. This range was unused but nominally for hardware
      exceptions on SH-2, and a few values in this range were used for
      exceptions on SH-2A, but SH-2A has its own version of the relevant
      code.
      
      No individual cpu subtypes are added for J2 since the intent moving
      forward is to represent SoCs with device tree rather than as
      hard-coded subtypes in the kernel. The CPU_SUBTYPE_J2 Kconfig item
      exists only to fit into the existing cpu selection mechanism until it
      is overhauled.
      Signed-off-by: NRich Felker <dalias@libc.org>
      5a846aba
  2. 31 7月, 2016 1 次提交
    • R
      sh: disable aliased page logic on NOMMU models · 57155c65
      Rich Felker 提交于
      SH3/4 (with MMU) have a virtually indexed cache, requiring explicit
      work to avoid consistency problems arising from having the same
      physical address range cached in multiple cache lines. This is
      unneeded for the NOMMU case, and some of the resulting code paths
      (kmap_coherent) don't work. SH2 only avoided this problem by having a
      4-way associative cache with way size equal to the page size (4k),
      yielding no cache index bits outside of the page offset and thus no
      aliases.
      Signed-off-by: NRich Felker <dalias@libc.org>
      57155c65
  3. 04 3月, 2014 1 次提交
  4. 15 7月, 2013 1 次提交
    • P
      sh: delete __cpuinit usage from all sh files · 4603f53a
      Paul Gortmaker 提交于
      The __cpuinit type of throwaway sections might have made sense
      some time ago when RAM was more constrained, but now the savings
      do not offset the cost and complications.  For example, the fix in
      commit 5e427ec2 ("x86: Fix bit corruption at CPU resume time")
      is a good example of the nasty type of bugs that can be created
      with improper use of the various __init prefixes.
      
      After a discussion on LKML[1] it was decided that cpuinit should go
      the way of devinit and be phased out.  Once all the users are gone,
      we can then finally remove the macros themselves from linux/init.h.
      
      Note that some harmless section mismatch warnings may result, since
      notify_cpu_starting() and cpu_up() are arch independent (kernel/cpu.c)
      are flagged as __cpuinit  -- so if we remove the __cpuinit from
      arch specific callers, we will also get section mismatch warnings.
      As an intermediate step, we intend to turn the linux/init.h cpuinit
      content into no-ops as early as possible, since that will get rid
      of these warnings.  In any case, they are temporary and harmless.
      
      This removes all the arch/sh uses of the __cpuinit macros from
      all C files.  Currently sh does not have any __CPUINIT used in
      assembly files.
      
      [1] https://lkml.org/lkml/2013/5/20/589
      
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: linux-sh@vger.kernel.org
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      4603f53a
  5. 29 3月, 2012 1 次提交
  6. 26 10月, 2010 1 次提交
    • P
      sh: Expose physical addressing mode through cpuinfo. · 2f98492c
      Paul Mundt 提交于
      CPUs can be in either the legacy 29-bit or 32-bit physical addressing
      modes. This follows the x86 approach of tracking the phys bits in cpuinfo
      and exposing it to userspace through procfs.
      
      This change was requested to permit kexec-tools to detect the physical
      addressing mode in order to determine the appropriate address mangling.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      2f98492c
  7. 21 4月, 2010 2 次提交
  8. 17 2月, 2010 1 次提交
  9. 26 1月, 2010 1 次提交
    • P
      sh: Mass ctrl_in/outX to __raw_read/writeX conversion. · 9d56dd3b
      Paul Mundt 提交于
      The old ctrl in/out routines are non-portable and unsuitable for
      cross-platform use. While drivers/sh has already been sanitized, there
      is still quite a lot of code that is not. This converts the arch/sh/ bits
      over, which permits us to flag the routines as deprecated whilst still
      building with -Werror for the architecture code, and to ensure that
      future users are not added.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      9d56dd3b
  10. 21 1月, 2010 1 次提交
  11. 13 1月, 2010 1 次提交
    • P
      sh: Move over to dynamically allocated FPU context. · 0ea820cf
      Paul Mundt 提交于
      This follows the x86 xstate changes and implements a task_xstate slab
      cache that is dynamically sized to match one of hard FP/soft FP/FPU-less.
      
      This also tidies up and consolidates some of the SH-2A/SH-4 FPU
      fragmentation. Now fpu state restorers are commonly defined, with the
      init_fpu()/fpu_init() mess reworked to follow the x86 convention.
      The fpu_init() register initialization has been replaced by xstate setup
      followed by writing out to hardware via the standard restore path.
      
      As init_fpu() now performs a slab allocation a secondary lighterweight
      restorer is also introduced for the context switch.
      
      In the future the DSP state will be rolled in here, too.
      
      More work remains for math emulation and the SH-5 FPU, which presently
      uses its own special (UP-only) interfaces.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      0ea820cf
  12. 05 1月, 2010 1 次提交
  13. 04 12月, 2009 1 次提交
  14. 24 11月, 2009 1 次提交
    • S
      sh: Minor optimisations to FPU handling · d3ea9fa0
      Stuart Menefy 提交于
      A number of small optimisations to FPU handling, in particular:
      
       - move the task USEDFPU flag from the thread_info flags field (which
         is accessed asynchronously to the thread) to a new status field,
         which is only accessed by the thread itself. This allows locking to
         be removed in most cases, or can be reduced to a preempt_lock().
         This mimics the i386 behaviour.
      
       - move the modification of regs->sr and thread_info->status flags out
         of save_fpu() to __unlazy_fpu(). This gives the compiler a better
         chance to optimise things, as well as making save_fpu() symmetrical
         with restore_fpu() and init_fpu().
      
       - implement prepare_to_copy(), so that when creating a thread, we can
         unlazy the FPU prior to copying the thread data structures.
      
      Also make sure that the FPU is disabled while in the kernel, in
      particular while booting, and for newly created kernel threads,
      
      In a very artificial benchmark, the execution time for 2500000
      context switches was reduced from 50 to 45 seconds.
      Signed-off-by: NStuart Menefy <stuart.menefy@st.com>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      d3ea9fa0
  15. 16 10月, 2009 1 次提交
    • P
      sh: Kill off legacy UBC wakeup cruft. · cae19b59
      Paul Mundt 提交于
      This code was added for some ancient SH-4 solution engines with peculiar
      boot ROMs that did silly things to the UBC MSTP bits. None of these have
      been in the wild for years, and these days the clock framework wraps up
      the MSTP bits, meaning that the UBC code is one of the few interfaces
      that is stomping MSTP bits underneath the clock framework. At this point
      the risks far outweigh any benefit this code provided, so just kill it
      off.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      cae19b59
  16. 15 8月, 2009 2 次提交
    • P
      sh: rework nommu for generic cache.c use. · dde5e3ff
      Paul Mundt 提交于
      This does a bit of reorganizing for allowing nommu to use the new
      and generic cache.c, no functional changes.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      dde5e3ff
    • P
      sh: delay slot future proofing via EXPMASK on SH-4A parts. · 7dd6662a
      Paul Mundt 提交于
      This implements EXPMASK initialization code for SH-4A parts, where it is
      possible to disable compat features that will go away in newer cores.
      Presently this includes disabling support for non-nop instructions in the
      rte delay slot, as well as a sleep instruction being placed in a delay
      slot (neither of which the kernel does any longer). As a result of this,
      any future offenders will have illegal slot exceptions generated for
      them.
      
      Associative writes for the memory-mapped cache array are still left
      enabled, until such a point that special cache operations for SH-4A are
      provided to move off of the current (and rather dated) SH-4 versions.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      7dd6662a
  17. 02 6月, 2009 1 次提交
  18. 22 12月, 2008 1 次提交
  19. 06 3月, 2008 1 次提交
  20. 28 1月, 2008 4 次提交
  21. 21 9月, 2007 2 次提交
  22. 11 6月, 2007 1 次提交
  23. 07 5月, 2007 1 次提交
    • P
      sh: speculative execution support for SH7780. · 45ed285b
      Paul Mundt 提交于
      SH7780 has a speculative execution mode where it can speculatively
      perform an instruction fetch for subroutine returns, this allows it
      to be enabled. There are some various pitfalls associated with this
      mode, so it's left as depending on CONFIG_EXPERIMENTAL and not
      enabled by default.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      45ed285b
  24. 12 3月, 2007 1 次提交
  25. 13 2月, 2007 2 次提交
  26. 06 12月, 2006 1 次提交
  27. 27 9月, 2006 2 次提交
  28. 01 4月, 2006 1 次提交
    • O
      [PATCH] Don't pass boot parameters to argv_init[] · 9b41046c
      OGAWA Hirofumi 提交于
      The boot cmdline is parsed in parse_early_param() and
      parse_args(,unknown_bootoption).
      
      And __setup() is used in obsolete_checksetup().
      
      	start_kernel()
      		-> parse_args()
      			-> unknown_bootoption()
      				-> obsolete_checksetup()
      
      If __setup()'s callback (->setup_func()) returns 1 in
      obsolete_checksetup(), obsolete_checksetup() thinks a parameter was
      handled.
      
      If ->setup_func() returns 0, obsolete_checksetup() tries other
      ->setup_func().  If all ->setup_func() that matched a parameter returns 0,
      a parameter is seted to argv_init[].
      
      Then, when runing /sbin/init or init=app, argv_init[] is passed to the app.
      If the app doesn't ignore those arguments, it will warning and exit.
      
      This patch fixes a wrong usage of it, however fixes obvious one only.
      Signed-off-by: NOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9b41046c
  29. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4