18 Oct, 2007

1 commit

  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (24 commits)
    [POWERPC] Fix vmemmap warning in init_64.c
    [POWERPC] Fix 64 bits vDSO DWARF info for CR register
    [POWERPC] Add 1TB workaround for PA6T
    [POWERPC] Enable NO_HZ and high res timers for pseries and ppc64 configs
    [POWERPC] Quieten cache information at boot
    [POWERPC] Quieten clockevent printk
    [POWERPC] Enable SLUB in *_defconfig
    [POWERPC] Fix 1TB segment detection
    [POWERPC] Fix iSeries_hpte_insert prototype
    [POWERPC] Fix copyright symbol
    [POWERPC] ibmebus: Move to of_device and of_platform_driver, match eHCA and eHEA drivers
    [POWERPC] ibmebus: Add device creation and bus probing based on of_device
    [POWERPC] ibmebus: Remove bus match/probe/remove functions
    [POWERPC] Move of_device allocation into of_device.[ch]
    [POWERPC] mpc52xx: device tree changes for FEC and MDIO
    [POWERPC] bestcomm: GenBD task support
    [POWERPC] bestcomm: FEC task support
    [POWERPC] bestcomm: ATA task support
    [POWERPC] bestcomm: core bestcomm support for Freescale MPC5200
    [POWERPC] mpc52xx: Update mpc52xx_psc structure with B revision changes
    ...

    Linus Torvalds
     

17 Oct, 2007

