27 Jun, 2006

40 commits

  • This patch removes the devfs code from the init/ directory.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This is the first patch in a series of patches that removes devfs
    support from the kernel. This patch removes the core devfs code, and
    its private header file.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This reverts commit c7b2eff059fcc2d1b7085ee3d84b79fd657a537b.

    Hugh Dickins explains:

    "It seems too little tested: "losetup -d /dev/loop0" fails with
    EINVAL because nothing sets lo_thread; but even when you patch
    loop_thread() to set lo->lo_thread = current, it can't survive
    more than a few dozen iterations of the loop below (with a tmpfs
    mounted on /tst):

    j=0
    cp /dev/zero /tst
    while :
    do
    let j=j+1
    echo "Doing pass $j"
    losetup /dev/loop0 /tst/zero
    mkfs -t ext2 -b 1024 /dev/loop0 >/dev/null 2>&1
    mount -t ext2 /dev/loop0 /mnt
    umount /mnt
    losetup -d /dev/loop0
    done

    it collapses with failed ioctl then BUG_ON(!bio).

    I think the original lo_done completion was more subtle and safe
    than the kthread conversion has allowed for."

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (40 commits)
    kbuild: trivial fixes in Makefile
    kbuild: adding symbols in Kconfig and defconfig to TAGS
    kbuild: replace abort() with exit(1)
    kbuild: support for %.symtypes files
    kbuild: fix silentoldconfig recursion
    kbuild: add option for stripping modules while installing them
    kbuild: kill some false positives from modpost
    kbuild: export-symbol usage report generator
    kbuild: fix make -rR breakage
    kbuild: append -dirty for updated but uncommited changes
    kbuild: append git revision for all untagged commits
    kbuild: fix module.symvers parsing in modpost
    kbuild: ignore make's built-in rules & variables
    kbuild: bugfix with initramfs
    kbuild: modpost build fix
    kbuild: check license compatibility when building modules
    kbuild: export-type enhancement to modpost.c
    kbuild: add dependency on kernel.release to the package targets
    kbuild: `make kernelrelease' speedup
    kconfig: KCONFIG_OVERWRITECONFIG
    ...

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    [CRYPTO] tcrypt: Forbid tcrypt from being built-in
    [CRYPTO] aes: Add wrappers for assembly routines
    [CRYPTO] tcrypt: Speed benchmark support for digest algorithms
    [CRYPTO] tcrypt: Return -EAGAIN from module_init()
    [CRYPTO] api: Allow replacement when registering new algorithms
    [CRYPTO] api: Removed const from cra_name/cra_driver_name
    [CRYPTO] api: Added cra_init/cra_exit
    [CRYPTO] api: Fixed incorrect passing of context instead of tfm
    [CRYPTO] padlock: Rearrange context structure to reduce code size
    [CRYPTO] all: Pass tfm instead of ctx to algorithms
    [CRYPTO] digest: Remove unnecessary zeroing during init
    [CRYPTO] aes-i586: Get rid of useless function wrappers
    [CRYPTO] digest: Add alignment handling
    [CRYPTO] khazad: Use 32-bit reads on key

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/dtor/input:
    Input: iforce - remove some pointless casts
    Input: psmouse - add support for Intellimouse 4.0
    Input: atkbd - fix HANGEUL/HANJA keys
    Input: fix misspelling of Hangeul key
    Input: via-pmu - add input device support
    Input: rearrange exports
    Input: fix formatting to better follow CodingStyle
    Input: reset name, phys and uniq when unregistering
    Input: return correct size when reading modalias attribute
    Input: change my e-mail address in MAINTAINERS file
    Input: fix potential overflows in driver/input/keyboard
    Input: fix potential overflows in driver/input/touchscreen
    Input: fix potential overflows in driver/input/joystick
    Input: fix potential overflows in driver/input/mouse
    Input: fix accuracy of fixp-arith.h
    Input: iforce - use ENOSPC instead of ENOMEM
    Input: constify drivers/char/keyboard.c

    Linus Torvalds
     
  • Remove board specific base RAM conditionals from page_offset.h
    With the Kconfig time configurable RAM setup none of this is required.
    It is all based on the Kconfig (CONFIG_RAMBASE) option now.

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
    V4L/DVB (4227): Update this driver for recent header file movement.
    V4L/DVB (4223): Add V4L2_CID_MPEG_STREAM_VBI_FMT control
    V4L/DVB (4222): Always switch tuner mode when calling VIDIOC_S_FREQUENCY.
    V4L/DVB (4221): Add HM12 YUV format define.
    V4L/DVB (4219): Av7110: analog sound output of DVB-C rev 2.3
    V4L/DVB (4217): Fix a misplaced closing bracket/else, which caused swzigzag not to be called
    V4L/DVB (4215): Make VIDEO_CX88_BLACKBIRD a separate build option
    V4L/DVB (4214): Make VIDEO_CX2341X a selectable build option
    V4L/DVB (4213): Cx88: cleanups
    V4L/DVB (4211): Fix an Oops for all fe that have get_frontend_algo == NULL

    Linus Torvalds
     
  • * x86-64: (83 commits)
    [PATCH] x86_64: x86_64 stack usage debugging
    [PATCH] x86_64: (resend) x86_64 stack overflow debugging
    [PATCH] x86_64: msi_apic.c build fix
    [PATCH] x86_64: i386/x86-64 Add nmi watchdog support for new Intel CPUs
    [PATCH] x86_64: Avoid broadcasting NMI IPIs
    [PATCH] x86_64: fix apic error on bootup
    [PATCH] x86_64: enlarge window for stack growth
    [PATCH] x86_64: Minor string functions optimizations
    [PATCH] x86_64: Move export symbols to their C functions
    [PATCH] x86_64: Standardize i386/x86_64 handling of NMI_VECTOR
    [PATCH] x86_64: Fix modular pc speaker
    [PATCH] x86_64: remove sys32_ni_syscall()
    [PATCH] x86_64: Do not use -ffunction-sections for modules
    [PATCH] x86_64: Add cpu_relax to apic_wait_icr_idle
    [PATCH] x86_64: adjust kstack_depth_to_print default
    [PATCH] i386/x86-64: adjust /proc/interrupts column headings
    [PATCH] x86_64: Fix race in cpu_local_* on preemptible kernels
    [PATCH] x86_64: Fix fast check in safe_smp_processor_id
    [PATCH] x86_64: x86_64 setup.c - printing cmp related boottime information
    [PATCH] i386/x86-64/ia64: Move polling flag into thread_info_status
    ...

    Manual resolve of trivial conflict in arch/i386/kernel/Makefile

    Linus Torvalds
     
  • Applies to git & 2.6.17-rc6 after CONFIG_DEBUG_STACKOVERFLOW patch

    uses same stack-zeroing mechanism as on i386 to discover maximum stack
    excursions.

    Signed-off-by: Eric Sandeen
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Eric Sandeen
     
  • Intel now has support for Architectural Performance Monitoring Counters
    ( Refer to IA-32 Intel Architecture Software Developer's Manual
    http://www.intel.com/design/pentium4/manuals/253669.htm ). This
    feature is present starting from Intel Core Duo and Intel Core Solo processors.

    What this means is, the performance monitoring counters and some performance
    monitoring events are now defined in an architectural way (using cpuid).
    And there will be no need to check for family/model etc for these architectural
    events.

    Below is the patch to use this performance counters in nmi watchdog driver.
    Patch handles both i386 and x86-64 kernels.

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Venkatesh Pallipadi
     
  • On some i386/x86_64 systems, sending an NMI IPI as a broadcast will
    reset the system. This seems to be a BIOS bug which affects machines
    where one or more cpus are not under OS control. It occurs on HT
    systems with a version of the OS that is not compiled without HT
    support. It also occurs when a system is booted with max_cpus=n where
    2 < cpus known to the BIOS. The fix is to always send NMI IPI as
    a mask instead of as a broadcast.

    Signed-off-by: Keith Owens
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Keith Owens
     
  • x86_64 and i386 behave inconsistently when sending an IPI on vector 2
    (NMI_VECTOR). Make both behave the same, so IPI 2 is sent as NMI.

    The crash code was abusing send_IPI_allbutself() by passing a code
    instead of a vector, it only worked because crash knew about the
    internal code of send_IPI_allbutself(). Change crash to use NMI_VECTOR
    instead, and remove the comment about how crash was abusing the function.

    This patch is a pre-requisite for fixing the problem where sending an
    IPI as NMI would reboot some Dell Xeon systems. I cannot fix that
    problem while crash continus to abuse send_IPI_allbutself().

    It also removes the inconsistency between i386 and x86_64 for
    NMI_VECTOR. That will simplify all the RAS code that needs to bring
    all the cpus to a clean stop, even when one or more cpus are spinning
    disabled.

    Signed-off-by: Keith Owens
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Keith Owens
     
  • This one is adding a cpu_relax() that already existed in the i386 version.

    Signed-off-by: Andreas Mohr
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Andreas Mohr
     
  • When a process changes CPUs while doing the non atomic cpu_local_*
    operations it might operate on the local_t of a different CPUs.

    Fix that by disabling preemption.

    Pointed out by Christopher Lameter

    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • During some profiling I noticed that default_idle causes a lot of
    memory traffic. I think that is caused by the atomic operations
    to clear/set the polling flag in thread_info. There is actually
    no reason to make this atomic - only the idle thread does it
    to itself, other CPUs only read it. So I moved it into ti->status.

    Converted i386/x86-64/ia64 for now because that was the easiest
    way to fix ACPI which also manipulates these flags in its idle
    function.

    Cc: Nick Piggin
    Cc: Tony Luck
    Cc: Len Brown
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • Add support for mce threshold registers found in future
    AMD family 0x10 processors. Backwards compatible with
    family 0xF hardware.

    AK: fixed build on !SMP

    Signed-off-by: Jacob Shin
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Jacob Shin
     
  • Get rid of /sys/devices/system/threshold directory and move
    mce_amd thresholding files into the machine sysfs directory --
    /sys/devices/system/machinecheck.

    AK: Fixed warning

    Signed-off-by: Jacob Shin
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Jacob Shin
     
  • Add support for extended APIC LVT found in future AMD processors.

    Signed-off-by: Jacob Shin
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Jacob Shin
     
  • This patch adds the X86_FEATURE_RDTSCP #define, so that kernel code can
    check for the feature easily and also fixes the location of the "rdtscp"
    string in the cpuinfo tables.

    Signed-off-by: Vojtech Pavlik
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Vojtech Pavlik
     
  • Rename oem_force_hpet_timer to apic_is_clustered_box, to give the
    function a better fitting name - it really isn't at all about HPET.

    Signed-off-by: Vojtech Pavlik
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Vojtech Pavlik
     
  • In timekeeping code, one often does need to use conversion constants. Naming
    these leads to code that's easier to understand, showing the reader between
    which units the conversion is made.

    Signed-off-by: Vojtech Pavlik
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Vojtech Pavlik
     
  • Most of the fields of cpuinfo are defined in cpuinfo_x86 structure.
    This patch moves the phys_proc_id and cpu_core_id for each processor to
    cpuinfo_x86 structure as well.

    Signed-off-by: Rohit Seth
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Rohit Seth
     
  • This patch hooks Calgary into the build, the x86-64 IOMMU
    initialization paths, and introduces the Calgary specific bits. The
    implementation draws inspiration from both PPC (which has support for
    the same chip but requires firmware support which we don't have on
    x86-64) and gart. Calgary is different from gart in that it support a
    translation table per PHB, as opposed to the single gart aperture.

    Changes from previous version:
    * Addition of boot-time disablement for bus-level translation/isolation
    (e.g, enable userspace DMA for things like X)
    * Usage of newer IOMMU abstraction functions

    Signed-off-by: Muli Ben-Yehuda
    Signed-off-by: Jon Mason
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Jon Mason
     
  • This patch creates a new interface for IOMMUs by adding a centralized
    location for IOMMU allocation (for translation tables/apertures) and
    IOMMU initialization. In creating these, code was moved around for
    abstraction, uniformity, and consiceness.

    Take note of the move of the iommu_setup bootarg parsing code to
    __setup. This is enabled by moving back the location of the aperture
    allocation/detection to mem init (which while ugly, was already the
    location of the swiotlb_init).

    While a slight departure from the previous patch, I belive this provides
    the true intention of the previous versions of the patch which changed
    this code. It also makes the addition of the upcoming calgary code much
    cleaner than previous patches.

    [AK: Removed one broken change. iommu_setup still has to be called
    early]

    Signed-off-by: Muli Ben-Yehuda
    Signed-off-by: Jon Mason
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Jon Mason
     
  • Based on Andi Kleen's comments on the original Calgary patch, move
    valid_dma_direction into the calling functions.

    Signed-off-by: Muli Ben-Yehuda
    Signed-off-by: Jon Mason
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Jon Mason
     
  • swiotlb relies on the gart specific iommu_aperture variable to know if
    we discovered a hardware IOMMU before swiotlb initialization. Introduce
    iommu_detected to do the same thing, but in a HW IOMMU neutral manner,
    in preparation for adding the Calgary HW IOMMU.

    Signed-Off-By: Muli Ben-Yehuda
    Signed-Off-By: Jon Mason
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Jon Mason
     
  • pud_offset_k() equivalent to pud_offset() now. Pointed out by Jan Beulich
    Similar for __pud_offset_ok, which needs a small change in the callers.

    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • Add proper conditionals to be able to build with CONFIG_MODULES=n.

    Signed-off-by: Jan Beulich
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Jan Beulich
     
  • If no unwinding is possible at all for a certain exception instance,
    fall back to the old style call trace instead of not showing any trace
    at all.

    Also, allow setting the stack trace mode at the command line.

    Signed-off-by: Jan Beulich
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Jan Beulich
     
  • To increase the usefulness of reliable stack unwinding, this adds CFI
    unwind annotations to many low-level i386 routines.

    Signed-off-by: Jan Beulich
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Jan Beulich
     
  • These are the i386-specific pieces to enable reliable stack traces. This is
    going to be even more useful once CFI annotations get added to he assembly
    code, namely to entry.S.

    Signed-off-by: Jan Beulich
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Jan Beulich
     
  • These are the x86_64-specific pieces to enable reliable stack traces. The
    only restriction with this is that it currently cannot unwind across the
    interrupt->normal stack boundary, as that transition is lacking proper
    annotation.

    Signed-off-by: Jan Beulich
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Jan Beulich
     
  • These are the generic bits needed to enable reliable stack traces based
    on Dwarf2-like (.eh_frame) unwind information. Subsequent patches will
    enable x86-64 and i386 to make use of this.

    Thanks to Andi Kleen and Ingo Molnar, who pointed out several possibilities
    for improvement.

    Signed-off-by: Jan Beulich
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Jan Beulich
     
  • - Rename the GART_IOMMU option to IOMMU to make clear it's not
    just for AMD
    - Rewrite the help text to better emphatise this fact
    - Make it an embedded option because too many people get it wrong.

    To my astonishment I discovered the aacraid driver tests this
    symbol directly. This looks quite broken to me - it's an internal
    implementation detail of the PCI DMA API. Can the maintainer
    please clarify what this test was intended to do?

    Cc: linux-scsi@vger.kernel.org
    Cc: alan@redhat.com
    Cc: markh@osdl.org
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • include/asm-x86_64/gart-mapping.h is only ever used in
    arch/x86_64/kernel/setup.c and none of its contents are referenced.
    Looks to be leftover cruft not removed in the dma_ops patch.

    Signed-off-by: Jon Mason
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Jon Mason
     
  • Use inline code bitmaps
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • Early development of x86-64 Linux was in CVS, but that hasn't been
    the case for a long time now. Remove the obsolete $Id$s.

    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • Misc header cleanup for nmi watchdog.

    Signed-off-by: Don Zickus
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Don Zickus
     
  • Sometimes e.g. with crashme the compat layer warnings can be noisy.
    Add a way to turn them off by gating all output through compat_printk
    that checks a global sysctl. The default is not changed.

    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Andi Kleen