19 Jan, 2006

3 commits

  • 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
     
  • The TIF_RESTORE_SIGMASK flag allows us to have a generic implementation of
    sys_rt_sigsuspend() instead of duplicating it for each architecture. This
    provides such an implementation and makes arch/powerpc use it.

    It also tidies up the ppc32 sys_sigsuspend() to use TIF_RESTORE_SIGMASK.

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

    David Woodhouse
     
  • Adds the ability to disability packet split at compile time and use the legacy receive path on PCI express hardware. Made this a CONFIG option and modified the Kconfig, to reflect the new option.

    Signed-off-by: Jeff Kirsher
    Signed-off-by: Jeff Kirsher
    Signed-off-by: John Ronciak
    Signed-off-by: Jeff Garzik

    Jesse Brandeburg
     

15 Jan, 2006

7 commits


14 Jan, 2006

12 commits

  • The first generation of PCI powermacs had a host bridge called /chaos
    which was for all intents and purposes a PCI host bridge, but has a
    device_type of "vci" in the device tree (presumably it's not really
    PCI at the hardware level or something).

    The OF parsing stuff in arch/powerpc/kernel/prom_parse.c currently
    doesn't recognize it as a PCI bridge, which means that controlfb.c
    can't get its device addresses.

    This makes prom_parse.c recognize a device_type of "vci" as indicating
    a PCI host bridge. With this, controlfb works again.

    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Paul Mackerras
     
  • The 601 processor will generate an alignment exception for accesses
    which cross a page boundary. In the boot wrapper code, OF is still
    handling all exceptions, and it doesn't have an alignment exception
    handler that emulates the instruction and continues.

    This changes the memcpy and memmove routines in the boot wrapper to
    avoid doing unaligned accesses. If the source and destination are
    misaligned with respect to each other, we just copy one byte at a
    time.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     
  • This adds code to build zImage.coff and/or zImage.initrd.coff when
    CONFIG_PPC32 and CONFIG_PPC_PMAC are defined. It also restructures
    the OF client code and adds some workarounds for OF quirks on the
    older machines.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     
  • This makes CHRP build again, although it's untested because my Pegasos
    is currently in pieces.

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

    David Woodhouse
     
  • Handle the ibm,suspend-me RTAS call specially. It needs
    to be wrapped in a set of synchronization hypervisor calls
    (H_Join). When the H_Join calls are made on all CPUs, the
    intent is that only one will return with H_Continue, meaning
    that he is the "last man standing". That CPU then issues the
    ibm,suspend-me call. What is interesting, of course, is that
    the CPU running when the rtas syscall is made, may NOT be the
    CPU that ultimately executes the ibm,suspend-me rtas call.

    Signed-off-by: Dave Boutcher
    Signed-off-by: Paul Mackerras

    Dave C Boutcher
     
  • Add the first MPC83xx board that uses a flat device tree to arch/powerpc.

    Signed-off-by: Kumar Gala
    Signed-off-by: Paul Mackerras

    Kumar Gala
     
  • Parse the flat device tree for devices on Freescale SOC's that we know
    about (gianfar, gianfar_mdio, i2c, mpc83xx_wdt). We need to setup
    platform devices and platform data for these devices to match arch/ppc
    usage.

    Also add a helper function (get_immrbase) that reports the base
    address of the MMIO registers on the SOC.

    Signed-off-by: Kumar Gala
    Signed-off-by: Paul Mackerras

    Kumar Gala
     
  • On a number of embedded reference boards there isn't always a
    way to reset, power_off, or halt the board. Rather than having
    each board implement a spin loop just let the generic code do
    it.

    Signed-off-by: Kumar Gala
    Signed-off-by: Paul Mackerras

    Kumar Gala
     
  • In 2.6.15-git6 a change was commited in the oprofile support in
    the powerpc architecture. It introduced the powerpc_oprofile_type
    which contains the define G4. This causes a name clash with the
    existing wacom usb tablet driver.

    CC [M] drivers/usb/input/wacom.o
    drivers/usb/input/wacom.c:98: error: conflicting types for `G4'
    include/asm/cputable.h:37: error: previous declaration of `G4'
    CC [M] drivers/usb/mon/mon_text.o
    make[3]: *** [drivers/usb/input/wacom.o] Error 1
    make[2]: *** [drivers/usb/input] Error 2

    The elements of an enum declared in global scope are effectivly
    global identifiers themselves. As such we need to ensure the names
    are unique. This patch updates the later oprofile support to use
    unique names.

    Signed-off-by: Andy Whitcroft
    Signed-off-by: Paul Mackerras

    Andy Whitcroft
     
  • The glibc folks want to use AT_PLATFORM to select between possible
    alternative versions of shared libraries. This commit makes the kernel
    supply an AT_PLATFORM string that indicates what class of processor
    we are running on. Processors with the same set of user-level
    instructions and roughly the same instruction scheduling characteristics
    are given the same AT_PLATFORM value; for example, 821, 823 and 860
    are all reported as "ppc823", and 7447, 7447A, 7448, 7450, 7451, 7455
    are all called "ppc7450".

    The intention is that the AT_PLATFORM values match the values that
    gcc accepts for the -mcpu= option. For values which are numeric
    (e.g. -mcpu=750), "ppc" has been prepended.

    This also adds a PPC_FEATURE_BOOKE bit to the AT_HWCAP value and sets
    it for the 440 family and the Freescale 85xx family.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     
  • Signed-off-by: Russell King
    Signed-off-by: Greg Kroah-Hartman

    Russell King
     
  • Signed-off-by: Russell King
    Signed-off-by: Greg Kroah-Hartman

    Russell King
     

