10 Jan, 2007

3 commits

  • * 'merge' of master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc:
    [POWERPC] Fix bugs in the hypervisor call stats code
    [POWERPC] Fix corruption in hcall9
    [POWERPC] iSeries: fix setup initcall
    [POWERPC] iSeries: fix viopath initialisation
    [POWERPC] iSeries: fix lpevents initialisation
    [POWERPC] iSeries: fix proc/iSeries initialisation
    [POWERPC] iSeries: fix mf proc initialisation
    [POWERPC] disable PReP and EFIKA during make oldconfig
    [POWERPC] Fix mpc52xx serial driver to work for arch/ppc again
    [POWERPC] Don't include powerpc/sysdev/rom.o for arch/ppc builds
    [POWERPC] Fix mpc52xx fdt to use correct device_type for sound devices
    [POWERPC] 52xx: Don't use device_initcall to probe of_platform_bus
    [POWERPC] Add legacy iSeries to ppc64_defconfig
    [POWERPC] Update ppc64_defconfig
    [POWERPC] Fix manual assembly WARN_ON() in enter_rtas().
    [POWERPC] Avoid calling get_irq_server() with a real, not virtual irq.
    [POWERPC] Fix unbalanced uses of of_node_put
    [POWERPC] Fix bogus BUG_ON() in in hugetlb_get_unmapped_area()

    Linus Torvalds
     
  • * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
    [S390] locking problem with __cpcmd.
    [S390] don't call handle_mm_fault() if in an atomic context.
    [S390] Fix vmalloc area size calculation.
    [S390] Fix cpu hotplug (missing 'online' attribute).
    [S390] cio: use barrier() in stsch_reset.
    [S390] memory detection misses 128k.

    Linus Torvalds
     
  • The sis96x SMBus PCI device depends on two different quirks to run
    in a specific order. Apart from being fragile, this was found to
    actually break on (at least) recent FC4, FC5, and FC6 kernels. This
    patch fixes the quirks so that they work without relying on the
    compiler and/or linker to put them in any specific order.

    http://lists.lm-sensors.org/pipermail/lm-sensors/2006-April/015962.html
    https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=189719

    I tested this patch.

    Signed-off-by: Mark M. Hoffman
    Cc: Andrew Morton
    Cc: Adrian Bunk
    Cc: Greg K-H
    Cc: Jean Delvare
    Signed-off-by: Linus Torvalds

    Mark M. Hoffman
     

09 Jan, 2007

