23 Jan, 2006

14 commits


22 Jan, 2006

1 commit


20 Jan, 2006

10 commits


19 Jan, 2006

15 commits

  • This also includes by necessity _TIF_RESTORE_SIGMASK support,
    which actually resulted in a lot of cleanups.

    The sparc signal handling code is quite a mess and I should
    clean it up some day.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Signed-off-by: David S. Miller

    David S. Miller
     
  • Linus Torvalds
     
  • some driver clean ups, and a re-posting of changes that are needed

    to match the updated TPS.

    Signed-off-by: Mark Gross
    Signed-off-by: Linus Torvalds

    mark gross
     
  • This is a subset of the bluesmoke project core code, stripped of the NMI work
    which isn't ready to merge and some of the "interesting" proc functionality
    that needs reworking or just has no place in kernel. It requires no core
    kernel changes except the added scrub functions already posted.

    The goal is to merge further functionality only after the core code is
    accepted and proven in the base kernel, and only at the point the upstream
    extras are really ready to merge.

    From: doug thompson

    This converts EDAC to sysfs and is the final chunk neccessary before EDAC
    has a stable user space API and can be considered for submission into the
    base kernel.

    Signed-off-by: Alan Cox
    Signed-off-by: Adrian Bunk
    Signed-off-by: Jesper Juhl
    Signed-off-by: doug thompson
    Signed-off-by: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • Signed-off-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • Signed-off-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • Signed-off-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • EDAC requires a way to scrub memory if an ECC error is found and the chipset
    does not do the work automatically. That means rewriting memory locations
    atomically with respect to all CPUs _and_ bus masters. That means we can't
    use atomic_add(foo, 0) as it gets optimised for non-SMP

    This adds a function to include/asm-foo/atomic.h for the platforms currently
    supported which implements a scrub of a mapped block.

    It also adjusts a few other files include order where atomic.h is included
    before types.h as this now causes an error as atomic_scrub uses u32.

    Signed-off-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • Add the sys_pselect6() and sys_poll() calls to the i386 syscall table.

    Signed-off-by: David Woodhouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Woodhouse
     
  • The following implementation of ppoll() and pselect() system calls
    depends on the architecture providing a TIF_RESTORE_SIGMASK flag in the
    thread_info.

    These system calls have to change the signal mask during their
    operation, and signal handlers must be invoked using the new, temporary
    signal mask. The old signal mask must be restored either upon successful
    exit from the system call, or upon returning from the invoked signal
    handler if the system call is interrupted. We can't simply restore the
    original signal mask and return to userspace, since the restored signal
    mask may actually block the signal which interrupted the system call.

    The TIF_RESTORE_SIGMASK flag deals with this by causing the syscall exit
    path to trap into do_signal() just as TIF_SIGPENDING does, and by
    causing do_signal() to use the saved signal mask instead of the current
    signal mask when setting up the stack frame for the signal handler -- or
    by causing do_signal() to simply restore the saved signal mask in the
    case where there is no handler to be invoked.

    The first patch implements the sys_pselect() and sys_ppoll() system
    calls, which are present only if TIF_RESTORE_SIGMASK is defined. That
    #ifdef should go away in time when all architectures have implemented
    it. The second patch implements TIF_RESTORE_SIGMASK for the PowerPC
    kernel (in the -mm tree), and the third patch then removes the
    arch-specific implementations of sys_rt_sigsuspend() and replaces them
    with generic versions using the same trick.

    The fourth and fifth patches, provided by David Howells, implement
    TIF_RESTORE_SIGMASK for FR-V and i386 respectively, and the sixth patch
    adds the syscalls to the i386 syscall table.

    This patch:

    Add the pselect() and ppoll() system calls, providing core routines usable by
    the original select() and poll() system calls and also the new calls (with
    their semantics w.r.t timeouts).

    Signed-off-by: David Woodhouse
    Cc: Michael Kerrisk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Woodhouse
     
  • Use the generic sys_rt_sigsuspend.

    Signed-off-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Add support for TIF_RESTORE_SIGMASK. I copy the i386 handling of the flag.
    sys_sigsuspend is also changed to follow i386.
    Also a bit of cleanup -
    turn an if into a switch
    get rid of a couple more emacs formatting comments

    Signed-off-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Implement the TIF_RESTORE_SIGMASK flag in the new arch/powerpc kernel, for
    both 32-bit and 64-bit system call paths.

    Signed-off-by: David Woodhouse
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Woodhouse
     
  • Handle TIF_RESTORE_SIGMASK as added by David Woodhouse's patch entitled:

    [PATCH] 2/3 Add TIF_RESTORE_SIGMASK support for arch/powerpc
    [PATCH] 3/3 Generic sys_rt_sigsuspend

    It does the following:

    (1) Declares TIF_RESTORE_SIGMASK for i386.

    (2) Invokes it over to do_signal() when TIF_RESTORE_SIGMASK is set.

    (3) Makes do_signal() support TIF_RESTORE_SIGMASK, using the signal mask saved
    in current->saved_sigmask.

    (4) Discards sys_rt_sigsuspend() from the arch, using the generic one instead.

    (5) Makes sys_sigsuspend() save the signal mask and set TIF_RESTORE_SIGMASK
    rather than attempting to fudge the return registers.

    (6) Makes sys_sigsuspend() return -ERESTARTNOHAND rather than looping
    intrinsically.

    (7) Makes setup_frame(), setup_rt_frame() and handle_signal() return 0 or
    -EFAULT rather than true/false to be consistent with the rest of the
    kernel.

    Due to the fact do_signal() is then only called from one place:

    (8) Makes do_signal() no longer have a return value is it was just being
    ignored; force_sig() takes care of this.

    (9) Discards the old sigmask argument to do_signal() as it's no longer
    necessary.

    (10) Makes do_signal() static.

    (11) Marks the second argument to do_notify_resume() as unused. The unused
    argument should remain in the middle as the arguments are passed in as
    registers, and the ordering is specific in entry.S

    Given the way do_signal() is now no longer called from sys_{,rt_}sigsuspend(),
    they no longer need access to the exception frame, and so can just take
    arguments normally.

    This patch depends on sys_rt_sigsuspend patch.

    Signed-off-by: David Howells
    Signed-off-by: David Woodhouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Howells