30 Mar, 2012

12 commits

  • Pull x86 cleanups from Peter Anvin:
    "The biggest textual change is the cleanup to use symbolic constants
    for x86 trap values.

    The only *functional* change and the reason for the x86/x32 dependency
    is the move of is_ia32_task() into so that it can
    be used in other code that needs to understand if a system call comes
    from the compat entry point (and therefore uses i386 system call
    numbers) or not. One intended user for that is the BPF system call
    filter. Moving it out of means we can define it
    unconditionally, returning always true on i386."

    * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: Move is_ia32_task to asm/thread_info.h from asm/compat.h
    x86: Rename trap_no to trap_nr in thread_struct
    x86: Use enum instead of literals for trap values

    Linus Torvalds
     
  • Pull x32 support for x86-64 from Ingo Molnar:
    "This tree introduces the X32 binary format and execution mode for x86:
    32-bit data space binaries using 64-bit instructions and 64-bit kernel
    syscalls.

    This allows applications whose working set fits into a 32 bits address
    space to make use of 64-bit instructions while using a 32-bit address
    space with shorter pointers, more compressed data structures, etc."

    Fix up trivial context conflicts in arch/x86/{Kconfig,vdso/vma.c}

    * 'x86-x32-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (71 commits)
    x32: Fix alignment fail in struct compat_siginfo
    x32: Fix stupid ia32/x32 inversion in the siginfo format
    x32: Add ptrace for x32
    x32: Switch to a 64-bit clock_t
    x32: Provide separate is_ia32_task() and is_x32_task() predicates
    x86, mtrr: Use explicit sizing and padding for the 64-bit ioctls
    x86/x32: Fix the binutils auto-detect
    x32: Warn and disable rather than error if binutils too old
    x32: Only clear TIF_X32 flag once
    x32: Make sure TS_COMPAT is cleared for x32 tasks
    fs: Remove missed ->fds_bits from cessation use of fd_set structs internally
    fs: Fix close_on_exec pointer in alloc_fdtable
    x32: Drop non-__vdso weak symbols from the x32 VDSO
    x32: Fix coding style violations in the x32 VDSO code
    x32: Add x32 VDSO support
    x32: Allow x32 to be configured
    x32: If configured, add x32 system calls to system call tables
    x32: Handle process creation
    x32: Signal-related system calls
    x86: Add #ifdef CONFIG_COMPAT to
    ...

    Linus Torvalds
     
  • Pull "ARM: cleanups of io includes" from Olof Johansson:
    "Rob Herring has done a sweeping change cleaning up all of the
    mach/io.h includes, moving some of the oft-repeated macros to a common
    location and removing a bunch of boiler plate. This is another step
    closer to a common zImage for multiple platforms."

    Fix up various fairly trivial conflicts ( removal vs changes
    around it, tegra localtimer.o is *still* gone, yadda-yadda).

    * tag 'cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (29 commits)
    ARM: tegra: Include assembler.h in sleep.S to fix build break
    ARM: pxa: use common IOMEM definition
    ARM: dma-mapping: convert ARCH_HAS_DMA_SET_COHERENT_MASK to kconfig symbol
    ARM: __io abuse cleanup
    ARM: create a common IOMEM definition
    ARM: iop13xx: fix missing declaration of iop13xx_init_early
    ARM: fix ioremap/iounmap for !CONFIG_MMU
    ARM: kill off __mem_pci
    ARM: remove bunch of now unused mach/io.h files
    ARM: make mach/io.h include optional
    ARM: clps711x: remove unneeded include of mach/io.h
    ARM: dove: add explicit include of dove.h to addr-map.c
    ARM: at91: add explicit include of hardware.h to uncompressor
    ARM: ep93xx: clean-up mach/io.h
    ARM: tegra: clean-up mach/io.h
    ARM: orion5x: clean-up mach/io.h
    ARM: davinci: remove unneeded mach/io.h include
    [media] davinci: remove includes of mach/io.h
    ARM: OMAP: Remove remaining includes for mach/io.h
    ARM: msm: clean-up mach/io.h
    ...

    Linus Torvalds
     
  • Pull more ARM updates from Russell King.

    This got a fair number of conflicts with the split, but
    also with some other sparse-irq and header file include cleanups. They
    all looked pretty trivial, though.

    * 'for-linus' of git://git.linaro.org/people/rmk/linux-arm: (59 commits)
    ARM: fix Kconfig warning for HAVE_BPF_JIT
    ARM: 7361/1: provide XIP_VIRT_ADDR for no-MMU builds
    ARM: 7349/1: integrator: convert to sparse irqs
    ARM: 7259/3: net: JIT compiler for packet filters
    ARM: 7334/1: add jump label support
    ARM: 7333/2: jump label: detect %c support for ARM
    ARM: 7338/1: add support for early console output via semihosting
    ARM: use set_current_blocked() and block_sigmask()
    ARM: exec: remove redundant set_fs(USER_DS)
    ARM: 7332/1: extract out code patch function from kprobes
    ARM: 7331/1: extract out insn generation code from ftrace
    ARM: 7330/1: ftrace: use canonical Thumb-2 wide instruction format
    ARM: 7351/1: ftrace: remove useless memory checks
    ARM: 7316/1: kexec: EOI active and mask all interrupts in kexec crash path
    ARM: Versatile Express: add NO_IOPORT
    ARM: get rid of asm/irq.h in asm/prom.h
    ARM: 7319/1: Print debug info for SIGBUS in user faults
    ARM: 7318/1: gic: refactor irq_start assignment
    ARM: 7317/1: irq: avoid NULL check in for_each_irq_desc loop
    ARM: 7315/1: perf: add support for the Cortex-A7 PMU
    ...

    Linus Torvalds
     
  • Pull slave-dmaengine update from Vinod Koul:
    "This includes the cookie cleanup by Russell, the addition of context
    parameter for dmaengine APIs, more arm dmaengine driver cleanup by
    moving code to dmaengine, this time for imx by Javier and pl330 by
    Boojin along with the usual driver fixes."

    Fix up some fairly trivial conflicts with various other cleanups.

    * 'next' of git://git.infradead.org/users/vkoul/slave-dma: (67 commits)
    dmaengine: imx: fix the build failure on x86_64
    dmaengine: i.MX: Fix merge of cookie branch.
    dmaengine: i.MX: Add support for interleaved transfers.
    dmaengine: imx-dma: use 'dev_dbg' and 'dev_warn' for messages.
    dmaengine: imx-dma: remove 'imx_dmav1_baseaddr' and 'dma_clk'.
    dmaengine: imx-dma: remove unused arg of imxdma_sg_next.
    dmaengine: imx-dma: remove internal structure.
    dmaengine: imx-dma: remove 'resbytes' field of 'internal' structure.
    dmaengine: imx-dma: remove 'in_use' field of 'internal' structure.
    dmaengine: imx-dma: remove sg member from internal structure.
    dmaengine: imx-dma: remove 'imxdma_setup_sg_hw' function.
    dmaengine: imx-dma: remove 'imxdma_config_channel_hw' function.
    dmaengine: imx-dma: remove 'imxdma_setup_mem2mem_hw' function.
    dmaengine: imx-dma: remove dma_mode member of internal structure.
    dmaengine: imx-dma: remove data member from internal structure.
    dmaengine: imx-dma: merge old dma-v1.c with imx-dma.c
    dmaengine: at_hdmac: add slave config operation
    dmaengine: add context parameter to prep_slave_sg and prep_dma_cyclic
    dmaengine/dma_slave: introduce inline wrappers
    dma: imx-sdma: Treat firmware messages as warnings instead of erros
    ...

    Linus Torvalds
     
  • Pull arch/tile (really asm-generic) update from Chris Metcalf:
    "These are a couple of asm-generic changes that apply to tile."

    * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
    compat: use sys_sendfile64() implementation for sendfile syscall
    [PATCH v3] ipc: provide generic compat versions of IPC syscalls

    Linus Torvalds
     
  • Pull scheduler fixes from Ingo Molnar.

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    cpusets: Remove an unused variable
    sched/rt: Improve pick_next_highest_task_rt()
    sched: Fix select_fallback_rq() vs cpu_active/cpu_online
    sched/x86/smp: Do not enable IRQs over calibrate_delay()
    sched: Fix compiler warning about declared inline after use
    MAINTAINERS: Update email address for SCHEDULER and PERF EVENTS

    Linus Torvalds
     
  • Pull x86 updates from Ingo Molnar.

    This touches some non-x86 files due to the sanitized INLINE_SPIN_UNLOCK
    config usage.

    Fixed up trivial conflicts due to just header include changes (removing
    headers due to cpu_idle() merge clashing with the split).

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/apic/amd: Be more verbose about LVT offset assignments
    x86, tls: Off by one limit check
    x86/ioapic: Add io_apic_ops driver layer to allow interception
    x86/olpc: Add debugfs interface for EC commands
    x86: Merge the x86_32 and x86_64 cpu_idle() functions
    x86/kconfig: Remove CONFIG_TR=y from the defconfigs
    x86: Stop recursive fault in print_context_stack after stack overflow
    x86/io_apic: Move and reenable irq only when CONFIG_GENERIC_PENDING_IRQ=y
    x86/apic: Add separate apic_id_valid() functions for selected apic drivers
    locking/kconfig: Simplify INLINE_SPIN_UNLOCK usage
    x86/kconfig: Update defconfigs
    x86: Fix excessive MSR print out when show_msr is not specified

    Linus Torvalds
     
  • Pull timer core updates from Thomas Gleixner.

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    ia64: vsyscall: Add missing paranthesis
    alarmtimer: Don't call rtc_timer_init() when CONFIG_RTC_CLASS=n
    x86: vdso: Put declaration before code
    x86-64: Inline vdso clock_gettime helpers
    x86-64: Simplify and optimize vdso clock_gettime monotonic variants
    kernel-time: fix s/then/than/ spelling errors
    time: remove no_sync_cmos_clock
    time: Avoid scary backtraces when warning of > 11% adj
    alarmtimer: Make sure we initialize the rtctimer
    ntp: Fix leap-second hrtimer livelock
    x86, tsc: Skip refined tsc calibration on systems with reliable TSC
    rtc: Provide flag for rtc devices that don't support UIE
    ia64: vsyscall: Use seqcount instead of seqlock
    x86: vdso: Use seqcount instead of seqlock
    x86: vdso: Remove bogus locking in update_vsyscall_tz()
    time: Remove bogus comments
    time: Fix change_clocksource locking
    time: x86: Fix race switching from vsyscall to non-vsyscall clock

    Linus Torvalds
     
  • Fix this build error on ia64:

    In file included from include/linux/sched.h:92,
    from arch/ia64/kernel/asm-offsets.c:9:
    include/linux/llist.h:59:25: error: asm/cmpxchg.h: No such file or directory
    make[1]: *** [arch/ia64/kernel/asm-offsets.s] Error 1

    Right now we don't seem to need any actual contents for the
    asm/cmpxchg.h to make the build work ... so leave the migration of
    xchg() and cmpxchg() to this new header file for a future patch.

    Also process.c needs (for definition of pfm_syst_info).

    Signed-off-by: Tony Luck
    Signed-off-by: Linus Torvalds

    Luck, Tony
     
  • Signed-off-by: Grant Likely

    Grant Likely
     
  • The debugfs code is really generic for all platforms. This patch removes the
    powerpc-specific directory reference and makes it available to all
    architectures.

    Signed-off-by: Grant Likely

    Grant Likely
     

