1. 30 10月, 2009 4 次提交
  2. 28 10月, 2009 2 次提交
  3. 27 10月, 2009 4 次提交
  4. 26 10月, 2009 5 次提交
  5. 20 10月, 2009 1 次提交
  6. 19 10月, 2009 2 次提交
  7. 18 10月, 2009 1 次提交
    • P
      sh: Disable SCIF2 on the SH-X3 proto CPU. · 15dfdddb
      Paul Mundt 提交于
      SCIF2 and the FPU exceptions happen to share vector numbers, one in
      EXPEVT and the other in INTEVT. This is a violation of the interface and
      should have never made it in to silicon. On top of that, the demux hack
      that was added for special dispatch is rather error prone, and introduces
      more problems than it solves. Kill all of it off, and just refuse to deal
      with SCIF2 outright.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      15dfdddb
  8. 17 10月, 2009 1 次提交
  9. 16 10月, 2009 6 次提交
    • 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
    • P
      sh: Support SCHED_MC for SH-X3 multi-cores. · 896f0c0e
      Paul Mundt 提交于
      This enables SCHED_MC support for SH-X3 multi-cores. Presently this is
      just a simple wrapper around the possible map, but this allows for
      tying in support for some of the more exotic NUMA clusters where we can
      actually do something with the topology.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      896f0c0e
    • P
      sh: Fix up IRQ re-enabling for the need_resched() case. · 9dbe00a5
      Paul Mundt 提交于
      In the case where need_resched() is set in between the cpu_idle() and
      pm_idle() calls we were missing an else case for just re-enabling local
      IRQs and bailing out. This was noticed by the irqs_disabled() warning,
      even though IRQs were being re-enabled elsewhere.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      9dbe00a5
    • P
      sh: Make check_pgt_cache() more aggressive while idling. · 0e6d4986
      Paul Mundt 提交于
      This follows the x86 change and moves check_pgt_cache() up under the
      !need_resched() tight loop, rather than simply calling in to it when
      exiting idle.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      0e6d4986
    • P
      sh: Idle loop chainsawing for SMP-based light sleep. · f533c3d3
      Paul Mundt 提交于
      This does a bit of chainsawing of the idle loop code to get light sleep
      working on SMP. Previously this was forcing secondary CPUs in to sleep
      mode with them not coming back if they didn't have their own local
      timers. Given that we use clockevents broadcasting by default, the CPU
      managing the clockevents can't have IRQs disabled before entering its
      sleep state.
      
      This unfortunately leaves us with the age-old need_resched() race in
      between local_irq_enable() and cpu_sleep(), but at present this is
      unavoidable. After some more experimentation it may be possible to layer
      on SR.BL bit manipulation over top of this scheme to inhibit the race
      condition, but given the current potential for missing wakeups, this is
      left as a future exercise.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      f533c3d3
    • P
      sh: Force boot CPU in to light sleep mode for SH-X3 SMP. · 94eab0bb
      Paul Mundt 提交于
      All of the secondary CPUs are forced in to light sleep mode, but we were
      missing the same initialization for the boot CPU. This resulted in
      inconsistent sleep modes depending on which CPU we were on, confusing the
      idle loop when not polling.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      94eab0bb
  10. 14 10月, 2009 8 次提交
  11. 13 10月, 2009 6 次提交
    • P
      sh: ftrace: Make code modification NMI safe. · e4b053d9
      Paul Mundt 提交于
      This cribs the x86 implementation of ftrace_nmi_enter() and friends to
      make ftrace_modify_code() NMI safe, particularly on SMP configurations.
      
      For additional notes on the problems involved, see the comment below
      ftrace_call_replace().
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      e4b053d9
    • P
      sh: Don't profile return_address(). · c8afde7f
      Paul Mundt 提交于
      This adds return_address.c to the -pg exclusion list, as this is the
      building block for CALLER_ADDRx we do not want to profile this.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      c8afde7f
    • P
      sh: Tidy up the dwarf module helpers. · 5a3abba7
      Paul Mundt 提交于
      This enables us to build the dwarf unwinder both with modules enabled and
      disabled in addition to reducing code size in the latter case. The
      helpers are also consolidated, and modified to resemble the BUG module
      helpers.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      5a3abba7
    • P
      sh: Generalize CALLER_ADDRx support. · ac4fac8c
      Paul Mundt 提交于
      This splits out the unwinder implementation and adds a new
      return_address() abstraction modelled after the ARM code. The DWARF
      unwinder is tied in to this, returning NULL otherwise in the case of
      being unable to support arbitrary depths.
      
      This enables us to get correct behaviour with the unwinder enabled,
      as well as disabling the arbitrary depth support when frame pointers are
      enabled, as arbitrary depths with __builtin_return_address() are not
      supported regardless.
      
      With this abstraction it's also possible to layer on a simplified
      implementation with frame pointers in the event that the unwinder isn't
      enabled, although this is left as a future exercise.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      ac4fac8c
    • P
      sh: ftrace: Fix up syscall tracepoint support. · 99222622
      Paul Mundt 提交于
      Sync up with latest core changes in the syscalls tracing area:
      
      - tracing: Map syscall name to number (syscall_name_to_nr())
      - tracing: Call arch_init_ftrace_syscalls at boot
      - tracing: add support tracepoint ids (set_syscall_{enter,exit}_id())
      
      Taken from the s390 change.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      99222622
    • P
      sh: update die() output. · af67c3a9
      Paul Mundt 提交于
      This follows the ARM change, as SH had all of the same issues:
      
      Make die() better match x86:
      - add printing of the last accessed sysfs file
      - ensure console_verbose() is called under the lock
      - ensure we panic outside of oops_exit()
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      af67c3a9