18 Oct, 2007

40 commits

  • This patch:
    - makes .gitignore files visible to git
    - makes arch/x86/kernel/vsyscall_32.lds and arch/i386/boot invisible

    Signed-off-by: Denis V. Lunev
    Signed-off-by: Thomas Gleixner

    Denis V. Lunev
     
  • Almost identical except for the extra DR_LEN_8 and the different
    DR_CONTROL_RESERVED defines.

    Signed-off-by: Thomas Gleixner

    Conflicts:

    include/asm-x86/Kbuild

    Thomas Gleixner
     
  • 32bit has an extra UNW_FP define, which does not hurt.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Mostly the same. Make the few exceptions conditional.

    Signed-off-by: Thomas Gleixner

    Conflicts:

    include/asm-x86/types_32.h

    Thomas Gleixner
     
  • Same file, except for whitespace, comment formatting.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Same file, except for the 64bit PREAMBLE_SIZE define.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Same file, except for whitespace, comment formatting and the
    .long/.quad delta which can be solved by a define.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Same file, except for the extra 64bit MAP_32BIT define, which does not hurt
    for 32 bit compiles.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • The 32bit D(n) debug addon can be made exclusive for 32 bit compiles.
    Otherwise all the same.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • The 64 bit variant has additional function prototypes which do no harm
    for 32 bit.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Same file, except for whitespace and comment formatting.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Same file, except for whitespace, comment formatting and:

    32-bit: if((unsigned int) addr >= (unsigned int) high_memory)
    64-bit: if((unsigned long) addr >= (unsigned long) high_memory)

    where the latter can be used safely for both.

    Signed-off-by: Thomas Gleixner

    Conflicts:
    include/asm-x86/floppy_32.h
    include/asm-x86/floppy_64.h

    Thomas Gleixner
     
  • commit 554d284ba90bc2306c31e5363789f05c320969c3 added _GPF_NORETRY
    to floppy_64.h to prevent OOM killer on floppy DMA allocations.

    Apply the same to the 32 bit variant.

    Found during the attempt to unify the _32/_64 variants. Seperate commit
    to document the resulting code change.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Same file, except for whitespace, comment formatting and the two variants
    of fb_is_primary_device()

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Same file, except for whitespace, comment formatting and:

    32-bit: unsigned long *virt_addr = va;
    64-bit: unsigned int *virt_addr = va;

    Both can be safely replaced by:
    u32 i, *virt_addr = va;

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Unification, so we have these things in one file.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Same file, except for whitespace, comment formatting and the extra
    function prototype usc_tsc_delay() in _32.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Same file, except for whitespace, comment formatting and the extra
    defines in _64, which are conditional on VSMP anyway.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Same file, except for whitespace, comment formatting and the extra
    DEBUG_PAGE_ALLOC function in _32.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Same file, except for whitespace, comment formatting and the
    AT_SYSINFO define for 32bit

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Same file, except for whitespace, comment formatting and the
    usage of wbinvd() instead of asm volatile("wbinvd":::"memory"), which is
    the same.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Scripted unification.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Merge errno.h, resource.h, rtc.h, sections.h, serial.h and sockios.h,
    where i386 and x86_64 have no or only trivial comment/include guard
    differences.

    Build tested on both 32-bit and 64-bit, and booted on 64-bit.

    [tglx: fixup Kbuild as well]

    Signed-off-by: Roland Dreier
    Signed-off-by: Thomas Gleixner

    Roland Dreier
     
  • Merge 32/64-bit headers that simply redirect to asm-generic

    [tglx: fixup Kbuild as well]

    Signed-off-by: Brian Gerst
    Signed-off-by: Thomas Gleixner

    Brian Gerst
     
  • I can't see the reason ". = VDSO_PRELINK + 0x900;" was ever there in
    the linker script for the x86_64 vDSO. I can't find anything that
    depends on this magic offset, or that should care at all about the
    particular location of of the .data section (all from vvar.c) in the
    vDSO image. If it is really desireable to place .data at 0x900, then it
    should be after all the other sections so they fill in the space up to
    0x900.

    This removes the 0x900 magic and cleans up the output sections generally
    in the vDSO linker script. This saves a few hundred bytes in the size
    of the vDSO file, bringing it back well under 4kb total so that its vma
    only needs one page.

    Signed-off-by: Roland McGrath
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Roland McGrath
     
  • convert mm_context_t semaphore to a mutex.

    Signed-off-by: Luiz Fernando N. Capitulino
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Luiz Fernando N. Capitulino
     
  • Add support for and use the multi-byte NOPs recently documented to be
    available on all PentiumPro and later processors.

    This patch only applies cleanly on top of the "x86: misc.
    constifications" patch sent earlier.

    [ tglx: arch/x86 adaptation ]

    Signed-off-by: Jan Beulich
    Signed-off-by: Andi Kleen
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    arch/x86/kernel/alternative.c | 23 ++++++++++++++++++++++-
    include/asm-x86/processor_32.h | 22 ++++++++++++++++++++++
    include/asm-x86/processor_64.h | 22 ++++++++++++++++++++++
    3 files changed, 66 insertions(+), 1 deletion(-)

    Jan Beulich
     
  • Spotted by Chuck Ebbert

    [ tglx: arch/x86 adaptation ]

    Signed-off-by: Andi Kleen
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Andi Kleen
     
  • Oleg Nesterov pointed out that the set_fs() calls in setup_frame()
    and setup_rt_frame() were superfluous.

    [ tglx: arch/x86 adaptation ]

    Signed-off-by: Ingo Molnar
    Signed-off-by: Andi Kleen
    Cc: Oleg Nesterov
    Cc: Chuck Ebbert
    Signed-off-by: Andrew Morton
    Signed-off-by: Thomas Gleixner

    Ingo Molnar
     
  • [ tglx: arch/x86 adaptation ]

    Signed-off-by: Luiz Fernando N. Capitulino
    Signed-off-by: Andi Kleen
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Luiz Fernando N. Capitulino
     
  • [ tglx: arch/x86 adaptation ]

    Signed-off-by: Andi Kleen
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Andi Kleen
     
  • Normally we will have two segment not connected pin pin0, and pin after
    15...

    So we need to print out "not connected\n" for previous segment, before
    printing out connected pins info...

    Signed-off-by: Yinghai Lu
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton

    Yinghai Lu
     
  • improve early fault output.

    old format:

    Int 14: CR2 010001e3 err 00000002 EIP c011f2f9 CS 00000060 flags 00010046
    Stack: c073695e c0791c10 00000000 ffffffff 00000000 01000000 00001000 c0791c10

    new format:

    BUG: Int 14: CR2 010001e3
    EDI c1000000 ESI c0693c10 EBP c0637f9c ESP c0637f08
    EBX 00000000 EDX 0000000e ECX 00000000 EAX 010001e3
    err 00000002 EIP c0123119 CS 00000060 flg 00010046
    Stack: c064d589 c0693000 00000000 c0637f60 00c001e3 01000000 00038000 00000163
    00000000 00000163 00000000 ffffffff 00038000 00000000 00000000 00001000
    00001000 00000000 c0637f88 c06509be c0a2ae60 00001000 00001000 00000000

    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Ingo Molnar
     
  • It doesn't seem to make sense to hide these, even if their counts
    can't change at the point in time they're being displayed.

    [ tglx: arch/x86 adaptation ]

    Signed-off-by: Jan Beulich
    Signed-off-by: Andi Kleen
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Jan Beulich
     
  • Add missing IRQs and IRQ descriptions to /proc/interrupts.

    /proc/interrupts is most useful when it displays every IRQ vector in use by
    the system, not just those somebody thought would be interesting.

    This patch inserts the following vector displays to the i386 and x86_64
    platforms, as appropriate:

    rescheduling interrupts
    TLB flush interrupts
    function call interrupts
    thermal event interrupts
    threshold interrupts
    spurious interrupts

    A threshold interrupt occurs when ECC memory correction is occuring at too
    high a frequency. Thresholds are used by the ECC hardware as occasional
    ECC failures are part of normal operation, but long sequences of ECC
    failures usually indicate a memory chip that is about to fail.

    Thermal event interrupts occur when a temperature threshold has been
    exceeded for some CPU chip. IIRC, a thermal interrupt is also generated
    when the temperature drops back to a normal level.

    A spurious interrupt is an interrupt that was raised then lowered by the
    device before it could be fully processed by the APIC. Hence the apic sees
    the interrupt but does not know what device it came from. For this case
    the APIC hardware will assume a vector of 0xff.

    Rescheduling, call, and TLB flush interrupts are sent from one CPU to
    another per the needs of the OS. Typically, their statistics would be used
    to discover if an interrupt flood of the given type has been occuring.

    AK: merged v2 and v4 which had some more tweaks
    AK: replace Local interrupts with Local timer interrupts
    AK: Fixed description of interrupt types.

    [ tglx: arch/x86 adaptation ]
    [ mingo: small cleanup ]

    Signed-off-by: Joe Korty
    Signed-off-by: Andi Kleen
    Cc: Tim Hockin
    Cc: Andi Kleen
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Signed-off-by: Andrew Morton
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Joe Korty
     
  • Typically the oops first lines look like this:

    BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000
    printing eip:
    c049dfbd
    *pde = 00000000
    Oops: 0002 [#1]
    PREEMPT SMP
    ...

    Such output is gained with some ugly if (!nl) printk("\n"); code and
    besides being a waste of lines, this is also annoying to read. The
    following output looks better (and it is how it looks on x86_64):

    BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000
    printing eip: c049dfbd *pde = 00000000
    Oops: 0002 [#1] PREEMPT SMP
    ...

    [ tglx: arch/x86 adaptation ]

    Signed-off-by: Pavel Emelyanov
    Signed-off-by: Andrew Morton
    Signed-off-by: Andi Kleen
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Pavel Emelyanov
     
  • Some BIOSes set the C1E flag only on the second core. Print a warning so
    the Firmware Toolkit can check for it.

    mingo: fix C1E build bug on 32-bit

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar

    Thomas Gleixner
     
  • Call cache_add_dev() from cache_sysfs_init() explicitly, instead of
    referencing the CPU notifier callback directly from generic startup
    code. Looks cleaner (to me at least) this way, and also makes it
    possible to use other tricks to replace __cpuinit{data} annotations, as
    recently discussed on this list.

    Signed-off-by: Satyam Sharma
    Cc: Andi Kleen
    Cc: Venkatesh Pallipadi
    Signed-off-by: Andrew Morton
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Satyam Sharma
     
  • The dmi const-ification missed acer_cpu_freq_pst. Fix it.

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar

    Thomas Gleixner
     
  • The additional struct member of user_desc can be made conditional for
    64 bit compiles.

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar

    Thomas Gleixner