02 Mar, 2010

1 commit

  • * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (100 commits)
    ARM: Eliminate decompressor -Dstatic= PIC hack
    ARM: 5958/1: ARM: U300: fix inverted clk round rate
    ARM: 5956/1: misplaced parentheses
    ARM: 5955/1: ep93xx: move timer defines into core.c and document
    ARM: 5954/1: ep93xx: move gpio interrupt support to gpio.c
    ARM: 5953/1: ep93xx: fix broken build of clock.c
    ARM: 5952/1: ARM: MM: Add ARM_L1_CACHE_SHIFT_6 for handle inside each ARCH Kconfig
    ARM: 5949/1: NUC900 add gpio virtual memory map
    ARM: 5948/1: Enable timer0 to time4 clock support for nuc910
    ARM: 5940/2: ARM: MMCI: remove custom DBG macro and printk
    ARM: make_coherent(): fix problems with highpte, part 2
    MM: Pass a PTE pointer to update_mmu_cache() rather than the PTE itself
    ARM: 5945/1: ep93xx: include correct irq.h in core.c
    ARM: 5933/1: amba-pl011: support hardware flow control
    ARM: 5930/1: Add PKMAP area description to memory.txt.
    ARM: 5929/1: Add checks to detect overlap of memory regions.
    ARM: 5928/1: Change type of VMALLOC_END to unsigned long.
    ARM: 5927/1: Make delimiters of DMA area globally visibly.
    ARM: 5926/1: Add "Virtual kernel memory..." printout.
    ARM: 5920/1: OMAP4: Enable L2 Cache
    ...

    Fix up trivial conflict in arch/arm/mach-mx25/clock.c

    Linus Torvalds
     

01 Mar, 2010

1 commit

  • …el/git/tip/linux-2.6-tip

    * 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (28 commits)
    ftrace: Add function names to dangling } in function graph tracer
    tracing: Simplify memory recycle of trace_define_field
    tracing: Remove unnecessary variable in print_graph_return
    tracing: Fix typo of info text in trace_kprobe.c
    tracing: Fix typo in prof_sysexit_enable()
    tracing: Remove CONFIG_TRACE_POWER from kernel config
    tracing: Fix ftrace_event_call alignment for use with gcc 4.5
    ftrace: Remove memory barriers from NMI code when not needed
    tracing/kprobes: Add short documentation for HAVE_REGS_AND_STACK_ACCESS_API
    s390: Add pt_regs register and stack access API
    tracing/kprobes: Make Kconfig dependencies generic
    tracing: Unify arch_syscall_addr() implementations
    tracing: Add notrace to TRACE_EVENT implementation functions
    ftrace: Allow to remove a single function from function graph filter
    tracing: Add correct/incorrect to sort keys for branch annotation output
    tracing: Simplify test for function_graph tracing start point
    tracing: Drop the tr check from the graph tracing path
    tracing: Add stack dump to trace_printk if stacktrace option is set
    tracing: Use appropriate perl constructs in recordmcount.pl
    tracing: optimize recordmcount.pl for offsets-handling
    ...

    Linus Torvalds
     

28 Feb, 2010

1 commit

  • * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: (35 commits)
    [S390] time: remove unused code
    [S390] zcore: Add prefix registers to dump header
    [S390] correct vdso version string
    [S390] add support for compressed kernels
    [S390] Define new s390 ELF note sections in elf.h
    [S390] codepage conversion of kernel parameter line
    [S390] seq_file: convert drivers/s390/
    [S390] add z9-ec/z10 instruction to kernel disassembler
    [S390] dasd: correct offline processing
    [S390] dasd: fix refcounting.
    [S390] dasd: fix online/offline race
    [S390] use kprobes_built_in() in mm/fault code
    [S390] bug: use relative pointers in bug table entries
    [S390] Cleanup struct _lowcore usage and defines.
    [S390] free_initmem: reduce code duplication
    [S390] Replace ENOTSUPP usage with EOPNOTSUPP
    [S390] spinlock: check virtual cpu running status
    [S390] sysinfo: fix SYSIB 3,2,2 structure
    [S390] add MACHINE_IS_LPAR flag
    [S390] qdio: optimize cache line usage of struct qdio_irq
    ...

    Linus Torvalds
     

27 Feb, 2010