39 commits

  • Replace some SPIN_LOCK_UNLOCKED with DEFINE_SPINLOCK

    Signed-off-by: Roel Kluin
    Acked-by: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roel Kluin
     
  • All asm/ipc.h files do only #include .

    This patch therefore removes all include/asm-*/ipc.h files and moves the
    contents of include/asm-generic/ipc.h to include/linux/ipc.h.

    Signed-off-by: Adrian Bunk
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • This makes powerpc64's compat code use the new linux/elfcore-compat.h,
    reducing some hand-copied duplication.

    Signed-off-by: Roland McGrath
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Andi Kleen
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roland McGrath
     
  • Driver for the CompactFlash slot on the PA Semi Electra eval board. It's
    a simple device sitting on localbus, with interrupts and detect/voltage
    control over GPIO.

    The driver is implemented as an of_platform driver, and adds localbus
    as a bus being probed by the of_platform framework.

    [akpm@linux-foundation.org: cleanups]
    [olof@lixom.net: fix build]
    Signed-off-by: Olof Johansson
    Cc: Christoph Hellwig
    Cc: Milton Miller
    Cc: Kumar Gala
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Dominik Brodowski
    Signed-off-by: Olof Johansson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Olof Johansson
     
  • It makes more sense to make instrumentation support experimental on a
    case-by-case basis.

    Signed-off-by: Robert P. J. Day
    Cc: Andi Kleen
    Cc: "Luck, Tony"
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • Slab constructors currently have a flags parameter that is never used. And
    the order of the arguments is opposite to other slab functions. The object
    pointer is placed before the kmem_cache pointer.

    Convert

    ctor(void *object, struct kmem_cache *s, unsigned long flags)

    to

    ctor(struct kmem_cache *s, void *object)

    throughout the kernel

    [akpm@linux-foundation.org: coupla fixes]
    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • Update dump_task_altivec() (which has so far never been put to use) so that
    it dumps the Altivec/VMX registers (VR[0] - VR[31], VSCR and VRSAVE) in the
    same format as the ptrace get_vrregs(), and add the appropriate glue
    typedef and #defines to make it work.

    A new note type of NT_PPC_VMX was chosen to be 0x100 (arbitrarily) because
    it allows the low range values to be used for more generic purposes and
    0x100 seems an adequate starting point for PowerPC extensions.

    Signed-off-by: Mark Nelson
    Signed-off-by: Paul Mackerras
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: Andi Kleen
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark Nelson
     
  • Paul Mackerras
     
  • Paul Mackerras
     
  • Use the right printk format to silence the following warning.

    CC arch/powerpc/mm/init_64.o
    arch/powerpc/mm/init_64.c: In function 'vmemmap_populate':
    arch/powerpc/mm/init_64.c:243: warning: format '%p' expects type 'void *', but argument 4 has type 'long unsigned int'

    Signed-off-by: Tony Breeds
    Signed-off-by: Paul Mackerras

    Tony Breeds
     
  • The current DWARF info for CR are incorrect, causing the gcc unwinder to
    go to lunch if we take a segfault in the vdso. This fixes it.

    Problem identified by Andrew Haley, and fix provided by Jakub Jelinek
    (thanks !).

    Unfortunately, a bug in gcc cause it to not quite work either, but that
    is being fixed separately with something around the lines of:

    linux-unwind.h:

    fs->regs.reg[R_CR2].loc.offset = (long) ®s->ccr - new_cfa;
    + /* CR? regs are just 32-bit and PPC is big-endian. */
    + fs->regs.reg[R_CR2].loc.offset += sizeof (long) - 4;

    (According to Jakub)

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

    Benjamin Herrenschmidt
     
  • PA6T has a bug where the slbie instruction does not honor the large
    segment bit. As a result, we have to always use slbia when switching
    context.

    We don't have to worry about changing the slbie's during fault processing,
    since they should never be replacing one VSID with another using the
    same ESID. I.e. there's no risk for inserting duplicate entries due to a
    failed slbie of the old entry. So as long as we clear it out on context
    switch we should be fine.

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

    Olof Johansson
     
  • Enable NO_HZ and high res timers for the ppc64 and pseries defconfigs.

    Signed-off-by: Anton Blanchard
    Signed-off-by: Paul Mackerras

    Anton Blanchard
     
  • After 6 years the ppc64 kernel still thinks its important to tell me my
    cache line size is 0x80 bytes. I think most people who care know that by
    now. The rest probably cant even understand the hex output.

    Since we might have misconfigured firmware or cpus that have a linesize
    that isnt 128 bytes, I still print it out for those cases. If people
    would prefer to remove it completely, lets do it.

    Also for lpar remove the htab_address printout since its not used.

    Anton
    ppc64 boot log usability expert

    Signed-off-by: Anton Blanchard
    Signed-off-by: Paul Mackerras

    Anton Blanchard
     
  • The clockevent bootup message only needs to be KERN_INFO.

    Signed-off-by: Anton Blanchard
    Signed-off-by: Paul Mackerras

    Anton Blanchard
     
  • When checking out the new NO_HZ support in powerpc, I noticed we never
    slept for more than 2 seconds. It turns out SLAB has a 2 second per cpu
    timer that causes this.

    After switching to SLUB I see some nice 4 second sleeps which is the
    limit on this POWER6 box (the decrementer ticks at 512MHz):

    slept 4.19 sec
    slept 4.19 sec
    slept 4.19 sec
    slept 4.19 sec
    slept 3.96 sec
    slept 3.80 sec
    slept 2.99 sec

    Since SLUB is now the default and some powerpc defconfigs already enable
    it, lets enable SLUB across the board for consistency. While doing this
    I also noticed that the maple defconfig has SLAB debugging enabled which
    is sure to make your box nice and slow. Fix that too.

    Signed-off-by: Anton Blanchard
    Signed-off-by: Paul Mackerras

    Anton Blanchard
     
  • Buglet in the 1TB detection makes it return after checking the first
    property word, even if it's not a match.

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

    Olof Johansson
     
  • Commit 1189be6508d45183013ddb82b18f4934193de274 ([POWERPC] Use 1TB
    segments) added an argument to hpte_insert.

    Also make iSeries_hpte_insert static.

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

    Stephen Rothwell
     
  • It seems to have been munged by patchwork.

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

    Stephen Rothwell
     
  • Replace struct ibmebus_dev and struct ibmebus_driver with struct of_device
    and struct of_platform_driver, respectively. Match the external ibmebus
    interface and drivers using it.

    Signed-off-by: Joachim Fenkes
    Acked-by: Arnd Bergmann
    Acked-by: Roland Dreier
    Acked-by: Jeff Garzik
    Signed-off-by: Paul Mackerras

    Joachim Fenkes
     
  • The devtree root is now searched for devices matching a built-in whitelist
    during boot, so these devices appear on the bus from the beginning. It is
    still possible to manually add/remove devices to/from the bus by using the
    probe/remove sysfs interface. Also, when a device driver registers itself,
    the devtree is matched against its matchlist.

    Signed-off-by: Joachim Fenkes
    Signed-off-by: Paul Mackerras

    Joachim Fenkes
     
  • Remove old code that will be replaced by rewritten and shorter functions in
    the next patch. Keep struct ibmebus_dev and struct ibmebus_driver for now,
    but replace ibmebus_{,un}register_driver() by dummy functions. This way, the
    kernel will still compile and run during the transition and git bisect will
    be happy.

    Signed-off-by: Joachim Fenkes
    Acked-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Joachim Fenkes
     
  • Extract generic of_device allocation code from of_platform_device_create()
    and move it into of_device.[ch], called of_device_alloc(). Also, there's now
    of_device_free() which puts the device node.

    This way, bus drivers that build on of_platform (like ibmebus will) can
    build upon this code instead of reinventing the wheel.

    Signed-off-by: Joachim Fenkes
    Acked-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Joachim Fenkes
     
  • Add device tree entries for lite5200b's FEC's PHY.

    Signed-off-by: Domen Puncer
    Signed-off-by: Grant Likely

    Domen Puncer
     
  • This is the microcode for the GenBD task and the associated
    support code. This is a generic task that copy data to/from
    a hardware FIFO. This is currently locked to 32bits wide
    access but could be extended as needed.

    The microcode itself comes directly from the offical
    API (v2.2)

    Signed-off-by: Sylvain Munaut
    Signed-off-by: Grant Likely

    Sylvain Munaut
     
  • This is the microcode for the FEC task and the associated
    support code.

    The microcode itself comes directly from the offical
    API (v2.2)

    Signed-off-by: Sylvain Munaut
    Signed-off-by: Grant Likely

    Sylvain Munaut
     
  • This is the microcode for the ATA task and the associated
    support code.

    The microcode itself comes directly from the offical
    API (v2.2)

    Signed-off-by: Sylvain Munaut
    Signed-off-by: Grant Likely

    Sylvain Munaut
     
  • This patch adds support for the core of the BestComm API
    for the Freescale MPC5200(b). The BestComm engine is a
    microcode-controlled / tasks-based DMA used by several
    of the onchip devices.

    Setting up the tasks / memory allocation and all common
    low level functions are handled by this patch.
    The specifics details of each tasks and their microcode
    are split-out in separate patches.

    This is not the official API, but a much cleaner one.
    (hopefully)

    Signed-off-by: Sylvain Munaut
    Signed-off-by: Grant Likely

    Sylvain Munaut
     
  • Instead of having in the makefile all the option that
    requires rheap, we define a configuration symbol
    and when needed we make sure it's selected.

    Signed-off-by: Sylvain Munaut
    Signed-off-by: Grant Likely

    Sylvain Munaut
     
  • Theses can be useful in modules too. So we export them.

    Signed-off-by: Sylvain Munaut
    Signed-off-by: Grant Likely

    Sylvain Munaut
     
  • htab_bolt_mapping takes another argument now the 1TB code has been
    merged. Update vmemmap_populate to match.

    Signed-off-by: Anton Blanchard
    Signed-off-by: Linus Torvalds

    Anton Blanchard
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (40 commits)
    kbuild: introduce ccflags-y, asflags-y and ldflags-y
    kbuild: enable 'make CPPFLAGS=...' to add additional options to CPP
    kbuild: enable use of AFLAGS and CFLAGS on commandline
    kbuild: enable 'make AFLAGS=...' to add additional options to AS
    kbuild: fix AFLAGS use in h8300 and m68knommu
    kbuild: check for wrong use of CFLAGS
    kbuild: enable 'make CFLAGS=...' to add additional options to CC
    kbuild: fix up CFLAGS usage
    kbuild: make modpost detect unterminated device id lists
    kbuild: call export_report from the Makefile
    kbuild: move Kai Germaschewski to CREDITS
    kconfig/menuconfig: distinguish between selected-by-another options and comments
    kconfig: tristate choices with mixed tristate and boolean values
    include/linux/Kbuild: remove duplicate entries
    kbuild: kill backward compatibility checks
    kbuild: kill EXTRA_ARFLAGS
    kbuild: fix documentation in makefiles.txt
    kbuild: call make once for all targets when O=.. is used
    kbuild: pass -g to assembler under CONFIG_DEBUG_INFO
    kbuild: update _shipped files for kconfig syntax cleanup
    ...

    Fix up conflicts in arch/um/sys-{x86_64,i386}/Makefile manually.

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block: (63 commits)
    Fix memory leak in dm-crypt
    SPARC64: sg chaining support
    SPARC: sg chaining support
    PPC: sg chaining support
    PS3: sg chaining support
    IA64: sg chaining support
    x86-64: enable sg chaining
    x86-64: update pci-gart iommu to sg helpers
    x86-64: update nommu to sg helpers
    x86-64: update calgary iommu to sg helpers
    swiotlb: sg chaining support
    i386: enable sg chaining
    i386 dma_map_sg: convert to using sg helpers
    mmc: need to zero sglist on init
    Panic in blk_rq_map_sg() from CCISS driver
    remove sglist_len
    remove blk_queue_max_phys_segments in libata
    revert sg segment size ifdefs
    Fixup u14-34f ENABLE_SG_CHAINING
    qla1280: enable use_sg_chaining option
    ...

    Linus Torvalds
     
  • This cleans up the formatting in the vDSO linker script, mostly just the
    use of whitespace. It's intended to approximate the kernel standard
    conventions for indenting C, treating elements of the linker script about
    like initialized variable definitions.

    Signed-off-by: Roland McGrath
    Acked-by: Benjamin Herrenschmidt
    Cc: Sam Ravnborg
    Signed-off-by: Linus Torvalds

    Roland McGrath
     
  • This cleans up the formatting in the vDSO linker script, mostly just the
    use of whitespace. It's intended to approximate the kernel standard
    conventions for indenting C, treating elements of the linker script about
    like initialized variable definitions.

    Signed-off-by: Roland McGrath
    Acked-by: Benjamin Herrenschmidt
    Cc: Sam Ravnborg
    Signed-off-by: Linus Torvalds

    Roland McGrath
     
  • Introduce architecture dependent kretprobe blacklists to prohibit users
    from inserting return probes on the function in which kprobes can be
    inserted but kretprobes can not.

    This patch also removes "__kprobes" mark from "__switch_to" on x86_64 and
    registers "__switch_to" to the blacklist on x86-64, because that mark is to
    prohibit user from inserting only kretprobe.

    Signed-off-by: Masami Hiramatsu
    Cc: Prasanna S Panchamukhi
    Acked-by: Ananth N Mavinakayanahalli
    Cc: Anil S Keshavamurthy
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Masami Hiramatsu
     
  • Now, arch dependent code around CONFIG_MEMORY_HOTREMOVE is a mess.
    This patch cleans up them. This is against 2.6.23-rc6-mm1.

    - fix compile failure on ia64/ CONFIG_MEMORY_HOTPLUG && !CONFIG_MEMORY_HOTREMOVE case.
    - For !CONFIG_MEMORY_HOTREMOVE, add generic no-op remove_memory(),
    which returns -EINVAL.
    - removed remove_pages() only used in powerpc.
    - removed no-op remove_memory() in i386, sh, sparc64, x86_64.

    - only powerpc returns -ENOSYS at memory hot remove(no-op). changes it
    to return -EINVAL.

    Note:
    Currently, only ia64 supports CONFIG_MEMORY_HOTREMOVE. I welcome other
    archs if there are requirements and testers.

    Signed-off-by: KAMEZAWA Hiroyuki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • Enable virtual memmap support for SPARSEMEM on PPC64 systems. Slice a 16th
    off the end of the linear mapping space and use that to hold the vmemmap.
    Uses the same size mapping as uses in the linear 1:1 kernel mapping.

    [pbadari@gmail.com: fix warning]
    Signed-off-by: Andy Whitcroft
    Acked-by: Mel Gorman
    Cc: Christoph Lameter
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: KAMEZAWA Hiroyuki
    Signed-off-by: Badari Pulavarty
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Whitcroft
     
  • Convert cpu_sibling_map from a static array sized by NR_CPUS to a per_cpu
    variable. This saves sizeof(cpumask_t) * NR unused cpus. Access is mostly
    from startup and CPU HOTPLUG functions.

    Signed-off-by: Mike Travis
    Cc: Andi Kleen
    Cc: Christoph Lameter
    Cc: "Siddha, Suresh B"
    Cc: "David S. Miller"
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Travis