09 Sep, 2005

4 commits


08 Sep, 2005

6 commits


06 Sep, 2005

17 commits


05 Sep, 2005

2 commits

  • Use msleep_interruptible() instead of schedule_timeout() in ppc64-specific
    code to cleanup/simplify the sleeping logic. Change the units of the
    parameter of do_event_scan_all_cpus() to milliseconds from jiffies. The
    return value of rtas_extended_busy_delay_time() was incorrectly being used
    as a jiffies value (it is actually milliseconds), which is fixed by using
    the value as a parameter to msleep_interruptible(). Also, use
    rtas_extended_busy_delay_time() in another case where similar logic is
    duplicated.

    Signed-off-by: Nishanth Aravamudan
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nishanth Aravamudan
     
  • We need to indicate to the hypervisor that it needs to save our VMX
    registers when switching partitions on a shared-processor system, just as
    it needs to for FP and PMC registers.

    This could be made to be on-demand when VMX is used, but we don't do that
    for FP nor PMC right now either so let's not overcomplicate things.

    Signed-off-by: Olof Johansson
    Acked-by: Paul Mackerras
    Cc: Anton Blanchard
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Olof Johansson
     

30 Aug, 2005

11 commits

  • This patch fixes a rare memory leak found by Coverity.

    Signed-off-by: Joel Schopp
    Signed-off-by: Paul Mackerras

    Joel Schopp
     
  • Coverity found more unused code.

    Signed-off-by: Joel Schopp
    Signed-off-by: Paul Mackerras

    Joel Schopp
     
  • Some RS64-based machines (p620, F80, others) have problems with firmware
    returning 0xdeadbeef instead of failure to allocations that end at the
    1GB mark.

    We have two options:
    1. Detect the undocumented 0xdeadbeef return value and interpret it as
    a failure.
    2. Avoid allocating that high.

    (2) is really the cleaner solution here. 768MB is plenty of room so use
    that as the max alloc_top instead of 1GB.

    Signed-off-by: Olof Johansson
    Signed-off-by: Paul Mackerras

    Olof Johansson
     
  • Make MODULE_DEVICE_TABLE work for vio devices.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Paul Mackerras

    Stephen Rothwell
     
  • Create vio_bus_ops so that we just pass a structure to vio_bus_init
    instead of three separate function pointers.

    Rearrange vio.h to avoid forward references. vio.h only needs
    struct device_node from prom.h so remove the include and just
    declare it.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Paul Mackerras

    Stephen Rothwell
     
  • Take some assignments out of vio_register_device_common and
    rename it to vio_register_device.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Paul Mackerras

    Stephen Rothwell
     
  • Formatting changes to vio.c to bring it closer to the
    kernel coding standard.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Paul Mackerras

    Stephen Rothwell
     
  • gcc 3.4 (at least the build we are using) puts the gcc generated .ident
    string into a .note section at the end of the files it compiles (gcc
    3.3.3-hammer and gcc 4.0.2 Debian puts it in the .text section). This
    means that the lparmap.s file we produce in the iSeries build may end with
    a .note section. When we include it into head.S, the assembler can no
    longer resolve some of the conditional branches since the target label
    ends up too far away. This patch just forces us back to the .text section
    after including lparmap.s.

    The breakage was caused by my patch "iSeries build with newer assemblers
    and compilers" (sha1-id: 2ad56496627630ebc99f06af5f81ca23e17e014e).

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Paul Mackerras

    Stephen Rothwell
     
  • A mistake rebasing the series of ppc64 head.S cleanup patches meant
    the #include of lparmap.s, needed for iSeries was lost. This patch
    puts it back again.

    Signed-off-by: David Gibson
    Signed-off-by: Paul Mackerras

    David Gibson
     
  • Linus Torvalds
     
  • It has been reported that the way Linux handles NODEFER for signals is
    not consistent with the way other Unix boxes handle it. I've written a
    program to test the behavior of how this flag affects signals and had
    several reports from people who ran this on various Unix boxes,
    confirming that Linux seems to be unique on the way this is handled.

    The way NODEFER affects signals on other Unix boxes is as follows:

    1) If NODEFER is set, other signals in sa_mask are still blocked.

    2) If NODEFER is set and the signal is in sa_mask, then the signal is
    still blocked. (Note: this is the behavior of all tested but Linux _and_
    NetBSD 2.0 *).

    The way NODEFER affects signals on Linux:

    1) If NODEFER is set, other signals are _not_ blocked regardless of
    sa_mask (Even NetBSD doesn't do this).

    2) If NODEFER is set and the signal is in sa_mask, then the signal being
    handled is not blocked.

    The patch converts signal handling in all current Linux architectures to
    the way most Unix boxes work.

    Unix boxes that were tested: DU4, AIX 5.2, Irix 6.5, NetBSD 2.0, SFU
    3.5 on WinXP, AIX 5.3, Mac OSX, and of course Linux 2.6.13-rcX.

    * NetBSD was the only other Unix to behave like Linux on point #2. The
    main concern was brought up by point #1 which even NetBSD isn't like
    Linux. So with this patch, we leave NetBSD as the lonely one that
    behaves differently here with #2.

    Signed-off-by: Linus Torvalds

    Steven Rostedt