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 patch removes the devfs code from the fs/partitions/ directory.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Removes the Documentaiton/filesystems/devfs/ 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 was spotted by coverity #id 1300. Since the array has only four
    elements, we should just use those four.

    Signed-off-by: Eric Sesterhenn
    Acked-by: Sean Hefty
    Signed-off-by: Linus Torvalds

    Eric Sesterhenn
     
  • 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
     
  • Change to using a configurable RAM setup in startup code. This cleans up
    the whole RAM base/sizing issue, and removes a lot of board specific code.

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

    Greg Ungerer
     
  • Remove the fixed RAM configurations for each board type from the
    linker script. Replace with simple defines usng the flexible RAM
    configuration options. This cleans out of lot of board specific
    munging of addresses.

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

    Greg Ungerer
     
  • Reworked the way RAM regions are defined. Instead of coding all the
    variations for each board type we now just configure RAM base and size
    in the usual Kconfig setup. This much simplifies the code, and makes it
    a lot more flexible when setting up new boards or board varients.

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

    Greg Ungerer
     
  • Clean out unused variable definitions from 68328 start up code.
    Also use a more appropriate start address for the case of relocating
    the kernel code to RAM (from ROM/flash).

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

    Greg Ungerer
     
  • __ramvec has been removed from the linker script. The vector base
    address is defined as a configurable option, use that. Remove its
    use from the 68328/pilot startup code.

    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
     
  • Take two, now without spurious whitespace :( Applies to git & 2.6.17-rc6

    CONFIG_DEBUG_STACKOVERFLOW existed for x86_64 in 2.4, but seems to have gone AWOL in 2.6.

    I've pretty much just copied this over from the 2.4 code, with
    appropriate tweaks for the 2.6 kernel, plus a bugfix. I'd personally
    rather see it printed out the way other arches do it, i.e.
    bytes-remaining-until-overflow, rather than having to do the subtraction
    yourself. Also, only 128 bytes remaining seems awfully late to issue a
    warning. But I'll start here :)

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

    Eric Sandeen
     
  • CC drivers/pci/msi-apic.o
    In file included from include/asm/msi.h:11,
    from drivers/pci/msi.h:71,
    from drivers/pci/msi-apic.c:8:
    include/asm/smp.h:103: error: syntax error before '->' token

    akpm: nasty. It appears to be

    static inline unsigned int cpu_mask_to_apicid(cpumask_t cpumask)

    conflicting with include/asm-x86_64/mach_apic.h's

    #define cpu_mask_to_apicid (genapic->cpu_mask_to_apicid)

    And I don't know which patch in rc4-mm1 triggered this.

    Fixing this in the .c file seems wrong.

    Including asm/smp.h instead of linux/smp.h seems wrong too. Need that
    .config.

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

    Christian Kujau
     
  • 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
     
  • Appended patch fixes the "APIC error on CPUX: 00(40)" observed during bootup.

    From SDM Vol-3A "Valid Interrupt Vectors" section:
    "When an illegal vector value (0-15) is written to an LVT entry
    and the delivery mode is Fixed, the APIC may signal an illegal
    vector error, with out regard to whether the mask bit is set
    or whether an interrupt is actually seen on input."

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

    Siddha, Suresh B
     
  • Allow stack growth so the 'enter' instruction works. Also
    fixes problem in compat_sys_kexec_load() which could allocate
    more than 128 bytes using compat_alloc_user_space().

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

    Chuck Ebbert
     
  • - Use tail call from clear_user to __clear_user to save some code size
    - Use standard memcpy for forward memmove

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

    Andi Kleen
     
  • Only exports for assembler files are left in x8664_ksyms.c

    Originally inspired by a patch from Al Viro
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • 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
     
  • It turned out that the following change is needed when the speaker is
    compiled as a module.

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

    Piotr Kaczuba
     
  • This patch removes the no longer used sys32_ni_syscall()

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

    Adrian Bunk
     
  • Currently CONFIG_REORDER uses -ffunction-sections for all code;
    however, creating a separate section for each function is not useful
    for modules and just adds bloat. Moving this option from CFLAGS to
    CFLAGS_KERNEL shrinks module object files (e.g., the module tree for a
    kernel built with most drivers as modules shrinked from 54M to 46M),
    and decreases the number of sysfs files in /sys/module/*/sections/
    directories.

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

    Sergey Vlasov
     
  • 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
     
  • Defaulting to a value not evenly divisible by four makes little sense,
    as four values are displayed per line (and hence the rest of the line
    would otherwise be wasted).

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

    Jan Beulich
     
  • With (significantly) more than 10 CPUs online, the column headings
    drifted off the positions of the column contents with growing CPU
    numbers.

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

    Jan Beulich
     
  • 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
     
  • The APIC ID returned by hard_smp_processor_id can be beyond
    NR_CPUS and then overflow the x86_cpu_to_apic[] array.

    Add a check for overflow. If it happens then the slow loop below
    will catch.

    Bug pointed out by Doug Thompson

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

    Andi Kleen
     
  • Getting phys_proc_id and cpu_core_id information to be printed at boot
    time for AMD processors. Also matching the Node related boot time
    information that gets printed for Intel and AMD processors for NUMA
    configurations.

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

    Rohit Seth
     
  • 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
     
  • No red zone possible/needed on the alternative stack.

    It caused confusion.

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

    Andi Kleen
     
  • - Use DMA_32BIT_MASK

    - Use %z for size_t

    - 80-cols

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

    Andrew Morton
     
  • - fix an off-by-one error in phys_pmd_init()
    - prevent phys_pmd_init() from removing mappings established earlier
    - fix the direct mapping early printk to in fact show the end of the range
    - remove an apparently orphan comment

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

    Jan Beulich