16 Jan, 2012

2 commits

  • * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (39 commits)
    perf tools: Fix compile error on x86_64 Ubuntu
    perf report: Fix --stdio output alignment when --showcpuutilization used
    perf annotate: Get rid of field_sep check
    perf annotate: Fix usage string
    perf kmem: Fix a memory leak
    perf kmem: Add missing closedir() calls
    perf top: Add error message for EMFILE
    perf test: Change type of '-v' option to INCR
    perf script: Add missing closedir() calls
    tracing: Fix compile error when static ftrace is enabled
    recordmcount: Fix handling of elf64 big-endian objects.
    perf tools: Add const.h to MANIFEST to make perf-tar-src-pkg work again
    perf tools: Add support for guest/host-only profiling
    perf kvm: Do guest-only counting by default
    perf top: Don't update total_period on process_sample
    perf hists: Stop using 'self' for struct hist_entry
    perf hists: Rename total_session to total_period
    x86: Add counter when debug stack is used with interrupts enabled
    x86: Allow NMIs to hit breakpoints in i386
    x86: Keep current stack in NMI breakpoints
    ...

    Linus Torvalds
     
  • * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, atomic: atomic64_read() take a const pointer
    x86, UV: Update Boot messages for SGI UV2 platform

    Linus Torvalds
     

13 Jan, 2012

1 commit

  • This very noisy sparse warning appears on almost every file in the
    kernel:

    CHECK init/main.c
    arch/x86/include/asm/thread_info.h:43:55: error: dubious one-bit signed bitfield
    arch/x86/include/asm/thread_info.h:44:46: error: dubious one-bit signed bitfield

    This patch changes sig_on_uaccess_error and uaccess_err flags to unsigned
    type and thus fixes the warning.

    Signed-off-by: Anton Vorontsov
    Acked-by: Andy Lutomirski
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     

12 Jan, 2012

5 commits

  • * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/intel config: Fix the APB_TIMER selection
    x86/mrst: Add additional debug prints for pb_keys
    x86/intel config: Revamp configuration to allow for Moorestown and Medfield
    x86/intel/scu/ipc: Match the changes in the x86 configuration
    x86/apb: Fix configuration constraints
    x86: Fix INTEL_MID silly
    x86/Kconfig: Cyclone-timer depends on x86-summit
    x86: Reduce clock calibration time during slave cpu startup
    x86/config: Revamp configuration for MID devices
    x86/sfi: Kill the IRQ as id hack

    Linus Torvalds
     
  • * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, reboot: Fix typo in nmi reboot path
    x86, NMI: Add to_cpumask() to silence compile warning
    x86, NMI: NMI selftest depends on the local apic
    x86: Add stack top margin for stack overflow checking
    x86, NMI: NMI-selftest should handle the UP case properly
    x86: Fix the 32-bit stackoverflow-debug build
    x86, NMI: Add knob to disable using NMI IPIs to stop cpus
    x86, NMI: Add NMI IPI selftest
    x86, reboot: Use NMI instead of REBOOT_VECTOR to stop cpus
    x86: Clean up the range of stack overflow checking
    x86: Panic on detection of stack overflow
    x86: Check stack overflow in detail

    Linus Torvalds
     
  • * 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, efi: Break up large initrd reads
    x86, efi: EFI boot stub support
    efi: Add EFI file I/O data types
    efi.h: Add boottime->locate_handle search types
    efi.h: Add graphics protocol guids
    efi.h: Add allocation types for boottime->allocate_pages()
    efi.h: Add efi_image_loaded_t
    efi.h: Add struct definition for boot time services
    x86: Don't use magic strings for EFI loader signature
    x86: Add missing bzImage fields to struct setup_header

    Linus Torvalds
     
  • * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/numa: Add constraints check for nid parameters
    mm, x86: Remove debug_pagealloc_enabled
    x86/mm: Initialize high mem before free_all_bootmem()
    arch/x86/kernel/e820.c: quiet sparse noise about plain integer as NULL pointer
    arch/x86/kernel/e820.c: Eliminate bubble sort from sanitize_e820_map()
    x86: Fix mmap random address range
    x86, mm: Unify zone_sizes_init()
    x86, mm: Prepare zone_sizes_init() for unification
    x86, mm: Use max_low_pfn for ZONE_NORMAL on 64-bit
    x86, mm: Wrap ZONE_DMA32 with CONFIG_ZONE_DMA32
    x86, mm: Use max_pfn instead of highend_pfn
    x86, mm: Move zone init from paging_init() on 64-bit
    x86, mm: Use MAX_DMA_PFN for ZONE_DMA on 32-bit

    Linus Torvalds
     
  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci: (80 commits)
    x86/PCI: Expand the x86_msi_ops to have a restore MSIs.
    PCI: Increase resource array mask bit size in pcim_iomap_regions()
    PCI: DEVICE_COUNT_RESOURCE should be equal to PCI_NUM_RESOURCES
    PCI: pci_ids: add device ids for STA2X11 device (aka ConneXT)
    PNP: work around Dell 1536/1546 BIOS MMCONFIG bug that breaks USB
    x86/PCI: amd: factor out MMCONFIG discovery
    PCI: Enable ATS at the device state restore
    PCI: msi: fix imbalanced refcount of msi irq sysfs objects
    PCI: kconfig: English typo in pci/pcie/Kconfig
    PCI/PM/Runtime: make PCI traces quieter
    PCI: remove pci_create_bus()
    xtensa/PCI: convert to pci_scan_root_bus() for correct root bus resources
    x86/PCI: convert to pci_create_root_bus() and pci_scan_root_bus()
    x86/PCI: use pci_scan_bus() instead of pci_scan_bus_parented()
    x86/PCI: read Broadcom CNB20LE host bridge info before PCI scan
    sparc32, leon/PCI: convert to pci_scan_root_bus() for correct root bus resources
    sparc/PCI: convert to pci_create_root_bus()
    sh/PCI: convert to pci_scan_root_bus() for correct root bus resources
    powerpc/PCI: convert to pci_create_root_bus()
    powerpc/PCI: split PHB part out of pcibios_map_io_space()
    ...

    Fix up conflicts in drivers/pci/msi.c and include/linux/pci_regs.h due
    to the same patches being applied in other branches.

    Linus Torvalds
     

