18 May, 2007

4 commits

  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (32 commits)
    [POWERPC] Remove build warnings in windfarm_core
    [POWERPC] Pass per-file CFLAGs for platform specific op codes
    [POWERPC] Correct #endif comment
    [POWERPC] Fix ppc_rtas_progress_show()
    [POWERPC] Fix sed command lines for zlib source construction
    [POWERPC] Specify GNUTARGET on $(AR) invocations
    [POWERPC] Make sure device node type/name is not NULL on hot-added nodes
    [POWERPC] Small fixes for the Ebony device tree
    [POWERPC] Fix warning on UP
    [POWERPC] cell_defconfig: Disable cpufreq and pmi
    [POWERPC] Fix IO space on PCI buses created from of_platform
    [POWERPC] Add spinlock to request_phb_iospace()
    [POWERPC] Fix make rules for treeImage.initrd
    [POWERPC] Remove warning in mpic.c
    [POWERPC] Update pasemi_defconfig
    [POWERPC] pasemi: CONFIG_GENERIC_TBSYNC no longer needed
    [POWERPC] Update iseries_defconfig
    [POWERPC] Wire up some more syscalls
    [POWERPC] Fix bug adding properties with flatdevtree.c's ft_set_prop()
    [POWERPC] Remove fixup_bigphys_addr() for arch/powerpc to avoid link error
    ...

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
    [SPARC64]: Fix sched_clock() et al.

    Linus Torvalds
     
  • SPARC64_NSEC_PER_CYC_SHIFT was set too high.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • This reverts commit c8fdd247255a3a027cd9f66dcf93e6847d1d2f85.

    It turns out the kernel was correct, and the gcc complaint was a gcc
    bug. The preferred stack boundary is expressed not in bytes, but in the
    the log2() of the preferred boundary, so "-mpreferred-stack-boundary=2"
    is in fact exactly what we want, but a gcc that is compiled for x86-64
    will consider it an error (because the 64-bit calling sequence says that
    the stack should be 16-byte aligned) even if we are then using "-m32" to
    generate 32-bit code.

    Noted-by: Mikulas Patocka
    Cc: Jan Hubicka
    Acked-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

17 May, 2007