24 commits

  • …deric/random-tracing into tracing/core

    Ingo Molnar
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (31 commits)
    crypto: aes_generic - Fix checkpatch errors
    crypto: fcrypt - Fix checkpatch errors
    crypto: ecb - Fix checkpatch errors
    crypto: des_generic - Fix checkpatch errors
    crypto: deflate - Fix checkpatch errors
    crypto: crypto_null - Fix checkpatch errors
    crypto: cipher - Fix checkpatch errors
    crypto: crc32 - Fix checkpatch errors
    crypto: compress - Fix checkpatch errors
    crypto: cast6 - Fix checkpatch errors
    crypto: cast5 - Fix checkpatch errors
    crypto: camellia - Fix checkpatch errors
    crypto: authenc - Fix checkpatch errors
    crypto: api - Fix checkpatch errors
    crypto: anubis - Fix checkpatch errors
    crypto: algapi - Fix checkpatch errors
    crypto: blowfish - Fix checkpatch errors
    crypto: aead - Fix checkpatch errors
    crypto: ablkcipher - Fix checkpatch errors
    crypto: pcrypt - call the complete function on error
    ...

    Linus Torvalds
     
  • Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • The glibc vdso code for s390 uses the version string 2.6.29, the
    kernel uses the version string 2.6.26. No wonder the vdso code
    is never used. The first kernel version to contain the vdso code
    is 2.6.29 which makes this the correct version.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Add the "bzImage" compile target and the necessary code to generate
    compressed kernel images. The old style uncompressed "image" target
    is preserved, a simple make will build them both.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Move the ebcdic to ascii conversion of the kernel parameter line from
    head.S to early.c and convert the assembler code to C.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Add the instruction of the z9-ec and z10 machines to the kernel disassembler.
    Add the missing "ptff" instruction of z9-109 and the missing "sqd" of g5.
    Remove useless comments with instruction examples from format table.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Use kprobes_built_in() to avoid ifdefs like most other architectures do.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Reduces the size of the bug table entries by 50% on 64bit kernels.
    Saves around 30kb on a defconfig kernel.
    s390 version of b93a531e "allow bug table entries to use relative
    pointers (and use it on x86-64)".

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Use asm offsets to make sure the offset defines to struct _lowcore and
    its layout don't get out of sync.
    Also add a BUILD_BUG_ON() which checks that the size of the structure
    is sane.
    And while being at it change those sites which use odd casts to access
    the current lowcore. These should use S390_lowcore instead.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • free_initmem() and free_initrd_mem() are nearly identical. So make them
    call a common function.
    Also fixes a bug: if the initrd wouldn't start on a page boundary also
    memory after the initrd would be initialized with the poison value.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • ENOTSUPP is not supposed to leak to userspace so lets just use
    EOPNOTSUPP everywhere.
    Doesn't fix a bug, but makes future reviews easier.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • This patch introduces a new function that checks the running status
    of a cpu in a hypervisor. This status is not virtualized, so the check
    is only correct if running in an LPAR. On acquiring a spinlock, if the
    cpu holding the lock is scheduled by the hypervisor, we do a busy wait
    on the lock. If it is not scheduled, we yield over to that cpu.

    Signed-off-by: Gerald Schaefer
    Signed-off-by: Martin Schwidefsky

    Gerald Schaefer
     
  • The size of the field that contains the description block count is
    only four bits instead of eight bits.
    The first four bits are reserved but this might change and break.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Introduce the MACHINE_IS_LPAR flag for code that should only be
    executed if Linux is running in an LPAR.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Remove a memset hack that relied on the internal layout of the
    qdio_irq struct and move the per device statistics data into an own
    cache line to avoid cache line bashing between the inbound and the
    outbound queue tasklets. Also reduce the number of allocated queues
    from 32 to 4 which is the current maximum. That saves a cache line
    in struct qdio_irq.

    Signed-off-by: Jan Glauber
    Signed-off-by: Martin Schwidefsky

    Jan Glauber
     
  • Rename signal_processor* functions to sigp*.
    Add raw variants of each version, so we can get rid of the hacks played
    in smp code which establish temporary cpu logical mappings so they could
    call the sigp functions.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Always reboot on logical cpu 0. This makes sure that the IPL cpu is
    always the same and usually avoids strange numbering schemes between
    physical and logical cpus.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Rename __LC_RESTART_PSW to __LC_RST_NEW_PSW, add a define for the
    missing 32 bit variant and the missing old PSWs.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Remove support to be able to dump 31 bit systems with a 64 bit dumper.
    This is mostly useless since no distro ships 31 bit kernels together
    with a 64 bit dumper.
    We also get rid of a bit of hacky code.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Drop support to compile the kernel with gcc versions older than 3.3.3.
    This allows us to use the "Q" inline assembly contraint on some more
    inline assemblies without duplicating a lot of complex code (e.g. __xchg
    and __cmpxchg). The distinction for older gcc versions can be removed
    which saves a few lines and simplifies the code.

    Reviewed-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Some parts of cio do not shift PAGE_DEFAULT_KEY correctly and end up
    with an incorrect key in their data structures.
    Since the default key is zero this doesn't really matter. However if
    somebody would use key-controlled protection for debugging purposes
    it would be quite helpful if all of this would work as expected.

    Also remove a stale declaration.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • To fetch a pending channel report word (crw) we use a kernel
    thread which triggers stcrw and sleeps on a semaphore. The s390
    machine check handler uses crw_handle_channel_report to handle
    one crw if needed.

    This patch replaces the semaphore with a waitqueue (to block the
    kernel thread) and an atomic_t (to count the number of pending
    requests).

    By this we achieve the ability to force this thread to check for
    a pending crw (independent on when it is triggered by the machine
    check handler) and wait for this action to finish.

    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • Same as on x86 and sparc, besides the fact that enabling the option
    will just emit compile time warnings instead of errors.
    Keeps allyesconfig kernels compiling.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     