11 Jan, 2012

3 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (54 commits)
    crypto: gf128mul - remove leftover "(EXPERIMENTAL)" in Kconfig
    crypto: serpent-sse2 - remove unneeded LRW/XTS #ifdefs
    crypto: serpent-sse2 - select LRW and XTS
    crypto: twofish-x86_64-3way - remove unneeded LRW/XTS #ifdefs
    crypto: twofish-x86_64-3way - select LRW and XTS
    crypto: xts - remove dependency on EXPERIMENTAL
    crypto: lrw - remove dependency on EXPERIMENTAL
    crypto: picoxcell - fix boolean and / or confusion
    crypto: caam - remove DECO access initialization code
    crypto: caam - fix polarity of "propagate error" logic
    crypto: caam - more desc.h cleanups
    crypto: caam - desc.h - convert spaces to tabs
    crypto: talitos - convert talitos_error to struct device
    crypto: talitos - remove NO_IRQ references
    crypto: talitos - fix bad kfree
    crypto: convert drivers/crypto/* to use module_platform_driver()
    char: hw_random: convert drivers/char/hw_random/* to use module_platform_driver()
    crypto: serpent-sse2 - should select CRYPTO_CRYPTD
    crypto: serpent - rename serpent.c to serpent_generic.c
    crypto: serpent - cleanup checkpatch errors and warnings
    ...

    Linus Torvalds
     
  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (53 commits)
    iommu/amd: Set IOTLB invalidation timeout
    iommu/amd: Init stats for iommu=pt
    iommu/amd: Remove unnecessary cache flushes in amd_iommu_resume
    iommu/amd: Add invalidate-context call-back
    iommu/amd: Add amd_iommu_device_info() function
    iommu/amd: Adapt IOMMU driver to PCI register name changes
    iommu/amd: Add invalid_ppr callback
    iommu/amd: Implement notifiers for IOMMUv2
    iommu/amd: Implement IO page-fault handler
    iommu/amd: Add routines to bind/unbind a pasid
    iommu/amd: Implement device aquisition code for IOMMUv2
    iommu/amd: Add driver stub for AMD IOMMUv2 support
    iommu/amd: Add stat counter for IOMMUv2 events
    iommu/amd: Add device errata handling
    iommu/amd: Add function to get IOMMUv2 domain for pdev
    iommu/amd: Implement function to send PPR completions
    iommu/amd: Implement functions to manage GCR3 table
    iommu/amd: Implement IOMMUv2 TLB flushing routines
    iommu/amd: Add support for IOMMUv2 domain mode
    iommu/amd: Add amd_iommu_domain_direct_map function
    ...

    Linus Torvalds
     
  • * 'kvm-updates/3.3' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (74 commits)
    KVM: PPC: Whitespace fix for kvm.h
    KVM: Fix whitespace in kvm_para.h
    KVM: PPC: annotate kvm_rma_init as __init
    KVM: x86 emulator: implement RDPMC (0F 33)
    KVM: x86 emulator: fix RDPMC privilege check
    KVM: Expose the architectural performance monitoring CPUID leaf
    KVM: VMX: Intercept RDPMC
    KVM: SVM: Intercept RDPMC
    KVM: Add generic RDPMC support
    KVM: Expose a version 2 architectural PMU to a guests
    KVM: Expose kvm_lapic_local_deliver()
    KVM: x86 emulator: Use opcode::execute for Group 9 instruction
    KVM: x86 emulator: Use opcode::execute for Group 4/5 instructions
    KVM: x86 emulator: Use opcode::execute for Group 1A instruction
    KVM: ensure that debugfs entries have been created
    KVM: drop bsp_vcpu pointer from kvm struct
    KVM: x86: Consolidate PIT legacy test
    KVM: x86: Do not rely on implicit inclusions
    KVM: Make KVM_INTEL depend on CPU_SUP_INTEL
    KVM: Use memdup_user instead of kmalloc/copy_from_user
    ...

    Linus Torvalds
     

10 Jan, 2012

3 commits

  • atomic64_read() doesn't actually write anything (as far as the C
    environment is concerned... the CPU does actually write but that's an
    implementation quirk), so it should take a const pointer.

    This does NOT mean that it is safe to use atomic64_read() on an object
    in readonly storage (it will trap!)

    Reported-by: Andrew Morton
    Signed-off-by: H. Peter Anvin
    Link: http://lkml.kernel.org/r/20120109165859.1879abda.akpm@linux-foundation.org

    H. Peter Anvin
     
  • * 'for-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
    percpu: Remove irqsafe_cpu_xxx variants

    Fix up conflict in arch/x86/include/asm/percpu.h due to clash with
    cebef5beed3d ("x86: Fix and improve percpu_cmpxchg{8,16}b_double()")
    which edited the (now removed) irqsafe_cpu_cmpxchg*_double code.

    Linus Torvalds
     
  • * 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (65 commits)
    tty: serial: imx: move del_timer_sync() to avoid potential deadlock
    imx: add polled io uart methods
    imx: Add save/restore functions for UART control regs
    serial/imx: let probing fail for the dt case without a valid alias
    serial/imx: propagate error from of_alias_get_id instead of using -ENODEV
    tty: serial: imx: Allow UART to be a source for wakeup
    serial: driver for m32 arch should not have DEC alpha errata
    serial/documentation: fix documented name of DCD cpp symbol
    atmel_serial: fix spinlock lockup in RS485 code
    tty: Fix memory leak in virtual console when enable unicode translation
    serial: use DIV_ROUND_CLOSEST instead of open coding it
    serial: add support for 400 and 800 v3 series Titan cards
    serial: bfin-uart: Remove ASYNC_CTS_FLOW flag for hardware automatic CTS.
    serial: bfin-uart: Enable hardware automatic CTS only when CTS pin is available.
    serial: make FSL errata depend on 8250_CONSOLE, not just 8250
    serial: add irq handler for Freescale 16550 errata.
    serial: manually inline serial8250_handle_port
    serial: make 8250 timeout use the specified IRQ handler
    serial: export the key functions for an 8250 IRQ handler
    serial: clean up parameter passing for 8250 Rx IRQ handling
    ...

    Linus Torvalds
     

09 Jan, 2012

2 commits

  • Conflicts:
    drivers/iommu/amd_iommu.c
    drivers/iommu/intel-iommu.c
    include/linux/iommu.h

    Joerg Roedel
     
  • * 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits)
    PM / Hibernate: Implement compat_ioctl for /dev/snapshot
    PM / Freezer: fix return value of freezable_schedule_timeout_killable()
    PM / shmobile: Allow the A4R domain to be turned off at run time
    PM / input / touchscreen: Make st1232 use device PM QoS constraints
    PM / QoS: Introduce dev_pm_qos_add_ancestor_request()
    PM / shmobile: Remove the stay_on flag from SH7372's PM domains
    PM / shmobile: Don't include SH7372's INTCS in syscore suspend/resume
    PM / shmobile: Add support for the sh7372 A4S power domain / sleep mode
    PM: Drop generic_subsys_pm_ops
    PM / Sleep: Remove forward-only callbacks from AMBA bus type
    PM / Sleep: Remove forward-only callbacks from platform bus type
    PM: Run the driver callback directly if the subsystem one is not there
    PM / Sleep: Make pm_op() and pm_noirq_op() return callback pointers
    PM/Devfreq: Add Exynos4-bus device DVFS driver for Exynos4210/4212/4412.
    PM / Sleep: Merge internal functions in generic_ops.c
    PM / Sleep: Simplify generic system suspend callbacks
    PM / Hibernate: Remove deprecated hibernation snapshot ioctls
    PM / Sleep: Fix freezer failures due to racy usermodehelper_is_disabled()
    ARM: S3C64XX: Implement basic power domain support
    PM / shmobile: Use common always on power domain governor
    ...

    Fix up trivial conflict in fs/xfs/xfs_buf.c due to removal of unused
    XBT_FORCE_SLEEP bit

    Linus Torvalds
     

08 Jan, 2012

1 commit

  • * 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (73 commits)
    arm: fix up some samsung merge sysdev conversion problems
    firmware: Fix an oops on reading fw_priv->fw in sysfs loading file
    Drivers:hv: Fix a bug in vmbus_driver_unregister()
    driver core: remove __must_check from device_create_file
    debugfs: add missing #ifdef HAS_IOMEM
    arm: time.h: remove device.h #include
    driver-core: remove sysdev.h usage.
    clockevents: remove sysdev.h
    arm: convert sysdev_class to a regular subsystem
    arm: leds: convert sysdev_class to a regular subsystem
    kobject: remove kset_find_obj_hinted()
    m86k: gpio - convert sysdev_class to a regular subsystem
    mips: txx9_sram - convert sysdev_class to a regular subsystem
    mips: 7segled - convert sysdev_class to a regular subsystem
    sh: dma - convert sysdev_class to a regular subsystem
    sh: intc - convert sysdev_class to a regular subsystem
    power: suspend - convert sysdev_class to a regular subsystem
    power: qe_ic - convert sysdev_class to a regular subsystem
    power: cmm - convert sysdev_class to a regular subsystem
    s390: time - convert sysdev_class to a regular subsystem
    ...

    Fix up conflicts with 'struct sysdev' removal from various platform
    drivers that got changed:
    - arch/arm/mach-exynos/cpu.c
    - arch/arm/mach-exynos/irq-eint.c
    - arch/arm/mach-s3c64xx/common.c
    - arch/arm/mach-s3c64xx/cpu.c
    - arch/arm/mach-s5p64x0/cpu.c
    - arch/arm/mach-s5pv210/common.c
    - arch/arm/plat-samsung/include/plat/cpu.h
    - arch/powerpc/kernel/sysfs.c
    and fix up cpu_is_hotpluggable() as per Greg in include/linux/cpu.h

    Linus Torvalds
     

07 Jan, 2012

14 commits

  • …ostedt/linux-trace into perf/core

    Ingo Molnar
     
  • * 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: add IRQ context simulation in module mce-inject
    x86, mce, therm_throt: Don't report power limit and package level thermal throttle events in mcelog
    x86, MCE: Drain mcelog buffer
    x86, mce: Add wrappers for registering on the decode chain

    Linus Torvalds
     
  • * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, microcode, AMD: Update copyrights
    x86, microcode, AMD: Exit early on success
    x86, microcode, AMD: Simplify ucode verification
    x86, microcode, AMD: Add a reusable buffer
    x86, microcode, AMD: Add a vendor-specific exit function

    Linus Torvalds
     
  • The MSI restore function will become a function pointer in an
    x86_msi_ops struct. It defaults to the implementation in the
    io_apic.c and msi.c. We piggyback on the indirection mechanism
    introduced by "x86: Introduce x86_msi_ops".

    Cc: x86@kernel.org
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: linux-pci@vger.kernel.org
    Signed-off-by: Konrad Rzeszutek Wilk
    Signed-off-by: Jesse Barnes

    Konrad Rzeszutek Wilk
     
  • * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: Use "do { } while(0)" for empty lock_cmos()/unlock_cmos() macros
    x86: Use "do { } while(0)" for empty flush_tlb_fix_spurious_fault() macro
    x86, CPU: Drop superfluous get_cpu_cap() prototype
    arch/x86/mm/pageattr.c: Quiet sparse noise; local functions should be static
    arch/x86/kernel/ptrace.c: Quiet sparse noise
    x86: Use kmemdup() in copy_thread(), rather than duplicating its implementation
    x86: Replace the EVT_TO_HPET_DEV() macro with an inline function

    Linus Torvalds
     
  • * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
    x86: Fix atomic64_xxx_cx8() functions
    x86: Fix and improve cmpxchg_double{,_local}()
    x86_64, asm: Optimise fls(), ffs() and fls64()
    x86, bitops: Move fls64.h inside __KERNEL__
    x86: Fix and improve percpu_cmpxchg{8,16}b_double()
    x86: Report cpb and eff_freq_ro flags correctly
    x86/i386: Use less assembly in strlen(), speed things up a bit
    x86: Use the same node_distance for 32 and 64-bit
    x86: Fix rflags in FAKE_STACK_FRAME
    x86: Clean up and extend do_int3()
    x86: Call do_notify_resume() with interrupts enabled
    x86/div64: Add a micro-optimization shortcut if base is power of two
    x86-64: Cleanup some assembly entry points
    x86-64: Slightly shorten line system call entry and exit paths
    x86-64: Reduce amount of redundant code generated for invalidate_interruptNN
    x86-64: Slightly shorten int_ret_from_sys_call
    x86, efi: Convert efi_phys_get_time() args to physical addresses
    x86: Default to vsyscall=emulate
    x86-64: Set siginfo and context on vsyscall emulation faults
    x86: consolidate xchg and xadd macros
    ...

    Linus Torvalds
     
  • * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: Skip cpus with apic-ids >= 255 in !x2apic_mode
    x86, x2apic: Allow "nox2apic" to disable x2apic mode setup by BIOS
    x86, x2apic: Fallback to xapic when BIOS doesn't setup interrupt-remapping
    x86, acpi: Skip acpi x2apic entries if the x2apic feature is not present
    x86, apic: Add probe() for apic_flat
    x86: Simplify code by removing a !SMP #ifdefs from 'struct cpuinfo_x86'
    x86: Convert per-cpu counter icr_read_retry_count into a member of irq_stat
    x86: Add per-cpu stat counter for APIC ICR read tries
    pci, x86/io-apic: Allow PCI_IOAPIC to be user configurable on x86
    x86: Fix the !CONFIG_NUMA build of the new CPU ID fixup code support
    x86: Add NumaChip support
    x86: Add x86_init platform override to fix up NUMA core numbering
    x86: Make flat_init_apic_ldr() available

    Linus Torvalds
     
  • * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, tsc: Skip TSC synchronization checks for tsc=reliable
    clocksource: Convert tcb_clksrc to use clocksource_register_hz/khz
    clocksource: cris: Convert to clocksource_register_khz
    clocksource: xtensa: Convert to clocksource_register_hz/khz
    clocksource: um: Convert to clocksource_register_hz/khz
    clocksource: parisc: Convert to clocksource_register_hz/khz
    clocksource: m86k: Convert to clocksource_register_hz/khz
    time: x86: Replace LATCH with PIT_LATCH in i8253 clocksource driver
    time: x86: Remove CLOCK_TICK_RATE from acpi_pm clocksource driver
    time: x86: Remove CLOCK_TICK_RATE from mach_timer.h
    time: x86: Remove CLOCK_TICK_RATE from tsc code
    time: Fix spelling mistakes in new comments
    time: fix bogus comment in timekeeping_get_ns_raw

    Linus Torvalds
     
  • This factors out the AMD native MMCONFIG discovery so we can use it
    outside amd_bus.c.

    amd_bus.c reads AMD MSRs so it can remove the MMCONFIG area from the
    PCI resources. We may also need the MMCONFIG information to work
    around BIOS defects in the ACPI MCFG table.

    Cc: Borislav Petkov
    Cc: Yinghai Lu
    Cc: stable@kernel.org # 2.6.34+
    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Jesse Barnes

    Bjorn Helgaas
     
  • x86 has two kinds of PCI root bus scanning:

    (1) ACPI-based, using _CRS resources. This used pci_create_bus(), not
    pci_scan_bus(), because ACPI hotplug needed to split the
    pci_bus_add_devices() into a separate host bridge .start() method.

    This patch parses the _CRS resources earlier, so we can build a list of
    resources and pass it to pci_create_root_bus().

    Note that as before, we parse the _CRS even if we aren't going to use
    it so we can print it for debugging purposes.

    (2) All other, which used either default resources (ioport_resource and
    iomem_resource) or information read from the hardware via amd_bus.c or
    similar. This used pci_scan_bus().

    This patch converts x86_pci_root_bus_res_quirks() (previously called
    from pcibios_fixup_bus()) to x86_pci_root_bus_resources(), which builds
    a list of resources before we call pci_scan_root_bus().

    We also use x86_pci_root_bus_resources() if we have ACPI but are
    ignoring _CRS.

    CC: Yinghai Lu
    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Jesse Barnes

    Bjorn Helgaas
     
  • The 'latency timer' of PCI devices, both Type 0 and Type 1,
    is setup in architecture-specific code [see: 'pcibios_set_master()'].
    There are two approaches being taken by all the architectures - check
    if the 'latency timer' is currently set between 16 and 255 and if not
    bring it within bounds, or, do nothing (and then there is the
    gratuitously different PA-RISC implementation).

    There is nothing architecture-specific about PCI's 'latency timer' so
    this patch pulls its setup functionality up into the PCI core by
    creating a generic 'pcibios_set_master()' function using the '__weak'
    attribute which can be used by all architectures as a default which,
    if necessary, can then be over-ridden by architecture-specific code.

    No functional change.

    Signed-off-by: Myron Stowe
    Signed-off-by: Jesse Barnes

    Myron Stowe
     
  • This resolves the conflict in the arch/arm/mach-s3c64xx/s3c6400.c file,
    and it fixes the build error in the arch/x86/kernel/microcode_core.c
    file, that the merge did not catch.

    The microcode_core.c patch was provided by Stephen Rothwell
    who was invaluable in the merge issues involved
    with the large sysdev removal process in the driver-core tree.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (40 commits)
    sched/tracing: Add a new tracepoint for sleeptime
    sched: Disable scheduler warnings during oopses
    sched: Fix cgroup movement of waking process
    sched: Fix cgroup movement of newly created process
    sched: Fix cgroup movement of forking process
    sched: Remove cfs bandwidth period check in tg_set_cfs_period()
    sched: Fix load-balance lock-breaking
    sched: Replace all_pinned with a generic flags field
    sched: Only queue remote wakeups when crossing cache boundaries
    sched: Add missing rcu_dereference() around ->real_parent usage
    [S390] fix cputime overflow in uptime_proc_show
    [S390] cputime: add sparse checking and cleanup
    sched: Mark parent and real_parent as __rcu
    sched, nohz: Fix missing RCU read lock
    sched, nohz: Set the NOHZ_BALANCE_KICK flag for idle load balancer
    sched, nohz: Fix the idle cpu check in nohz_idle_balance
    sched: Use jump_labels for sched_feat
    sched/accounting: Fix parameter passing in task_group_account_field
    sched/accounting: Fix user/system tick double accounting
    sched/accounting: Re-use scheduler statistics for the root cgroup
    ...

    Fix up conflicts in
    - arch/ia64/include/asm/cputime.h, include/asm-generic/cputime.h
    usecs_to_cputime64() vs the sparse cleanups
    - kernel/sched/fair.c, kernel/time/tick-sched.c
    scheduler changes in multiple branches

    Linus Torvalds
     
  • * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (106 commits)
    perf kvm: Fix copy & paste error in description
    perf script: Kill script_spec__delete
    perf top: Fix a memory leak
    perf stat: Introduce get_ratio_color() helper
    perf session: Remove impossible condition check
    perf tools: Fix feature-bits rework fallout, remove unused variable
    perf script: Add generic perl handler to process events
    perf tools: Use for_each_set_bit() to iterate over feature flags
    perf tools: Unify handling of features when writing feature section
    perf report: Accept fifos as input file
    perf tools: Moving code in some files
    perf tools: Fix out-of-bound access to struct perf_session
    perf tools: Continue processing header on unknown features
    perf tools: Improve macros for struct feature_ops
    perf: builtin-record: Document and check that mmap_pages must be a power of two.
    perf: builtin-record: Provide advice if mmap'ing fails with EPERM.
    perf tools: Fix truncated annotation
    perf script: look up thread using tid instead of pid
    perf tools: Look up thread names for system wide profiling
    perf tools: Fix comm for processes with named threads
    ...

    Linus Torvalds
     

04 Jan, 2012

3 commits

  • It appears about all functions in arch/x86/lib/atomic64_cx8_32.S
    are wrong in case cmpxchg8b must be restarted, because
    LOCK_PREFIX macro defines a label "1" clashing with other local
    labels :

    1:
    some_instructions
    LOCK_PREFIX
    cmpxchg8b (%ebp)
    jne 1b / jumps to beginning of LOCK_PREFIX !

    A possible fix is to use a magic label "672" in LOCK_PREFIX asm
    definition, similar to the "671" one we defined in
    LOCK_PREFIX_HERE.

    Signed-off-by: Eric Dumazet
    Acked-by: Jan Beulich
    Cc: Christoph Lameter
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Link: http://lkml.kernel.org/r/1325608540.2320.103.camel@edumazet-HP-Compaq-6005-Pro-SFF-PC
    Signed-off-by: Ingo Molnar

    Eric Dumazet
     
  • Just like the per-CPU ones they had several
    problems/shortcomings:

    Only the first memory operand was mentioned in the asm()
    operands, and the 2x64-bit version didn't have a memory clobber
    while the 2x32-bit one did. The former allowed the compiler to
    not recognize the need to re-load the data in case it had it
    cached in some register, while the latter was overly
    destructive.

    The types of the local copies of the old and new values were
    incorrect (the types of the pointed-to variables should be used
    here, to make sure the respective old/new variable types are
    compatible).

    The __dummy/__junk variables were pointless, given that local
    copies of the inputs already existed (and can hence be used for
    discarded outputs).

    The 32-bit variant of cmpxchg_double_local() referenced
    cmpxchg16b_local().

    At once also:

    - change the return value type to what it really is: 'bool'
    - unify 32- and 64-bit variants
    - abstract out the common part of the 'normal' and 'local' variants

    Signed-off-by: Jan Beulich
    Cc: Christoph Lameter
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Link: http://lkml.kernel.org/r/4F01F12A020000780006A19B@nat28.tlf.novell.com
    Signed-off-by: Ingo Molnar

    Jan Beulich
     
  • Merge reason: Update from -rc4 to -rc7.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     

27 Dec, 2011

6 commits

  • Signed-off-by: Avi Kivity
    Signed-off-by: Gleb Natapov
    Signed-off-by: Avi Kivity

    Avi Kivity
     
  • Add a helper function that emulates the RDPMC instruction operation.

    Signed-off-by: Avi Kivity
    Signed-off-by: Gleb Natapov
    Signed-off-by: Avi Kivity

    Avi Kivity
     
  • Use perf_events to emulate an architectural PMU, version 2.

    Based on PMU version 1 emulation by Avi Kivity.

    [avi: adjust for cpuid.c]
    [jan: fix anonymous field initialization for older gcc]

    Signed-off-by: Gleb Natapov
    Signed-off-by: Jan Kiszka
    Signed-off-by: Avi Kivity

    Gleb Natapov
     
  • * tip/perf/core: (66 commits)
    perf, x86: Expose perf capability to other modules
    perf, x86: Implement arch event mask as quirk
    x86, perf: Disable non available architectural events
    jump_label: Provide jump_label_key initializers
    jump_label, x86: Fix section mismatch
    perf, core: Rate limit perf_sched_events jump_label patching
    perf: Fix enable_on_exec for sibling events
    perf: Remove superfluous arguments
    perf, x86: Prefer fixed-purpose counters when scheduling
    perf, x86: Fix event scheduler for constraints with overlapping counters
    perf, x86: Implement event scheduler helper functions
    perf: Avoid a useless pmu_disable() in the perf-tick
    x86/tools: Add decoded instruction dump mode
    x86: Update instruction decoder to support new AVX formats
    x86/tools: Fix insn_sanity message outputs
    x86/tools: Fix instruction decoder message output
    x86: Fix instruction decoder to handle grouped AVX instructions
    x86/tools: Fix Makefile to build all test tools
    perf test: Soft errors shouldn't stop the "Validate PERF_RECORD_" test
    perf test: Validate PERF_RECORD_ events and perf_sample fields
    ...

    Signed-off-by: Avi Kivity

    * commit 'b3d9468a8bd218a695e3a0ff112cd4efd27b670a': (66 commits)
    perf, x86: Expose perf capability to other modules
    perf, x86: Implement arch event mask as quirk
    x86, perf: Disable non available architectural events
    jump_label: Provide jump_label_key initializers
    jump_label, x86: Fix section mismatch
    perf, core: Rate limit perf_sched_events jump_label patching
    perf: Fix enable_on_exec for sibling events
    perf: Remove superfluous arguments
    perf, x86: Prefer fixed-purpose counters when scheduling
    perf, x86: Fix event scheduler for constraints with overlapping counters
    perf, x86: Implement event scheduler helper functions
    perf: Avoid a useless pmu_disable() in the perf-tick
    x86/tools: Add decoded instruction dump mode
    x86: Update instruction decoder to support new AVX formats
    x86/tools: Fix insn_sanity message outputs
    x86/tools: Fix instruction decoder message output
    x86: Fix instruction decoder to handle grouped AVX instructions
    x86/tools: Fix Makefile to build all test tools
    perf test: Soft errors shouldn't stop the "Validate PERF_RECORD_" test
    perf test: Validate PERF_RECORD_ events and perf_sample fields
    ...

    Avi Kivity
     
  • Move the mmu code in kvm_arch_vcpu_init() to kvm_mmu_create()

    Signed-off-by: Xiao Guangrong
    Signed-off-by: Avi Kivity

    Xiao Guangrong
     
  • Intel latest cpu add 6 new features, refer http://software.intel.com/file/36945
    The new feature cpuid listed as below:

    1. FMA CPUID.EAX=01H:ECX.FMA[bit 12]
    2. MOVBE CPUID.EAX=01H:ECX.MOVBE[bit 22]
    3. BMI1 CPUID.EAX=07H,ECX=0H:EBX.BMI1[bit 3]
    4. AVX2 CPUID.EAX=07H,ECX=0H:EBX.AVX2[bit 5]
    5. BMI2 CPUID.EAX=07H,ECX=0H:EBX.BMI2[bit 8]
    6. LZCNT CPUID.EAX=80000001H:ECX.LZCNT[bit 5]

    This patch expose these features to guest.
    Among them, FMA/MOVBE/LZCNT has already been defined, MOVBE/LZCNT has
    already been exposed.

    This patch defines BMI1/AVX2/BMI2, and exposes FMA/BMI1/AVX2/BMI2 to guest.

    Signed-off-by: Liu, Jinsong
    Signed-off-by: Avi Kivity

    Liu, Jinsong