1. 19 May, 2008 2 commits
    • Paul Mundt's avatar
      sh: Fix up restorer in debug_trap exception return path. · 336f1d32
      Paul Mundt authored
      There are a few different types of debug trap exceptions, though now
      that they are all going through a special jump table, the restorer needs
      to be unified as well.
      
      Presently this is falling through the ret_from_fork path, which more or
      less does the right thing on SH-3/4 whilst being completely unsuitable on
      MMU-less targets.
      
      Ultimately what we want here is a branch through the platform's
      restore_all directly, without worrying about the retval being clobbered.
      We can accomplish that through a branch to __restore_all directly, so
      switch it so we come back from the jump table and branch to the restorer.
      
      This fixes up a recursion in the nommu WARN_ON() path, as well as some
      other userspace nastiness where said recursion caused serious stack
      corruption.
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      336f1d32
    • Paul Mundt's avatar
      sh: Make is_valid_bugaddr() more intelligent on nommu. · 9a33fc21
      Paul Mundt authored
      Currently is_valid_bugaddr() is true for anything >= PAGE_OFFSET, which
      happens to be 0 on nommu configurations. Make this a bit smarter by just
      reading in the opcode and comparing it against the trap type that we
      already know. Follows the logic from avr32.
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      9a33fc21
  2. 16 May, 2008 11 commits
  3. 15 May, 2008 27 commits