13 Jan, 2006

2 commits


12 Jan, 2006

1 commit


29 Oct, 2005

1 commit


27 Oct, 2005

1 commit

  • The recent merge of fpu.S broken the handling of fpscr for
    ARCH=powerpc and CONFIG_PPC64=y. FP registers could be corrupted,
    leading to strange random application crashes.

    The confusion arises, because the thread_struct has (and requires) a
    64-bit area to save the fpscr, because we use load/store double
    instructions to get it in to/out of the FPU. However, only the low
    32-bits are actually used, so we want to treat it as a 32-bit quantity
    when manipulating its bits to avoid extra load/stores on 32-bit. This
    patch replaces the current definition with a structure of two 32-bit
    quantities (pad and val), to clarify things as much as is possible.
    The 'val' field is used when manipulating bits, the structure itself
    is used when obtaining the address for loading/unloading the value
    from the FPU.

    While we're at it, consolidate the 4 (!) almost identical versions of
    cvt_fd() and cvt_df() (arch/ppc/kernel/misc.S,
    arch/ppc64/kernel/misc.S, arch/powerpc/kernel/misc_32.S,
    arch/powerpc/kernel/misc_64.S) into a single version in fpu.S. The
    new version takes a pointer to thread_struct and applies the correct
    offset itself, rather than a pointer to the fpscr field itself, again
    to avoid confusion as to which is the correct field to use.

    Finally, this patch makes ARCH=ppc64 also use the consolidated fpu.S
    code, which it previously did not.

    Built for G5 (ARCH=ppc64 and ARCH=powerpc), 32-bit powermac (ARCH=ppc
    and ARCH=powerpc) and Walnut (ARCH=ppc, CONFIG_MATH_EMULATION=y).
    Booted on G5 (ARCH=powerpc) and things which previously fell over no
    longer do.

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

    David Gibson
     

17 Oct, 2005

1 commit


11 Oct, 2005

1 commit

  • This fixes up a variety of minor problems in compiling with ARCH=ppc
    arising from using the merged versions of various header files.
    A lot of the changes are just adding #include to
    files that use ppc_md or smp_ops_t.

    This also arranges for us to use semaphore.c, vecemu.c, vector.S and
    fpu.S from arch/powerpc/kernel when compiling with ARCH=ppc.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     

01 Oct, 2005

1 commit

  • Use idle_power4.S from ppc64 as we are not going to support
    32 bit power4 in the merged tree.

    Merge ppc64 traps.c into powerpc traps.c:
    use ppc64 versions of exception routine names
    (as they don't have StudlyCaps)
    make all the versions if die() have the same
    prototype

    Signed-off-by: Stephen Rothwell

    Stephen Rothwell
     

11 Sep, 2005

1 commit

  • This is a patch that I have had in my tree for ages. If init causes
    an exception that raises a signal, such as a SIGSEGV, SIGILL or
    SIGFPE, and it hasn't registered a handler for it, we don't deliver
    the signal, since init doesn't get any signals that it doesn't have a
    handler for. But that means that we just return to userland and
    generate the same exception again immediately. With this patch we
    print a message and kill init in this situation.

    This is very useful when you have a bug in the kernel that means that
    init doesn't get as far as executing its first instruction. :)
    Without this patch the system hangs when it gets to starting the
    userland init; with it you at least get a message giving you a clue
    about what has gone wrong.

    Signed-off-by: Paul Mackerras
    Signed-off-by: Linus Torvalds

    Paul Mackerras
     

05 Sep, 2005

2 commits

  • Add declaration and cacheable_memcpy(). I'll be needing this function in
    new 4xx EMAC driver I'm going to submit to netdev soon.

    IMHO, the better place for the declaration would be asm-powerpc/string.h,
    unfortunately, ppc64 doesn't have this function, so asm-ppc/system.h is the
    next best place.

    Signed-off-by: Eugene Surovegin
    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eugene Surovegin
     
  • Renamed global variables used to convey if the watchdog is enabled and
    periodicity of the timer and moved the declarations into a header for these
    variables

    Signed-off-by: Matt McClintock
    Signed-off-by: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kumar Gala
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds