1. 21 9月, 2007 11 次提交
  2. 01 8月, 2007 1 次提交
    • P
      sh: Fix lockdep debugging oops on SH-3/4. · c347d12c
      Paul Mundt 提交于
      In the SH-3/4 TLB access violation path we were enabling IRQs before
      the call in to trace_hardirqs_on(), which ended up triggering:
      
              if (DEBUG_LOCKS_WARN_ON(!irqs_disabled()))
                      return;
      
      in kernel/lockdep.c:2031. Fix this up by removing the early re-enable,
      we were already re-enabling IRQs post-trace_hardirqs_on() already, so
      the semantics are now as was initially intended.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      c347d12c
  3. 26 7月, 2007 1 次提交
  4. 20 7月, 2007 1 次提交
  5. 16 7月, 2007 1 次提交
  6. 20 6月, 2007 1 次提交
  7. 15 6月, 2007 1 次提交
    • M
      sh: rework ipr code · 68abdbbb
      Magnus Damm 提交于
      This patch reworks the ipr code by grouping the offset array together
      with the ipr_data structure in a new data structure called ipr_desc.
      This new structure also contains the name of the controller in struct
      irq_chip. The idea behind putting struct irq_chip in there is that we
      can use offsetof() to locate the base addresses in the irq_chip
      callbacks. This strategy has much in common with the recently merged
      intc2 code.
      
      One logic change has been made - the original ipr code enabled the
      interrupts by default but with this patch they are all disabled by
      default.
      Signed-off-by: NMagnus Damm <damm@igel.co.jp>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      68abdbbb
  8. 04 6月, 2007 1 次提交
  9. 31 5月, 2007 1 次提交
  10. 09 5月, 2007 2 次提交
  11. 07 5月, 2007 3 次提交
  12. 14 3月, 2007 1 次提交
  13. 14 2月, 2007 1 次提交
  14. 13 2月, 2007 4 次提交
  15. 06 12月, 2006 6 次提交
  16. 19 10月, 2006 1 次提交
    • P
      sh: Fix exception_handling_table alignment. · 1f666587
      Paul Mundt 提交于
      With the recent change ripping out interrupt_table, explicit
      padding of the table was missing, causing bad things to happen
      when manually inserting handlers in to the table. This problem
      particularly showed up in relation to do_fpu_state_restore()
      which was inserted quite deeply in to the table and ended up
      scribbling over a slab object.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      1f666587
  17. 12 10月, 2006 1 次提交
    • P
      sh: interrupt exception handling rework · baf4326e
      Paul Mundt 提交于
      Kill off interrupt_table for all of the CPU subtypes, we now
      default in to stepping in to do_IRQ() for _all_ IRQ exceptions
      and counting the spurious ones, rather than simply flipping on
      the ones we cared about. This and enabling the IRQ by default
      automatically has already uncovered a couple of bugs and IRQs
      that weren't being caught, as well as some that are being
      generated far too often (SCI Tx Data Empty, for example).
      
      The general rationale is to use a marker for interrupt exceptions,
      test for it in the handle_exception() path, and skip out to
      do_IRQ() if it's found. Everything else follows the same behaviour
      of finding the cached EXPEVT value in r2/r2_bank, we just rip out
      the INTEVT read from entry.S entirely (except for in the kGDB NMI
      case, which is another matter).
      
      Note that while this changes the do_IRQ() semantics regarding r4
      handling, they were fundamentally broken anyways (relying entirely
      on r2_bank for the cached code). With this, we do the INTEVT read
      from do_IRQ() itself (in the CONFIG_CPU_HAS_INTEVT case), or fall
      back on r4 for the muxed IRQ number, which should also be closer
      to what SH-2 and SH-2A want anyways.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      baf4326e
  18. 27 9月, 2006 2 次提交