13 Jan, 2006

10 commits

  • At present the lppaca - the structure shared with the iSeries
    hypervisor and phyp - is contained within the PACA, our own low-level
    per-cpu structure. This doesn't have to be so, the patch below
    removes it, making a separate array of lppaca structures.

    This saves approximately 500*NR_CPUS bytes of image size and kernel
    memory, because we don't need aligning gap between the Linux and
    hypervisor portions of every PACA. On the other hand it means an
    extra level of dereference in many accesses to the lppaca.

    The patch also gets rid of several places where we assign the paca
    address to a local variable for no particular reason.

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

    David Gibson
     
  • This patch consolidates the variety of macros used for loading 32 or
    64-bit constants in assembler (LOADADDR, LOADBASE, SET_REG_TO_*). The
    idea is to make the set of macros consistent across 32 and 64 bit and
    to make it more obvious which is the appropriate one to use in a given
    situation. The new macros and their semantics are described in the
    comments in ppc_asm.h.

    In the process, we change several places that were unnecessarily using
    immediate loads on ppc64 to use the GOT/TOC. Likewise we cleanup a
    couple of places where we were clumsily subtracting PAGE_OFFSET with
    asm instructions to use assemble-time arithmetic or the toreal() macro
    instead.

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

    David Gibson
     
  • The following reworks how defaultimage- is used. We default to zImage
    here and then override it on platforms that need something more (uImage
    in the future) or less (vmlinux on iSeries).

    Signed-off-by: Tom Rini
    Signed-off-by: Paul Mackerras

    Tom Rini
     
  • Add support to reconfigure the device tree through the existing
    proc filesystem interface. Add "add_property", "remove_property",
    and "update_property" commands to the existing interface.

    Signed-off-by: Dave Boutcher
    Signed-off-by: Paul Mackerras

    Dave C Boutcher
     
  • Add an of_find_property function that returns a struct property
    given a property name. Then change the get_property function to
    use that routine internally.

    Signed-off-by: Dave Boutcher
    Signed-off-by: Paul Mackerras

    Dave C Boutcher
     
  • Add support for updating and removing device tree
    properties. Since we hand out pointers to properties with gay
    abandon, we can't just free the property storage. Instead we
    move deleted, or the old copy of an updated property, to a
    "dead properties" list.

    Also note, its not feasable to kref device tree properties.
    we call get_property() all over the kernel in a wild variety
    of contexts.

    One consequence of this change is that we now take a
    read_lock(&devtree_lock) when doing get_property().

    Signed-off-by: Dave Boutcher
    Signed-off-by: Paul Mackerras

    Dave C Boutcher
     
  • Since the documentation no longer tells people to 'make bzImage', and
    with the previous patch nothing more than 'make' is required to get the
    right bootable images (just like on i386 now), this removes the bzImage
    -> zImage target redirect on ARCH=powerpc

    Signed-off-by: Tom Rini
    Signed-off-by: Paul Mackerras

    Tom Rini
     
  • Fix up delete/modify conflict of arch/ppc/kernel/process.c by hand (it's
    gone, gone, gone).

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Signed-off-by: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     

12 Jan, 2006

8 commits