1. 29 4月, 2008 2 次提交
  2. 27 4月, 2008 1 次提交
    • D
      sparc: Remove old style signal frame support. · 5526b7e4
      David S. Miller 提交于
      Back around the same time we were bootstrapping the first 32-bit sparc
      Linux kernel with a SunOS userland, we made the signal frame match
      that of SunOS.
      
      By the time we even started putting together a native Linux userland
      for 32-bit Sparc we realized this layout wasn't sufficient for Linux's
      needs.
      
      Therefore we changed the layout, yet kept support for the old style
      signal frame layout in there.  The detection mechanism is that we had
      sys_sigaction() start passing in a negative signal number to indicate
      "new style signal frames please".
      
      Anyways, no binaries exist in the world that use the old stuff.  In
      fact, I bet Jakub Jelinek and myself are the only two people who ever
      had such binaries to be honest.
      
      So let's get rid of this stuff.
      
      I added an assertion using WARN_ON_ONCE() that makes sure 32-bit
      applications are passing in that negative signal number still.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5526b7e4
  3. 24 4月, 2008 1 次提交
  4. 22 4月, 2008 1 次提交
  5. 21 4月, 2008 1 次提交
  6. 17 4月, 2008 1 次提交
  7. 10 4月, 2008 1 次提交
    • D
      [SPARC]: Fix several regset and ptrace bugs. · d786a4a6
      David S. Miller 提交于
      1) ptrace should pass 'current' to task_user_regset_view()
      
      2) When fetching general registers using a 64-bit view, and
         the target is 32-bit, we have to convert.
      
      3) Skip the whole register window get/set code block if
         the user isn't asking to access anything in there.
      
         Otherwise we have problems if the user doesn't have
         an address space setup.  Fetching ptrace register is
         still valid at such a time, and ptrace does not try
         to access the register window area of the regset.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d786a4a6
  8. 18 3月, 2008 1 次提交
  9. 04 3月, 2008 2 次提交
  10. 29 2月, 2008 2 次提交
  11. 25 2月, 2008 1 次提交
    • D
      [SPARC]: Fix build in arch/sparc/kernel/led.c · b80a7186
      David S. Miller 提交于
        CC [M]  arch/sparc/kernel/led.o
      arch/sparc/kernel/led.c: In function 'led_blink':
      arch/sparc/kernel/led.c:35: error: invalid use of undefined type 'struct
      timer_list'
      arch/sparc/kernel/led.c:35: error: 'jiffies' undeclared (first use in
      this function)
      arch/sparc/kernel/led.c:35: error: (Each undeclared identifier is
      reported only once
      arch/sparc/kernel/led.c:35: error: for each function it appears in.)
      arch/sparc/kernel/led.c:36: error: 'avenrun' undeclared (first use in
      this function)
      arch/sparc/kernel/led.c:36: error: 'FSHIFT' undeclared (first use in
      this function)
      arch/sparc/kernel/led.c:36: error: 'HZ' undeclared (first use in this
      function)
      arch/sparc/kernel/led.c:37: error: invalid use of undefined type 'struct
      timer_list'
      arch/sparc/kernel/led.c:39: error: invalid use of undefined type 'struct
      timer_list'
      arch/sparc/kernel/led.c:40: error: invalid use of undefined type 'struct
      timer_list'
      arch/sparc/kernel/led.c:42: error: implicit declaration of function
      'add_timer'
      arch/sparc/kernel/led.c: In function 'led_write_proc':
      arch/sparc/kernel/led.c:70: error: implicit declaration of function
      'copy_from_user'
      arch/sparc/kernel/led.c:84: error: implicit declaration of function
      'del_timer_sync'
      arch/sparc/kernel/led.c: In function 'led_init':
      arch/sparc/kernel/led.c:109: error: implicit declaration of function
      'init_timer'
      arch/sparc/kernel/led.c:110: error: invalid use of undefined type
      'struct timer_list'
      make[1]: *** [arch/sparc/kernel/led.o] Error 1
      
      Based upon original patch by Robert Reif.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b80a7186
  12. 19 2月, 2008 2 次提交
  13. 14 2月, 2008 1 次提交
    • P
      xtime_lock vs update_process_times · aa02cd2d
      Peter Zijlstra 提交于
      Commit d3d74453 ("hrtimer: fixup the
      HRTIMER_CB_IRQSAFE_NO_SOFTIRQ fallback") broke several archs, and since
      only Russell bothered to merge the fix, and Greg to ACK his arch, I'm
      sending this for merger.
      
      I have confirmation that the Alpha bit results in a booting kernel.
      That leaves: blackfin, frv, sh and sparc untested.
      
      The deadlock in question was found by Russell:
      
        IRQ handle
          -> timer_tick() - xtime seqlock held for write
            -> update_process_times()
              -> run_local_timers()
                -> hrtimer_run_queues()
                  -> hrtimer_get_softirq_time() - tries to get a read lock
      
      Now, Thomas assures me the fix is trivial, only do_timer() needs to be
      done under the xtime_lock, and update_process_times() can savely be
      removed from under it.
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: NGreg Ungerer <gerg@uclinux.org>
      CC: Richard Henderson <rth@twiddle.net>
      CC: Bryan Wu <bryan.wu@analog.com>
      CC: David Howells <dhowells@redhat.com>
      CC: Paul Mundt <lethal@linux-sh.org>
      CC: William Irwin <wli@holomorphy.com>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NIvan Kokshaysky <ink@jurassic.park.msu.ru>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      aa02cd2d
  14. 09 2月, 2008 5 次提交
  15. 07 2月, 2008 6 次提交
  16. 06 2月, 2008 2 次提交
    • D
      [SPARC]: Add new timerfd syscall entries. · 3db1d97a
      David S. Miller 提交于
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3db1d97a
    • D
      timerfd: new timerfd API · 4d672e7a
      Davide Libenzi 提交于
      This is the new timerfd API as it is implemented by the following patch:
      
      int timerfd_create(int clockid, int flags);
      int timerfd_settime(int ufd, int flags,
      		    const struct itimerspec *utmr,
      		    struct itimerspec *otmr);
      int timerfd_gettime(int ufd, struct itimerspec *otmr);
      
      The timerfd_create() API creates an un-programmed timerfd fd.  The "clockid"
      parameter can be either CLOCK_MONOTONIC or CLOCK_REALTIME.
      
      The timerfd_settime() API give new settings by the timerfd fd, by optionally
      retrieving the previous expiration time (in case the "otmr" parameter is not
      NULL).
      
      The time value specified in "utmr" is absolute, if the TFD_TIMER_ABSTIME bit
      is set in the "flags" parameter.  Otherwise it's a relative time.
      
      The timerfd_gettime() API returns the next expiration time of the timer, or
      {0, 0} if the timerfd has not been set yet.
      
      Like the previous timerfd API implementation, read(2) and poll(2) are
      supported (with the same interface).  Here's a simple test program I used to
      exercise the new timerfd APIs:
      
      http://www.xmailserver.org/timerfd-test2.c
      
      [akpm@linux-foundation.org: coding-style cleanups]
      [akpm@linux-foundation.org: fix ia64 build]
      [akpm@linux-foundation.org: fix m68k build]
      [akpm@linux-foundation.org: fix mips build]
      [akpm@linux-foundation.org: fix alpha, arm, blackfin, cris, m68k, s390, sparc and sparc64 builds]
      [heiko.carstens@de.ibm.com: fix s390]
      [akpm@linux-foundation.org: fix powerpc build]
      [akpm@linux-foundation.org: fix sparc64 more]
      Signed-off-by: NDavide Libenzi <davidel@xmailserver.org>
      Cc: Michael Kerrisk <mtk-manpages@gmx.net>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Davide Libenzi <davidel@xmailserver.org>
      Cc: Michael Kerrisk <mtk-manpages@gmx.net>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Michael Kerrisk <mtk.manpages@gmail.com>
      Cc: Davide Libenzi <davidel@xmailserver.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4d672e7a
  17. 03 2月, 2008 1 次提交
  18. 29 1月, 2008 1 次提交
  19. 23 1月, 2008 1 次提交
  20. 13 1月, 2008 1 次提交
    • D
      [SPARC]: Make gettimeofday() monotonic again. · 000775c5
      David S. Miller 提交于
      When we switched away from the optimized C version
      things stopped being monotonic.
      
      The problem is that if we run this with interrupts disabled, we can
      see the interrupt pending because the counter reached the limit value.
      When this happens the counter has bit 31 set, and the low bits start
      counting again from zero.
      
      Reported by Martin Habets.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      000775c5
  21. 21 12月, 2007 1 次提交
  22. 05 12月, 2007 2 次提交
  23. 07 11月, 2007 1 次提交
  24. 27 10月, 2007 1 次提交
  25. 24 10月, 2007 1 次提交