35 commits

  • No other architecture calls check_pgt_cache() from within flush_tlb_mm(),
    and i386 is already calling check_pgt_cache() from the usual places,
    tlb_finish_mmu() and cpu_idle() (the latter being odd, but not unusual).
    flush_tlb_mm() has no business to be freeing pages: remove that line, which
    sneaked in with slub's i386 support.

    Signed-off-by: Hugh Dickins
    Cc: Andi Kleen
    Acked-by: Christoph Lameter
    Acked-by: William Lee Irwin III
    Cc: David Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to
    .init.text:mtrr_bp_init from .text between 'id entify_cpu' (at offset 0x6571)
    and 'IRQ0x20_interrupt'

    It's because identify_cpu() which is __cpuinit calls mtrr_bp_init() which is
    __init(). __cpuinit() expands to nothing if CONFIG_HOTPLUG_CPU=y and so the
    call is illegal.

    Signed-off-by: Bernhard Walle
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bernhard Walle
     
  • Currently we have a maze of configuration variables that determine the
    maximum slab size. Worst of all it seems to vary between SLAB and SLUB.

    So define a common maximum size for kmalloc. For conveniences sake we use
    the maximum size ever supported which is 32 MB. We limit the maximum size
    to a lower limit if MAX_ORDER does not allow such large allocations.

    For many architectures this patch will have the effect of adding large
    kmalloc sizes. x86_64 adds 5 new kmalloc sizes. So a small amount of
    memory will be needed for these caches (contemporary SLAB has dynamically
    sizeable node and cpu structure so the waste is less than in the past)

    Most architectures will then be able to allocate object with sizes up to
    MAX_ORDER. We have had repeated breakage (in fact whenever we doubled the
    number of supported processors) on IA64 because one or the other struct
    grew beyond what the slab allocators supported. This will avoid future
    issues and f.e. avoid fixes for 2k and 4k cpu support.

    CONFIG_LARGE_ALLOCS is no longer necessary so drop it.

    It fixes sparc64 with SLAB.

    Signed-off-by: Christoph Lameter
    Signed-off-by: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • SLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it.

    Signed-off-by: Christoph Lameter
    Cc: David Howells
    Cc: Jens Axboe
    Cc: Steven French
    Cc: Michael Halcrow
    Cc: OGAWA Hirofumi
    Cc: Miklos Szeredi
    Cc: Steven Whitehouse
    Cc: Roman Zippel
    Cc: David Woodhouse
    Cc: Dave Kleikamp
    Cc: Trond Myklebust
    Cc: "J. Bruce Fields"
    Cc: Anton Altaparmakov
    Cc: Mark Fasheh
    Cc: Paul Mackerras
    Cc: Christoph Hellwig
    Cc: Jan Kara
    Cc: David Chinner
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • As a result of compiling all of the wrapper files for every platform
    now, the kernel build can fail for toolchains that don't support various
    op codes by default. An example of this building a 7xx platform with
    the ELD4.0 toolchain, is below:

    /tmp/ccYjhJoL.s: Assembler messages:
    /tmp/ccYjhJoL.s:42: Error: Unrecognized opcode: `mtdcr'
    /tmp/ccYjhJoL.s:43: Error: Unrecognized opcode: `mfdcr'
    make[1]: *** [arch/powerpc/boot/44x.o] Error 1

    The following patch introduces additional CFLAGS for the 4xx specific
    files and fixes the kernel compile.

    Signed-off-by: Josh Boyer
    Signed-off-by: Paul Mackerras

    Josh Boyer
     
  • Fix up comment on two #endifs to match their #ifs.

    Signed-off-by: Jon Tollefson
    ----

    hash_utils_64.c | 4 ++--
    1 files changed, 2 insertions(+), 2 deletions(-)
    Signed-off-by: Paul Mackerras

    Jon Tollefson
     
  • Fixes the warning

    arch/powerpc/kernel/rtas-proc.c: In function 'ppc_rtas_progress_show':
    arch/powerpc/kernel/rtas-proc.c:382: warning: the address of
    'progress_led' will always evaluate as 'true'

    by fixing the code to do what it presumably is meant to do.

    Signed-off-by: Segher Boessenkool
    Signed-off-by: Paul Mackerras

    Segher Boessenkool
     
  • Not every sed understands \+ so use the more portable * instead.

    Signed-off-by: Segher Boessenkool
    Signed-off-by: Paul Mackerras

    Segher Boessenkool
     
  • Without this, some versions of GNU ar fail to create
    an archive index if the object files it is packing
    together are of a different object format than ar's
    default format (for example, binutils compiled to
    default to 64-bit, with 32-bit objects).

    Signed-off-by: Segher Boessenkool
    Signed-off-by: Paul Mackerras

    Segher Boessenkool
     
  • Our device-tree unflattening code makes sure the name and type fields
    of a device-node are not NULL. However, the code for dynamically
    adding devices nodes which is used for pSeries hotplug for example
    didn't do it, potentially causing crashes in some code that assume it
    can always do things like strcmp on those.

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

    Benjamin Herrenschmidt
     
  • This patch corrects a number of minor errors in the Ebony device tree:
    - Missing (given as 0) cache sizes are added to the CPU node
    - device_type properties are removed from nodes which don't
    have a reasonably well defined device_type binding. This does require
    a very small code change to locate the busses to be probed for
    of_platform devices by 'compatible' instead of 'device_type'.
    - A node is added for the SRAM controller
    - The unit address of the small-flash node is adjusted to
    correctly reflect the reg property.
    - device_type values for the MAL and ZMII are updated to
    reflected more up-to-date versions of the binding.
    - An incorrect offset in the partition map for the large-flash
    node is corrected.
    - Some redundant values, already commented out are removed
    entirely.

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

    David Gibson
     
  • arch/powerpc/platforms/pseries/pseries.h:24: warning: return type defaults to 'int'
    arch/powerpc/platforms/pseries/pseries.h:25: warning: return type defaults to 'int'
    arch/powerpc/platforms/pseries/pseries.h:24: warning: control reaches end of non-void function
    arch/powerpc/platforms/pseries/pseries.h:25: warning: control reaches end of non-void function

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

    Stephen Rothwell
     
  • Cpufreq using pmi is broken by a dependency issue, that
    will be fixed in a seperate patch.
    Bare-metal cpufreq is broken by hardware limitations.
    As it was the only user, pmi is disabled as well.

    Signed-off-by: Christian Krafft
    Signed-off-by: Paul Mackerras

    Christian Krafft
     
  • This changes the way of_platform_pci creates PCI host bridges such
    that it uses request_phb_iospace() for mapping the IO ports, instead
    of using the dynamic hotplug stuff. That guarantees the IO space
    stays within the 2GB limit and thus doesn't break half of the legacy
    drivers around.

    Fixes a couple of warnings due to missing IO space while at it.

    This patch is a temporary workaround for 2.6.22 before a more complete
    rewrite of IO mappings is merged in 2.6.23

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

    Benjamin Herrenschmidt
     
  • request_phb_iospace() can be called from different CPUs at init
    time (at least with my next patch) and thus needs a spinlock.
    As for the next patch, this is a temporary workaround for 2.6.22
    issues until my rewrite of IO mappings is ready (for 2.6.23)

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

    Benjamin Herrenschmidt
     
  • At present attempting to build treeImage.initrd.* boot images will
    fail, because make will select the treeImage.% rule which also matches
    instead of the correct and more specific treeImage.initrd.% rule.
    This patch corrects the problem by listing the more specific rule
    first.

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

    David Gibson
     
  • arch/powerpc/sysdev/mpic.c: In function 'mpic_request_ipis':
    arch/powerpc/sysdev/mpic.c:1445: warning: ignoring return value of 'request_irq', declared with attribute warn_unused_result

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

    Olof Johansson
     
  • Update pasemi_defconfig, add new relevant drivers. Take out
    CONFIG_PPC_PSERIES, it should't have been enabled in the first place.

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

    Olof Johansson
     
  • Current kernel implements proper TB sync, no need to keep GENERIC_TBSYNC
    enabled.

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

    Olof Johansson
     
  • Signed-off-by: Stephen Rothwell
    Signed-off-by: Paul Mackerras

    Stephen Rothwell
     
  • ft_set_prop() from flatdevtree.c in the zImage wrapper will either
    replace an existing property in the flat device tree, or add a new
    property definiion if the given property isn't present.

    However, when adding properties, it adds the property definition
    immediately before the node's END_NODE tag, potentially after any
    subnode definitions for the node. This confuses the kernel flat tree
    parser in prom.c which assumes that all property definitions for a
    node come before all subnode definitions.

    This patch corrects ft_set_prop() so that it adds new properties
    before the first subnode, instead of before the END_NODE tag.

    Signed-off-by: David Gibson
    Acked-by: Scott Wood
    Acked-by: Mark A. Greer
    Signed-off-by: Paul Mackerras

    David Gibson
     
  • Signed-off-by: Christoph Hellwig
    Signed-off-by: Paul Mackerras

    Christoph Hellwig
     
  • Use a completion instead of abusing a semaphore for hypervisor event
    completion in viopath.

    Signed-off-by: Christoph Hellwig
    Acked-by: Stephen Rothwell
    Signed-off-by: Paul Mackerras

    Christoph Hellwig
     
  • An allmodconfig on the current powerpc tree yields:
    arch/powerpc/platforms/44x/Kconfig:41:warning: 'select' used by
    config symbol '440GP' refers to undefined symbol 'IBM_NEW_EMAC_ZMII'

    Hide the select until the driver exists.

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

    Tony Breeds
     
  • Remove explicit phandles and move to using references that autogenerate the
    phandles when needed.

    Signed-off-by: Kumar Gala

    Kumar Gala
     
  • Adds the MCC2 device to the 826x device_list and fixed MCC1/MCC2 entries
    in all other PQ2 processors.

    Signed-off-by: Morten Banzon
    Cc: Paul Mackerras
    Signed-off-by: Andrew Morton
    Signed-off-by: Kumar Gala

    Morten Banzon
     
  • Adding memory-controller and l2-cache-controller entries to be used by EDAC
    as of_devices for MPC8541 CDS, MPC8544 DS, MPC8555 CDS, and MPC8568 MDS.

    Signed-off-by: Kumar Gala

    Kumar Gala
     
  • Adding memory-controller and l2-cache-controller entries to be used by EDAC
    as of_devices for MPC8540 ADS, MPC8548 CDS, and MPC8560 ADS.

    Also fixed up the size of the PCI node on MPC8560 ADS.

    Signed-off-by: Dave Jiang
    Signed-off-by: Kumar Gala

    Dave Jiang
     
  • When an rheap is created, the caller can specify the alignment to use. In
    rh_alloc_align(), if a free block is found that is the exact size needed
    (including extra space for alignment), that configured alignment value is not
    used to align the pointer. Instead, the default alignment is used. If the
    default alignment is smaller than the configured alignment, then the returned
    value will not be aligned correctly.

    Signed-off-by: Timur Tabi
    Signed-off-by: Kumar Gala

    Timur Tabi
     
  • We get the following warnings in various ARCH=powerpc builds:

    WARNING: "ee_restarts" [arch/powerpc/kernel/built-in] is COMMON symbol
    WARNING: "fee_restarts" [arch/powerpc/kernel/built-in] is COMMON symbol
    WARNING: "htab_hash_searches" [arch/powerpc/mm/built-in] is COMMON symbol
    WARNING: "next_slot" [arch/powerpc/mm/built-in] is COMMON symbol
    WARNING: "mmu_hash_lock" [arch/powerpc/mm/built-in] is COMMON symbol
    WARNING: "primary_pteg_full" [arch/powerpc/mm/built-in] is COMMON symbol
    WARNING: "global_dbcr0" [arch/powerpc/kernel/built-in] is COMMON symbol

    Switch to moving local symbols (except mmu_hash_lock which is global) and
    space directive instead.

    Signed-off-by: Kumar Gala

    Kumar Gala
     
  • Remove CPU_FTR_NEED_COHERENT for MPC7448 (and single-core MPC86xx).
    This prevents needlessly setting M=1 when not SMP.

    Signed-off-by: James.Yang
    Acked-by: Jon Loeliger
    Signed-off-by: Kumar Gala

    James.Yang
     
  • * 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32:
    [AVR32] Implement platform hooks for atmel_lcdfb driver
    [AVR32] Wire up signalfd, timerfd and eventfd
    [AVR32] optimize pagefault path
    [AVR32] Remove bogus comment in arch/avr32/kernel/irq.c

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
    [SPARC64]: Add hypervisor API negotiation and fix console bugs.

    Linus Torvalds
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] optimize pagefaults a little
    [IA64] Fix section conflict of ia64_mlogbuf_finish
    [IA64] s/scalibility/scalability/
    [IA64] kdump on INIT needs multi-nodes sync-up (v.2)
    [IA64] wire up {signal,timer,event}fd syscalls
    [IA64] spelling fixes: arch/ia64/

    Linus Torvalds
     
  • Get rid of the notifier list and call the kprobes code directly
    if compiled in. This mirrors the changes that recently went
    into powerpc, s390 and sparc64.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Tony Luck

    Christoph Hellwig
     

16 May, 2007

1 commit

  • Hypervisor interfaces need to be negotiated in order to use
    some API calls reliably. So add a small set of interfaces
    to request API versions and query current settings.

    This allows us to fix some bugs in the hypervisor console:

    1) If we can negotiate API group CORE of at least major 1
    minor 1 we can use con_read and con_write which can improve
    console performance quite a bit.

    2) When we do a console write request, we should hold the
    spinlock around the whole request, not a byte at a time.
    What would happen is that it's easy for output from
    different cpus to get mixed with each other.

    3) Use consistent udelay() based polling, udelay(1) each
    loop with a limit of 1000 polls to handle stuck hypervisor
    console.

    Signed-off-by: David S. Miller

    David S. Miller