37 commits

  • Changeset 740b5706b9c4b3767f597b3ea76654c6f2a800b2 moved the protecting
    spinlock from __cpcmd to cpcmd. Therefore vmcp can no longer use __cpcmd,
    instead we have to use cpcmd.

    Signed-off-by: Christian Borntraeger
    Signed-off-by: Martin Schwidefsky

    Christian Borntraeger
     
  • There are several places in the futex code where a spin_lock is held
    and still uaccesses happen. Deadlocks are avoided by increasing the
    preempt count. The pagefault handler will then not take any locks
    but will immediately search the fixup tables.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • setup_memory_end() uses VMALLOC_END instead of VMALLOC_END_INIT to
    calculate the maximum supported size of physical memory. Since
    VMALLOC_END is zero, this will cause a crash on 31 bit systems.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • 72486f1f8f0a2bc828b9d30cf4690cf2dd6807fc inverts the logic if an
    'online' attribute in /sys/devices/system/cpu/cpuX should appear.
    So we end up with no hotpluggable cpus at all...
    Set the hotpluggable value to one to make sure the online
    attribute appears again.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Use barrier() in stsch_reset() instead of duplicating the stsch()
    inline assembly and adding "memory" to the clobberlist.
    Pointed out by Chuck Ebbert.

    Real fix would be to add a fixup section to the stsch() and extend the
    basic program check handler so it searches the exception tables in case
    of a program check.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Fix a memory leak problem in the memory detection routines. A memory leak
    of 128k occurs when we have a contiguous memory with mixed access-mode
    (read or write) ranges.

    Signed-off-by: Hongjie Yang
    Signed-off-by: Martin Schwidefsky

    Hongjie Yang
     
  • There were a few issues with the HCALL_STATS code:

    - PURR cpu feature checks were backwards
    - We iterated one entry off the end of the hcall_stats array
    - Remove dead update_hcall_stats() function prototype

    I noticed one thing while debugging, and that is we call H_ENTER (to set
    up the MMU hashtable in early init) before we have done the cpu fixups.
    This means we will execute the PURR SPR reads even on a CPU that isnt
    capable of it. I wonder if we can move the CPU feature fixups earlier.

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

    Anton Blanchard
     
  • It looks to me like we are corrupting r12 in the hcall9 function.
    Although we have r0 free we cant use offsets against it, so save
    away r12 in there instead. r12 holds the ninth return value from
    the hypervisor call, so without this fix, the caller will see the
    wrong value for the ninth element in the array that gets the return
    values.

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

    Anton Blanchard
     
  • Clearing the progress indicator should only be done if we are running
    on legacy iSeries.

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

    Stephen Rothwell
     
  • /proc/iSeries/config should only be created if we are running on legacy
    iSeries.

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

    Stephen Rothwell
     
  • /proc/iSeries/lpevents should only be created if we are running
    on legacy iSeries.

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

    Stephen Rothwell
     
  • These proc files should only be created if we are running on legacy
    iSeries.

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

    Stephen Rothwell
     
  • This proc file should only be created if we are running on legacy
    iSeries. Since we can now run the same kernel on legacy iSeries and
    other machines, we currently get the /proc/iSeries directory and the
    files in it on non-iSeries machines, and accessing them causes an oops
    in some cases. This and the following patches make sure that these
    files are not created on non-iSeries machines, thus avoiding the oops.

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

    Stephen Rothwell
     
  • New boards should not be enabled per default.
    Disable EFIKA and PReP per default.
    Anyone who really needes the new code can enable it during make oldconfig.

    Signed-off-by: Olaf Hering
    Acked-by: Grant Likely
    Signed-off-by: Paul Mackerras

    Olaf Hering
     
  • The mpc52xx_uart_of_enumerate() function was added when adding 52xx
    support to arch/powerpc, but it must not be called for arch/ppc.

    Signed-off-by: Grant Likely
    Signed-off-by: Paul Mackerras

    Grant Likely
     
  • sysdev/rom.c is for arch/powerpc only. Don't compile it when building
    an arch/ppc kernel.

    Signed-off-by: Grant Likely
    Acked-by: Sylvain Munaut
    Signed-off-by: Paul Mackerras

    Grant Likely
     
  • This corrects the documented interface for mpc52xx device trees.
    Sound devices should be using 'sound' for the device_type field, not
    the type of sound interface.

    Signed-off-by: Grant Likely
    Acked-by: Sylvain Munaut
    Signed-off-by: Paul Mackerras

    Grant Likely
     
  • Using device_initcall makes it happen for every platform that
    compiles this file in. This is really bad, for obvious reasons.

    Instead, we use the .init field of the machine description. If
    the platform needs the hook to do something specific it can provides
    its own function and call mpc52xx_declare_of_platform_devices from
    there. If not, the mpc52xx_declare_of_platform_devices function can
    directly be used as the init hook.

    Signed-off-by: Sylvain Munaut
    Acked-by: Grant Likely
    Signed-off-by: Paul Mackerras

    Sylvain Munaut
     
  • Since we can now boot legacy iSeries and other machines with the same
    config, enable legacy iSeries in ppc64_defconfig.

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

    Stephen Rothwell
     
  • Enabled new netfilter stuff corresponding to what was enabled before
    under different names, and turned on the gxt4500 video driver;
    otherwise just took the defaults.

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

    Stephen Rothwell
     
  • When we switched over to the generic BUG mechanism we forgot to change
    the assembly code which open-codes a WARN_ON() in enter_rtas(), so the
    bug table got corrupted.

    This patch provides an EMIT_BUG_ENTRY macro for use in assembly code,
    and uses it in entry_64.S. Tested with CONFIG_DEBUG_BUGVERBOSE on ppc64
    but not without -- I tried to turn it off but it wouldn't go away; I
    suspect Aunt Tillie probably needed it.

    This version gets __FILE__ and __LINE__ right in the assembly version --
    rather than saying include/asm-powerpc/bug.h line 21 every time which is
    a little suboptimal.

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

    David Woodhouse
     
  • We can use default_server when masking an interrupt vector.
    get_irq_server() assumes a virtual irq, so badness may happen if we
    give it a real one.

    Signed-off-by: Michal Ostrowski
    Signed-off-by: Paul Mackerras

    Michal Ostrowski
     
  • The (maple|pasemi)_init_IRQ functions call of_node_put(root) once more
    than they should, causing the refcount of the root node to underflow,
    which triggers the WARN_ON in kref_get.

    Signed-off-by: Nathan Lynch
    Acked-by: Olof Johansson
    Signed-off-by: Paul Mackerras

    Nathan Lynch
     
  • The powerpc specific version of hugetlb_get_unmapped_area() makes some
    unwarranted assumptions about what checks have been made to its
    parameters by its callers. This will lead to a BUG_ON() if a 32-bit
    process attempts to make a hugepage mapping which extends above
    TASK_SIZE (4GB).

    I'm not sure if these assumptions came about because they were valid
    with earlier versions of the get_unmapped_area() path, or if it was
    always broken. Nonetheless this patch fixes the logic, and removes
    the crash.

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

    David Gibson
     
  • * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jmorris/selinux-2.6:
    selinux: Delete mls_copy_context

    Linus Torvalds
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
    [MIPS] PNX8550: Fix system timer support
    [MIPS] TX49: Fix use of CDEX build_store_reg()
    [MIPS] pnx8550: Fix write_config_byte() PCI config space accessor
    [MIPS] Fix build errors on SEAD
    [MIPS] SMTC build fix
    [MIPS] csum_partial and copy in parallel
    [MIPS] Malta: Add missing MTD file.

    Linus Torvalds
     
  • * master.kernel.org:/home/rmk/linux-2.6-arm:
    [ARM] Provide basic printk_clock() implementation
    [ARM] Resolve fuse and direct-IO failures due to missing cache flushes
    [ARM] pass vma for flush_anon_page()
    [ARM] Fix potential MMCI bug
    [ARM] Fix kernel-mode undefined instruction aborts
    [ARM] 4082/1: iop3xx: fix iop33x gpio register offset
    [ARM] 4070/1: arch/arm/kernel: fix warnings from missing includes
    [ARM] 4079/1: iop: Update MAINTAINERS

    Linus Torvalds
     
  • This reverts commit b026872601976f666bae77b609dc490d1834bf77, which has
    been linked to several problem reports with IO-APIC and the timer.
    Machines either don't boot because the timer doesn't happen, or we get
    double timer interrupts because we end up double-routing the timer irq
    through multiple interfaces.

    See for example

    http://lkml.org/lkml/2006/12/16/101
    http://lkml.org/lkml/2007/1/3/9
    http://bugzilla.kernel.org/show_bug.cgi?id=7789

    about some of the discussion.

    Patches to fix this cleanup exist (and have been confirmed to work fine
    at least for some of the affected cases) and we'll revisit it for
    2.6.21, but this late in the -rc series we're better off just reverting
    the incomplete commit that caused the problems.

    Suggested-by: Adrian Bunk
    Cc: Eric W. Biederman
    Cc: Yinghai Lu
    Cc: Andrew Morton
    Cc: Andi Kleen
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • This deletes mls_copy_context() in favor of mls_context_cpy() and
    replaces mls_scopy_context() with mls_context_cpy_low().

    Signed-off-by: Venkat Yekkirala
    Acked-by: Stephen Smalley
    Signed-off-by: James Morris

    Venkat Yekkirala
     
  • the patch inlined below restores proper time accounting for PNX8550-based
    boards. It also gets rid of #ifdef in the generic code which becomes
    unnecessary then.

    It's functionally identical to the previous patch with the same name but
    it has minor comments from Atsushi and Sergei taken into account.

    Signed-off-by: Vitaly Wool
    Signed-off-by: Ralf Baechle

    Vitaly Wool
     
  • The commit a923660d786a53e78834b19062f7af2535f7f8ad accidently
    prevents TX49 from using CDEX. Use build_dst_pref() only if prefetch
    for store was really available.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     
  • There's a serious typo in the function:
    arch/mips/pci/ops-pnx8550.c:write_config_byte()

    The parameter passed to the function config_access() is PCI_CMD_CONFIG_READ
    instead of PCI_CMD_CONFIG_WRITE. This renders any attempts to write
    a single byte to the PCI configuration registers useless.

    This problem does not exist for write_config_word() nor write_config_dword().

    This problem has been there since kernel v2.6.17 and is still there
    as of kernel v2.6.19.1.

    Signed-off-by: Ralf Baechle

    Davy Chan
     
  • Quick and dirty fix for build errors on SEAD.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     
  • Pass "irq" to __DO_IRQ_SMTC_HOOK() macro.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     
  • Implement optimized asm version of csum_partial_copy_nocheck,
    csum_partial_copy_from_user and csum_and_copy_to_user which can do
    calculate and copy in parallel, based on memcpy.S.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     
  • Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • Current sched_clock() implementations on ARM cause unbootable kernels
    with PRINTK_TIME support enabled. To avoid this, provide a basic
    printk_clock() implementation which avoids sched_clock() being called
    before the page tables have been set up.

    Signed-off-by: Russell King

    Russell King