29 Mar, 2012

28 commits

  • Pull MMC updates from Chris Ball:

    Core:
    * Support for MMC 4.5 Data Tag feature -- we tag REQ_META, so devices
    that support Data Tag will provide increased throughput for metadata.
    * Faster detection of card removal on I/O errors.

    Drivers:
    * dw_mmc now supports eMMC Power Off Notify, has PCI support, and
    implements pre_req and post_req for asynchronous requests.
    * omap_hsmmc now supports device tree.
    * esdhc now has power management support.
    * sdhci-tegra now supports Tegra30 devices.
    * sdhci-spear now supports hibernation.
    * tmio_mmc now supports using a GPIO for card detection.
    * Intel PCH now supports 8-bit bus transfers.

    * tag 'mmc-merge-for-3.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (53 commits)
    mmc: sh_mmcif: simplify bitmask macros
    mmc: sh_mobile_sdhi: support modular mmc-core with non-standard hotplug
    mmc: sh_mobile_sdhi: add a callback for board specific init code
    mmc: tmio: cosmetic: prettify the tmio_mmc_set_ios() function
    mmc: sh_mobile_sdhi: do not manage PM clocks manually
    mmc: tmio_mmc: remove unused sdio_irq_enabled flag
    mmc: tmio_mmc: power status flag doesn't have to be exposed in platform data
    mmc: sh_mobile_sdhi: pass card hotplug GPIO number to TMIO MMC
    mmc: tmio_mmc: support the generic MMC GPIO card hotplug helper
    mmc: tmio: calculate the native hotplug condition only once
    mmc: simplify mmc_cd_gpio_request() by removing two parameters
    mmc: sdhci-pci: allow 8-bit bus width for Intel PCH
    mmc: sdhci: check interrupt flags in ISR again
    mmc: sdhci-pci: Add MSI support
    mmc: core: warn when card doesn't support HPI
    mmc: davinci: Poll status for small size transfers
    mmc: davinci: Eliminate spurious interrupts
    mmc: omap_hsmmc: Avoid a regulator voltage change with dt
    mmc: omap_hsmmc: Convert hsmmc driver to use device tree
    mmc: sdhci-pci: add SDHCI_QUIRK2_HOST_OFF_CARD_ON for Medfield SDIO
    ...

    Linus Torvalds
     
  • Merge third batch of patches from Andrew Morton:
    - Some MM stragglers
    - core SMP library cleanups (on_each_cpu_mask)
    - Some IPI optimisations
    - kexec
    - kdump
    - IPMI
    - the radix-tree iterator work
    - various other misc bits.

    "That'll do for -rc1. I still have ~10 patches for 3.4, will send
    those along when they've baked a little more."

    * emailed from Andrew Morton : (35 commits)
    backlight: fix typo in tosa_lcd.c
    crc32: add help text for the algorithm select option
    mm: move hugepage test examples to tools/testing/selftests/vm
    mm: move slabinfo.c to tools/vm
    mm: move page-types.c from Documentation to tools/vm
    selftests/Makefile: make `run_tests' depend on `all'
    selftests: launch individual selftests from the main Makefile
    radix-tree: use iterators in find_get_pages* functions
    radix-tree: rewrite gang lookup using iterator
    radix-tree: introduce bit-optimized iterator
    fs/proc/namespaces.c: prevent crash when ns_entries[] is empty
    nbd: rename the nbd_device variable from lo to nbd
    pidns: add reboot_pid_ns() to handle the reboot syscall
    sysctl: use bitmap library functions
    ipmi: use locks on watchdog timeout set on reboot
    ipmi: simplify locking
    ipmi: fix message handling during panics
    ipmi: use a tasklet for handling received messages
    ipmi: increase KCS timeouts
    ipmi: decrease the IPMI message transaction time in interrupt mode
    ...

    Linus Torvalds
     
  • crashkernel reservation need know the total memory size. Current
    get_total_mem simply use max_pfn - min_low_pfn. It is wrong because it
    will including memory holes in the middle.

    Especially for kvm guest with memory > 0xe0000000, there's below in qemu
    code: qemu split memory as below:

    if (ram_size >= 0xe0000000 ) {
    above_4g_mem_size = ram_size - 0xe0000000;
    below_4g_mem_size = 0xe0000000;
    } else {
    below_4g_mem_size = ram_size;
    }

    So for 4G mem guest, seabios will insert a 512M usable region beyond of
    4G. Thus in above case max_pfn - min_low_pfn will be more than original
    memsize.

    Fixing this issue by using memblock_phys_mem_size() to get the total
    memsize.

    Signed-off-by: Dave Young
    Reviewed-by: WANG Cong
    Reviewed-by: Simon Horman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Young
     
  • This was marked as obsolete for quite a while now.. Now it is time to
    remove it altogether. And while doing this, get rid of first_cpu() as
    well. Also, remove the redundant setting of cpu_online_mask in
    smp_prepare_cpus() because the generic code would have already set cpu 0
    in cpu_online_mask.

    Reported-by: Tony Luck
    Signed-off-by: Srivatsa S. Bhat
    Cc: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Srivatsa S. Bhat
     
  • We have lots of infrastructure in place to partition multi-core systems
    such that we have a group of CPUs that are dedicated to specific task:
    cgroups, scheduler and interrupt affinity, and cpuisol= boot parameter.
    Still, kernel code will at times interrupt all CPUs in the system via IPIs
    for various needs. These IPIs are useful and cannot be avoided
    altogether, but in certain cases it is possible to interrupt only specific
    CPUs that have useful work to do and not the entire system.

    This patch set, inspired by discussions with Peter Zijlstra and Frederic
    Weisbecker when testing the nohz task patch set, is a first stab at trying
    to explore doing this by locating the places where such global IPI calls
    are being made and turning the global IPI into an IPI for a specific group
    of CPUs. The purpose of the patch set is to get feedback if this is the
    right way to go for dealing with this issue and indeed, if the issue is
    even worth dealing with at all. Based on the feedback from this patch set
    I plan to offer further patches that address similar issue in other code
    paths.

    This patch creates an on_each_cpu_mask() and on_each_cpu_cond()
    infrastructure API (the former derived from existing arch specific
    versions in Tile and Arm) and uses them to turn several global IPI
    invocation to per CPU group invocations.

    Core kernel:

    on_each_cpu_mask() calls a function on processors specified by cpumask,
    which may or may not include the local processor.

    You must not call this function with disabled interrupts or from a
    hardware interrupt handler or from a bottom half handler.

    arch/arm:

    Note that the generic version is a little different then the Arm one:

    1. It has the mask as first parameter
    2. It calls the function on the calling CPU with interrupts disabled,
    but this should be OK since the function is called on the other CPUs
    with interrupts disabled anyway.

    arch/tile:

    The API is the same as the tile private one, but the generic version
    also calls the function on the with interrupts disabled in UP case

    This is OK since the function is called on the other CPUs
    with interrupts disabled.

    Signed-off-by: Gilad Ben-Yossef
    Reviewed-by: Christoph Lameter
    Acked-by: Chris Metcalf
    Acked-by: Peter Zijlstra
    Cc: Frederic Weisbecker
    Cc: Russell King
    Cc: Pekka Enberg
    Cc: Matt Mackall
    Cc: Rik van Riel
    Cc: Andi Kleen
    Cc: Sasha Levin
    Cc: Mel Gorman
    Cc: Alexander Viro
    Cc: Avi Kivity
    Acked-by: Michal Nazarewicz
    Cc: Kosaki Motohiro
    Cc: Milton Miller
    Cc: Russell King
    Acked-by: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Gilad Ben-Yossef
     
  • …m/linux/kernel/git/dhowells/linux-asm_system

    Pull "Disintegrate and delete asm/system.h" from David Howells:
    "Here are a bunch of patches to disintegrate asm/system.h into a set of
    separate bits to relieve the problem of circular inclusion
    dependencies.

    I've built all the working defconfigs from all the arches that I can
    and made sure that they don't break.

    The reason for these patches is that I recently encountered a circular
    dependency problem that came about when I produced some patches to
    optimise get_order() by rewriting it to use ilog2().

    This uses bitops - and on the SH arch asm/bitops.h drags in
    asm-generic/get_order.h by a circuituous route involving asm/system.h.

    The main difficulty seems to be asm/system.h. It holds a number of
    low level bits with no/few dependencies that are commonly used (eg.
    memory barriers) and a number of bits with more dependencies that
    aren't used in many places (eg. switch_to()).

    These patches break asm/system.h up into the following core pieces:

    (1) asm/barrier.h

    Move memory barriers here. This already done for MIPS and Alpha.

    (2) asm/switch_to.h

    Move switch_to() and related stuff here.

    (3) asm/exec.h

    Move arch_align_stack() here. Other process execution related bits
    could perhaps go here from asm/processor.h.

    (4) asm/cmpxchg.h

    Move xchg() and cmpxchg() here as they're full word atomic ops and
    frequently used by atomic_xchg() and atomic_cmpxchg().

    (5) asm/bug.h

    Move die() and related bits.

    (6) asm/auxvec.h

    Move AT_VECTOR_SIZE_ARCH here.

    Other arch headers are created as needed on a per-arch basis."

    Fixed up some conflicts from other header file cleanups and moving code
    around that has happened in the meantime, so David's testing is somewhat
    weakened by that. We'll find out anything that got broken and fix it..

    * tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)
    Delete all instances of asm/system.h
    Remove all #inclusions of asm/system.h
    Add #includes needed to permit the removal of asm/system.h
    Move all declarations of free_initmem() to linux/mm.h
    Disintegrate asm/system.h for OpenRISC
    Split arch_align_stack() out from asm-generic/system.h
    Split the switch_to() wrapper out of asm-generic/system.h
    Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h
    Create asm-generic/barrier.h
    Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h
    Disintegrate asm/system.h for Xtensa
    Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]
    Disintegrate asm/system.h for Tile
    Disintegrate asm/system.h for Sparc
    Disintegrate asm/system.h for SH
    Disintegrate asm/system.h for Score
    Disintegrate asm/system.h for S390
    Disintegrate asm/system.h for PowerPC
    Disintegrate asm/system.h for PA-RISC
    Disintegrate asm/system.h for MN10300
    ...

    Linus Torvalds
     
  • Pull a few more things for powerpc by Benjamin Herrenschmidt:
    - Anton's did some recent improvements to EPOW event reporting on
    pSeries (power supply failures and such). The patches are self
    contained enough and replace really nasty code so I felt it should
    still go in
    - I did the vio driver registration change Greg requested, I don't see
    the point of leaving that til the next merge window
    - The remaining EEH changes I said were still pending to get rid of the
    EEH references from the generic struct device_node
    - A few more iSeries removal bits
    - A perf bug fix on 970

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    powerpc/perf: Fix instruction address sampling on 970 and Power4
    powerpc+sparc/vio: Modernize driver registration
    powerpc: Random little legacy iSeries removal tidy ups
    powerpc: Remove NO_IRQ_IGNORE
    powerpc/pseries: Cut down on enthusiastic use of defines in RAS code
    powerpc/pseries: Clean up ras_error_interrupt code
    powerpc/pseries: Remove RTAS_POWERMGM_EVENTS
    powerpc/pseries: Use rtas_get_sensor in RAS code
    powerpc/pseries: Parse and handle EPOW interrupts
    powerpc: Make function that parses RTAS error logs global
    powerpc/eeh: Retrieve PHB from global list
    powerpc/eeh: Remove eeh information from pci_dn
    powerpc/eeh: Remove eeh device from OF node

    Linus Torvalds
     
  • Pull kvm updates from Avi Kivity:
    "Changes include timekeeping improvements, support for assigning host
    PCI devices that share interrupt lines, s390 user-controlled guests, a
    large ppc update, and random fixes."

    This is with the sign-off's fixed, hopefully next merge window we won't
    have rebased commits.

    * 'kvm-updates/3.4' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (130 commits)
    KVM: Convert intx_mask_lock to spin lock
    KVM: x86: fix kvm_write_tsc() TSC matching thinko
    x86: kvmclock: abstract save/restore sched_clock_state
    KVM: nVMX: Fix erroneous exception bitmap check
    KVM: Ignore the writes to MSR_K7_HWCR(3)
    KVM: MMU: make use of ->root_level in reset_rsvds_bits_mask
    KVM: PMU: add proper support for fixed counter 2
    KVM: PMU: Fix raw event check
    KVM: PMU: warn when pin control is set in eventsel msr
    KVM: VMX: Fix delayed load of shared MSRs
    KVM: use correct tlbs dirty type in cmpxchg
    KVM: Allow host IRQ sharing for assigned PCI 2.3 devices
    KVM: Ensure all vcpus are consistent with in-kernel irqchip settings
    KVM: x86 emulator: Allow PM/VM86 switch during task switch
    KVM: SVM: Fix CPL updates
    KVM: x86 emulator: VM86 segments must have DPL 3
    KVM: x86 emulator: Fix task switch privilege checks
    arch/powerpc/kvm/book3s_hv.c: included linux/sched.h twice
    KVM: x86 emulator: correctly mask pmc index bits in RDPMC instruction emulation
    KVM: mmu_notifier: Flush TLBs before releasing mmu_lock
    ...

    Linus Torvalds
     
  • Pull module and param updates from Rusty Russell:
    "I'm getting married next week, and then honeymoon until 6th May. I'll
    be offline from next week, except to post the compulsory pictures if
    Alex shaves her head..."

    I'm sure Rusty can take time off from his honeymoon if something comes
    up. And here's the explanation about head shaving:

    http://baldalex.org/

    in case you wondered and wanted to support another insane caper or
    Rusty's involving shaving.

    What *is* it with Rusty and shaving, anyway?

    * git://github.com/rustyrussell/linux:
    module: Remove module size limit
    module: move __module_get and try_module_get() out of line.
    params: _initcall-like kernel parameters
    module_param: remove support for bool parameters which are really int.
    module: add kernel param to force disable module load

    Linus Torvalds
     
  • Pull x86 platform driver updates from Matthew Garrett:
    "Some significant updates to samsung-laptop, additional hardware
    support for Toshibas, misc updates to various hardware and a new
    backlight driver for some Apple machines."

    Fix up trivial conflicts: geode Geos update happening next to net5501
    support, and MSIC thermal platform support added twice.

    * 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86: (77 commits)
    acer-wmi: add quirk table for video backlight vendor mode
    drivers/platform/x86/amilo-rfkill.c::amilo_rfkill_probe() avoid NULL deref
    samsung-laptop: unregister ACPI video module for some well known laptops
    acer-wmi: No wifi rfkill on Sony machines
    thinkpad-acpi: recognize Lenovo as version string in newer V-series BIOS
    asus-wmi: don't update power and brightness when using scalar
    eeepc-wmi: split et2012 specific hacks
    eeepc-wmi: refine quirks handling
    asus-nb-wmi: set panel_power correctly
    asus-wmi: move WAPF variable into quirks_entry
    asus-wmi: store backlight power status for AIO machine
    asus-wmi: add scalar board brightness adj. support
    samsung-laptop: cleanup return type: mode_t vs umode_t
    drivers, samsung-laptop: fix usage of isalnum
    drivers, samsung-laptop: fix initialization of sabi_data in sabi_set_commandb
    asus-wmi: on/off bit is not set when reading the value
    eeepc-wmi: add extra keymaps for EP121
    asus-nb-wmi: ignore useless keys
    acer-wmi: support Lenovo ideapad S205 Brazos wifi switch
    acer-wmi: fix out of input parameter size when set
    ...

    Linus Torvalds
     
  • Pull GPIO changes for v3.4 from Grant Likely:
    "Primarily gpio device driver changes with some minor side effects
    under arch/arm and arch/x86. Also includes a few core changes such as
    explicitly supporting (electrical) open source and open drain outputs
    and some help for parsing gpio devicetree properties."

    Fix up context conflict due to Laxman Dewangan adding sleep control for
    the tps65910 driver separately for gpio's and regulators.

    * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux-2.6: (34 commits)
    gpio/ep93xx: Remove unused inline function and useless pr_err message
    gpio/sodaville: Mark broken due to core irqdomain migration
    gpio/omap: fix redundant decoding of gpio offset
    gpio/omap: fix incorrect update to context.irqenable1
    gpio/omap: fix incorrect context restore logic in omap_gpio_runtime_*
    gpio/omap: fix missing dataout context save in _set_gpio_dataout_reg
    gpio/omap: fix _set_gpio_irqenable implementation
    gpio/omap: fix trigger type to unsigned
    gpio/omap: fix wakeup_en register update in _set_gpio_wakeup()
    gpio: tegra: tegra_gpio_config shouldn't be __init
    gpio/davinci: fix enabling unbanked GPIO IRQs
    gpio/davinci: fix oops on unbanked gpio irq request
    gpio/omap: Fix section warning for omap_mpuio_alloc_gc()
    ARM: tegra: export tegra_gpio_{en,dis}able
    gpio/gpio-stmpe: Fix the value returned by _get_value routine
    Documentation/gpio.txt: Explain expected pinctrl interaction
    GPIO: LPC32xx: Add output reading to GPO P3
    GPIO: LPC32xx: Fix missing bit selection mask
    gpio/omap: fix wakeups on level-triggered GPIOs
    gpio/omap: Fix IRQ handling for SPARSE_IRQ
    ...

    Linus Torvalds
     
  • Pull MFD changes from Samuel Ortiz:
    - 4 new drivers: Freescale i.MX on-chip Anatop, Ricoh's RC5T583 and
    TI's TPS65090 and TPS65217.
    - New variants support (8420, 8520 ab9540), cleanups and bug fixes for
    the abx500 and db8500 ST-E chipsets.
    - Some minor fixes and update for the wm8994 from Mark.
    - The beginning of a long term TWL cleanup effort coming from the TI
    folks.
    - Various fixes and cleanups for the s5m, TPS659xx, pm860x, and MAX8997
    drivers.

    Fix up trivial conflicts due to duplicate patches and header file
    cleanups ( removal etc).

    * tag 'mfd_3.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (97 commits)
    gpio/twl: Add DT support to gpio-twl4030 driver
    gpio/twl: Allocate irq_desc dynamically for SPARSE_IRQ support
    mfd: Detach twl6040 from the pmic mfd driver
    mfd: Replace twl-* pr_ macros by the dev_ equivalent and do various cleanups
    mfd: Micro-optimization on twl4030 IRQ handler
    mfd: Make twl4030 SIH SPARSE_IRQ capable
    mfd: Move twl-core IRQ allocation into twl[4030|6030]-irq files
    mfd: Remove references already defineid in header file from twl-core
    mfd: Remove unneeded header from twl-core
    mfd: Make twl-core not depend on pdata->irq_base/end
    ARM: OMAP2+: board-omap4-*: Do not use anymore TWL6030_IRQ_BASE in board files
    mfd: Return twl6030_mmc_card_detect IRQ for board setup
    Revert "mfd: Add platform data for MAX8997 haptic driver"
    mfd: Add support for TPS65090
    mfd: Add some da9052-i2c section annotations
    mfd: Build rtc5t583 only if I2C config is selected to y.
    mfd: Add anatop mfd driver
    mfd: Fix compilation error in tps65910.h
    mfd: Add 8420 variant to db8500-prcmu
    mfd: Add 8520 PRCMU variant to db8500-prcmu
    ...

    Linus Torvalds
     
  • Pull "ARM: More device tree support updates" from Olof Johansson:
    "This branch contains a number of updates for device tree support on
    several ARM platforms, in particular:

    * AT91 continues the device tree conversion adding support for a
    number of on-chip drivers and other functionality
    * ux500 adds probing of some of the core SoC blocks through device
    tree
    * Initial device tree support for ST SPEAr600 platforms
    * kirkwood continues the conversion to device-tree probing"

    Manually merge arch/arm/mach-ux500/Kconfig due to MACH_U8500 rename, and
    drivers/usb/gadget/at91_udc.c due to header file include cleanups.

    Also do an "evil merge" for the MACH_U8500 config option rename that the
    affected RMI4 touchscreen driver in staging. It's called MACH_MOP500
    now, and it was missed during previous merges.

    * tag 'dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (48 commits)
    ARM: SPEAr600: Add device-tree support to SPEAr600 boards
    ARM: ux500: Provide local timer support for Device Tree
    ARM: ux500: Enable PL022 SSP Controller in Device Tree
    ARM: ux500: Enable PL310 Level 2 Cache Controller in Device Tree
    ARM: ux500: Enable PL011 AMBA UART Controller for Device Tree
    ARM: ux500: Enable Cortex-A9 GIC (Generic Interrupt Controller) in Device Tree
    ARM: ux500: db8500: list most devices in the snowball device tree
    ARM: ux500: split dts file for snowball into generic part
    ARM: ux500: combine the board init functions for DT boot
    ARM: ux500: Initial Device Tree support for Snowball
    ARM: ux500: CONFIG: Enable Device Tree support for future endeavours
    ARM: kirkwood: use devicetree for rtc-mv
    ARM: kirkwood: rtc-mv devicetree bindings
    ARM: kirkwood: fdt: define uart[01] as disabled, enable uart0
    ARM: kirkwood: fdt: facilitate new boards during fdt migration
    ARM: kirkwood: fdt: absorb kirkwood_init()
    ARM: kirkwood: fdt: use mrvl ticker symbol
    ARM: orion: wdt: use resource vice direct access
    ARM: Kirkwood: Remove tclk from kirkwood_asoc_platform_data.
    ARM: orion: spi: remove enable_clock_fix which is not used
    ...

    Linus Torvalds
     
  • Pull "ARM: More SoC support updates" from Olof Johansson:
    "This branch contains a handful of updates of SoC base code that had
    dependencies on other external trees that have now been merged:

    * Support for the new EXYNOS5250 SoC from Samsung
    * SMP and power domain support for Tegra3 from NVIDIA
    * ux500 updates for exporting SoC information through sysfs"

    Fix up trivial merge conflicts as per Olof.

    * tag 'soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (30 commits)
    ARM: mach-shmobile: ap4evb: Reserve DMA memory for the frame buffer
    ARM: EXYNOS: Fix compilation error with mach-exynos4-dt board
    ARM: dts: add initial dts file for EXYNOS5250, SMDK5250
    ARM: EXYNOS: add support device tree enabled board file for EXYNOS5
    ARM: EXYNOS: add support ARCH_EXYNOS5 for EXYNOS5 SoCs
    ARM: EXYNOS: add support get_core_count() for EXYNOS5250
    ARM: EXYNOS: support EINT for EXYNOS4 and EXYNOS5
    ARM: EXYNOS: add interrupt definitions for EXYNOS5250
    ARM: EXYNOS: add support for EXYNOS5250 SoC
    ARM: EXYNOS: add support uart for EXYNOS4 and EXYNOS5
    ARM: EXYNOS: add initial setup-i2c0 for EXYNOS5
    ARM: EXYNOS: add clock part for EXYNOS5250 SoC
    ARM: EXYNOS: use exynos_init_uarts() instead of exynos4_init_uarts()
    ARM: EXYNOS: to declare static for mach-exynos/common.c
    ARM: EXYNOS: Add clkdev lookup entry for lcd clock
    ARM: dt: Explicitly configure all serial ports on Tegra Cardhu
    ARM: tegra: support for secondary cores on Tegra30
    ARM: tegra: support for Tegra30 CPU powerdomains
    ARM: tegra: add support for Tegra30 powerdomains
    ARM: tegra: export tegra_powergate_is_powered()
    ...

    Linus Torvalds
     
  • Pull "ARM: More SoC driver updates" from Olof Johansson:
    "This branch contains a handful of driver updates, mostly to the
    LPC32xx platform but also for Samsung EXYNOS and Davinci.

    It had a few context conflicts against patches already merged through
    fixes-non-critical. We should have resolved this early during the
    development cycle by pulling them in as a dependency, instead I did it
    after the fact this time."

    * tag 'drivers2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    gpio/samsung: use ioremap() for EXYNOS4 GPIOlib
    gpio/samsung: add support GPIOlib for EXYNOS5250
    ARM: EXYNOS: add support GPIO for EXYNOS5250
    ARM: LPC32xx: Ethernet support
    ARM: LPC32xx: USB Support
    ARM: davinci: dm644x evm: add support for VPBE display
    ARM: davinci: dm644x: add support for v4l2 video display
    ARM: EXYNOS: Hook up JPEG PD to generic PD infrastructure
    ARM: EXYNOS: Hook up G2D PD to generic PD infrastructure
    arm: lpc32xx: phy3250: add rtc & touch device
    ARM: LPC32xx: clock.c: Clock registration fixes
    ARM: LPC32xx: clock.c: jiffies wrapping
    ARM: LPC32xx: clock.c: Missing header file
    ARM: LPC32XX: Remove broken non-static declaration
    ARM: LPC32xx: clock.c: Fix mutex lock issues
    ARM: LPC32xx: clock.c: warning fix
    ARM: LPC32xx: Added lpc32xx_defconfig

    Linus Torvalds
     
  • Add information about LVT offset assignments to better debug firmware
    bugs related to this. See following examples.

    # dmesg | grep -i 'offset\|ibs'
    LVT offset 0 assigned for vector 0xf9
    [Firmware Bug]: cpu 0, try to use APIC500 (LVT offset 0) for vector 0x10400, but the register is already in use for vector 0xf9 on another cpu
    [Firmware Bug]: cpu 0, IBS interrupt offset 0 not available (MSRC001103A=0x0000000000000100)
    Failed to setup IBS, -22

    In this case the BIOS assigns both offsets for MCE (0xf9) and IBS
    (0x400) vectors to offset 0, which is why the second APIC setup (IBS)
    failed.

    With correct setup you get:

    # dmesg | grep -i 'offset\|ibs'
    LVT offset 0 assigned for vector 0xf9
    LVT offset 1 assigned for vector 0x400
    IBS: LVT offset 1 assigned
    perf: AMD IBS detected (0x00000007)
    oprofile: AMD IBS detected (0x00000007)

    Note: The vector includes also the message type to handle also NMIs
    (0x400). In the firmware bug message the format is the same as of the
    APIC500 register and includes the mask bit (bit 16) in addition.

    Signed-off-by: Robert Richter
    Signed-off-by: Ingo Molnar

    Robert Richter
     
  • Delete all instances of asm/system.h as they should be redundant by this
    point.

    Signed-off-by: David Howells

    David Howells
     
  • Remove all #inclusions of asm/system.h preparatory to splitting and killing
    it. Performed with the following command:

    perl -p -i -e 's!^#\s*include\s*.*\n!!' `grep -Irl '^#\s*include\s*' *`

    Signed-off-by: David Howells

    David Howells
     
  • Move all declarations of free_initmem() to linux/mm.h so that there's only one
    and it's used by everything.

    Signed-off-by: David Howells
    cc: linux-c6x-dev@linux-c6x.org
    cc: microblaze-uclinux@itee.uq.edu.au
    cc: linux-sh@vger.kernel.org
    cc: sparclinux@vger.kernel.org
    cc: x86@kernel.org
    cc: linux-mm@kvack.org

    David Howells
     
  • Disintegrate asm/system.h for OpenRISC. Not compiled.

    Signed-off-by: David Howells
    Acked-by: Arnd Bergmann
    cc: linux@lists.openrisc.net

    David Howells
     
  • Disintegrate asm/system.h for Xtensa.

    Signed-off-by: David Howells
    cc: Chris Zankel

    David Howells
     
  • Disintegrate asm/system.h for Unicore32. (Compilation successful)
    The implementation details are not changed, but only splitted.
    BTW, some codestyles are adjusted.

    Signed-off-by: David Howells
    Signed-off-by: Guan Xuetao

    Guan Xuetao
     
  • Disintegrate asm/system.h for Tile.

    Signed-off-by: David Howells
    Acked-by: Chris Metcalf

    David Howells
     
  • Disintegrate asm/system.h for Sparc.

    Signed-off-by: David Howells
    cc: sparclinux@vger.kernel.org

    David Howells
     
  • Disintegrate asm/system.h for SH.

    Signed-off-by: David Howells
    cc: linux-sh@vger.kernel.org

    David Howells
     
  • Disintegrate asm/system.h for Score. Not compiled.

    Signed-off-by: David Howells
    cc: Chen Liqin

    David Howells
     
  • Disintegrate asm/system.h for S390.

    Signed-off-by: David Howells
    cc: linux-s390@vger.kernel.org

    David Howells
     
  • Disintegrate asm/system.h for PowerPC.

    Signed-off-by: David Howells
    Acked-by: Benjamin Herrenschmidt
    cc: linuxppc-dev@lists.ozlabs.org

    David Howells