21 Feb, 2010

1 commit

  • On VIVT ARM, when we have multiple shared mappings of the same file
    in the same MM, we need to ensure that we have coherency across all
    copies. We do this via make_coherent() by making the pages
    uncacheable.

    This used to work fine, until we allowed highmem with highpte - we
    now have a page table which is mapped as required, and is not available
    for modification via update_mmu_cache().

    Ralf Beache suggested getting rid of the PTE value passed to
    update_mmu_cache():

    On MIPS update_mmu_cache() calls __update_tlb() which walks pagetables
    to construct a pointer to the pte again. Passing a pte_t * is much
    more elegant. Maybe we might even replace the pte argument with the
    pte_t?

    Ben Herrenschmidt would also like the pte pointer for PowerPC:

    Passing the ptep in there is exactly what I want. I want that
    -instead- of the PTE value, because I have issue on some ppc cases,
    for I$/D$ coherency, where set_pte_at() may decide to mask out the
    _PAGE_EXEC.

    So, pass in the mapped page table pointer into update_mmu_cache(), and
    remove the PTE value, updating all implementations and call sites to
    suit.

    Includes a fix from Stephen Rothwell:

    sparc: fix fallout from update_mmu_cache API change

    Signed-off-by: Stephen Rothwell

    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: Russell King

    Russell King
     

17 Feb, 2010

2 commits

  • This API is needed for the kprobe-based event tracer.

    Signed-off-by: Heiko Carstens
    Reviewed-by: Masami Hiramatsu
    Cc: Martin Schwidefsky
    LKML-Reference:
    Signed-off-by: Frederic Weisbecker

    Heiko Carstens
     
  • Most implementations of arch_syscall_addr() are the same, so create a
    default version in common code and move the one piece that differs (the
    syscall table) to asm/syscall.h. New arch ports don't have to waste
    time copying & pasting this simple function.

    The s390/sparc versions need to be different, so document why.

    Signed-off-by: Mike Frysinger
    Acked-by: David S. Miller
    Acked-by: Paul Mundt
    Acked-by: Heiko Carstens
    Cc: Steven Rostedt
    LKML-Reference:
    Signed-off-by: Frederic Weisbecker

    Mike Frysinger
     

09 Feb, 2010

1 commit


27 Jan, 2010

3 commits


25 Jan, 2010

1 commit

  • kvm_handle_sie_intercept uses a jump table to get the intercept handler
    for a SIE intercept. Static code analysis revealed a potential problem:
    the intercept_funcs jump table was defined to contain (0x48 >> 2) entries,
    but we only checked for code > 0x48 which would cause an off-by-one
    array overflow if code == 0x48.

    Use the compiler and ARRAY_SIZE to automatically set the limits.

    Cc: stable@kernel.org
    Signed-off-by: Christian Borntraeger
    Signed-off-by: Marcelo Tosatti

    Christian Borntraeger
     

14 Jan, 2010

5 commits