27 Aug, 2011

1 commit


24 Aug, 2011

1 commit


03 Aug, 2011

2 commits

  • Some trivial conflicts due to other various merges
    adding to the end of common lists sooner than this one.

    arch/ia64/Kconfig
    arch/powerpc/Kconfig
    arch/x86/Kconfig
    lib/Kconfig
    lib/Makefile

    Signed-off-by: Len Brown

    Len Brown
     
  • cmpxchg() is widely used by lockless code, including NMI-safe lockless
    code. But on some architectures, the cmpxchg() implementation is not
    NMI-safe, on these architectures the lockless code may need a
    spin_trylock_irqsave() based implementation.

    This patch adds a Kconfig option: ARCH_HAVE_NMI_SAFE_CMPXCHG, so that
    NMI-safe lockless code can depend on it or provide different
    implementation according to it.

    On many architectures, cmpxchg is only NMI-safe for several specific
    operand sizes. So, ARCH_HAVE_NMI_SAFE_CMPXCHG define in this patch
    only guarantees cmpxchg is NMI-safe for sizeof(unsigned long).

    Signed-off-by: Huang Ying
    Acked-by: Mike Frysinger
    Acked-by: Paul Mundt
    Acked-by: Hans-Christian Egtvedt
    Acked-by: Benjamin Herrenschmidt
    Acked-by: Chris Metcalf
    Acked-by: Richard Henderson
    CC: Mikael Starvik
    Acked-by: David Howells
    CC: Yoshinori Sato
    CC: Tony Luck
    CC: Hirokazu Takata
    CC: Geert Uytterhoeven
    CC: Michal Simek
    Acked-by: Ralf Baechle
    CC: Kyle McMartin
    CC: Martin Schwidefsky
    CC: Chen Liqin
    CC: "David S. Miller"
    CC: Ingo Molnar
    CC: Chris Zankel
    Signed-off-by: Len Brown

    Huang Ying
     

01 Aug, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k/math-emu: Remove unnecessary code
    m68k/math-emu: Remove commented out old code
    m68k: Kill warning in setup_arch() when compiling for Sun3
    m68k/atari: Prefix GPIO_{IN,OUT} with CODEC_
    sparc: iounmap() and *_free_coherent() - Use lookup_resource()
    m68k/atari: Reserve some ST-RAM early on for device buffer use
    m68k/amiga: Chip RAM - Use lookup_resource()
    resources: Add lookup_resource()
    sparc: _sparc_find_resource() should check for exact matches
    m68k/amiga: Chip RAM - Offset resource end by CHIP_PHYSADDR
    m68k/amiga: Chip RAM - Use resource_size() to fix off-by-one error
    m68k/amiga: Chip RAM - Change chipavail to an atomic_t
    m68k/amiga: Chip RAM - Always allocate from the start of memory
    m68k/amiga: Chip RAM - Convert from printk() to pr_*()
    m68k/amiga: Chip RAM - Use tabs for indentation

    Linus Torvalds
     

31 Jul, 2011

12 commits


27 Jul, 2011

5 commits

  • After changing all consumers of atomics to include , we
    ran into some compile time errors due to this dependency chain:

    linux/atomic.h
    -> asm/atomic.h
    -> asm-generic/atomic-long.h

    where atomic-long.h could use funcs defined later in linux/atomic.h
    without a prototype. This patches moves the code that includes
    asm-generic/atomic*.h to linux/atomic.h.

    Archs that need need to select
    CONFIG_GENERIC_ATOMIC64 from now on (some of them used to include it
    unconditionally).

    Compile tested on i386 and x86_64 with allnoconfig.

    Signed-off-by: Arun Sharma
    Cc: Eric Dumazet
    Cc: Ingo Molnar
    Cc: David Miller
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arun Sharma
     
  • This is in preparation for more generic atomic primitives based on
    __atomic_add_unless.

    Signed-off-by: Arun Sharma
    Signed-off-by: Hans-Christian Egtvedt
    Reviewed-by: Eric Dumazet
    Cc: Ingo Molnar
    Cc: David Miller
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arun Sharma
     
  • This allows us to move duplicated code in
    (atomic_inc_not_zero() for now) to

    Signed-off-by: Arun Sharma
    Reviewed-by: Eric Dumazet
    Cc: Ingo Molnar
    Cc: David Miller
    Cc: Eric Dumazet
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arun Sharma
     
  • Harmonise these return values with other architectures. In some cases
    this affects all compilers and in other cases non-gcc compilers only.

    Cc: Yoshinori Sato
    Cc: Geert Uytterhoeven
    Cc: Chris Zankel
    Cc: Ulrich Drepper
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • [ poleg@redhat.com: no need to declare show_regs() in ptrace.h, sched.h does this ]
    Signed-off-by: Mike Frysinger
    Cc: Tejun Heo
    Signed-off-by: Oleg Nesterov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     

26 Jul, 2011

2 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
    m68k: Revive reporting of spurious interrupts
    m68knommu: Move forward declaration of do_IRQ() from machdep.h to irq.h
    m68k: fix some atomic operation asm address modes for ColdFire
    m68k: use CPU_HAS_NO_BITFIELDS for signal functions
    m68k: merge and clean up delay.h files
    m68knommu: correctly use trap_init
    m68knommu: merge ColdFire 5206 and 5206e platform code
    m68k: merge mmu and non-mmu bitops.h
    m68k: merge MMU and non MMU versions of system.h
    m68k: merge MMU and non-MMU versions of asm/hardirq.h
    m68k: merge the non-mmu and mmu versions of module.c
    m68knommu: Fix printk() format in free_initrd_mem()
    m68knommu: Make empty_zero_page "void *", like on m68k

    Linus Torvalds
     
  • The address limit is already set in flush_old_exec() so those calls to
    set_fs(USER_DS) are redundant.

    Signed-off-by: Mathias Krause
    Cc: Greg Ungerer
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathias Krause
     

25 Jul, 2011

13 commits

  • commit 2502b667ea835ee16685c74b2a0d89ba8afe117a ("Change the m68knommu irq
    handling to use the generic irq framework.") removed the reporting of spurious
    interrupts on nommu (68328 and 68360).

    Bring it back in a generic way, using "atomic_t irq_err_count", as that's what
    most of the other architectures are using.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Greg Ungerer

    Geert Uytterhoeven
     
  • It is not machine-specific, but common irq infrastructure.
    Also add the missing asmlinkage, to match its definition.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Greg Ungerer

    Geert Uytterhoeven
     
  • The ColdFire processors have a much more limited set of addressing modes
    that can be used for most instructions. A number of the atomic operations
    have already been fixed to limit the addressing modes used with add and
    sub instructions when building for ColdFire. But we missed a few.
    Fix the remaining atomic operations to be clean for ColdFire processors.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • When reworking bitops.h to be clean for all processor types we introduced
    a CONFIG_CPU_HAS_NO_BITFIELDS define to signal whether this processor type
    supported the bit field instructions. The ARCH_SIG_BITOPS functions for
    m68k use these instruction types. We should base the use of these functions
    (or the generic versions) on the CONFIG_CPU_HAS_NO_BITFIELDS define.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • The real difference between the mmu and non-mmu varients of the delay.h
    files has nothing to do with having an mmu or not. It is processor family
    differences that means slightly different code. Merge the delay_mm.h and
    delay_no.h files back into a single file.

    The primarly difference we need to deal with is whether the processor
    supports a 32bit * 32bit -> 64bit multiply. Without it we need to do some
    shift scaling as well as use a 32bit * 32bit -> 32bit multiply. If building
    for a multi-CPU type kernel then we must use the simpler mult/shift scaling.

    This version of delay code allows the CPU32 family to use a 64bit mul,
    since it supports this instruction, the old code did not.

    The changes use macros where appropriate to try and optimize constant sized
    udelay times. And it removes the use of a fixed lib function for the non-mmu
    case. Code size on typical kernel configurations is similar, or only larger
    by a few tens of bytes.

    Also removed the unused muldiv() code from delay_mm.h.

    Build and run tested on ColdFire and ARAnyM. Build tested only on 68328
    and 68360 (CPU32).

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • Currently trap_init() is an empty function for m68knommu. Instead
    the vectors are being setup as part of the IRQ initialization.
    This is inconsistent with m68k and other architectures.

    Change the local init_vectors() to be trap_init(), and init the
    vectors at the correct time during startup. This will help merge of
    m68k and m68knommu trap code in the furture.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • The ColdFire 5206 and 5206e CPU families are almost identical, we can
    easily merge the platform support code for them. All the differences
    are dealt with in the current include/asm/5206sim.h.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • The following patch merges the mmu and non-mmu versions of the m68k
    bitops.h files. Now there is a good deal of difference between the two
    files, but none of it is actually an mmu specific difference. It is
    all about the specific m68k/coldfire varient we are targeting. So it
    makes an awful lot of sense to merge these into a single bitops.h.

    There is a number of ways I can see to factor this code. The approach
    I have taken here is to keep the various versions of each macro/function
    type together. This means that there is some ifdefery with each to handle
    each CPU type.

    I have added some comments in a couple of appropriate places to try
    and make it clear what the differences we are dealing with are.
    Specifically the instruction and addressing mode differences we have
    to deal with.

    The merged form keeps the same underlying optimizations for each CPU
    type for all the general bit clear/set/change and find bit operations.
    It does switch to using the generic le operations though, instead of
    any local varients.

    Build tested on ColdFire, 68328, 68360 (which is cpu32) and 68020+.
    Run tested on ColdFire and ARAnyM.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven

    Greg Ungerer
     
  • The non-MMU m68k targets can use the same asm/system.h as the MMU
    targets. So switch the current system_mm.h to be system.h and remove
    system_no.h.

    The assembly support code for the non-MMU resume functions needs to
    be modified to match the now common switch_to() macro. Specifically
    this means correctly saving and restoring the status flags in the case
    of the ColdFire resume, and some reordering of the code to not use
    registers before they are saved or after they are restored.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • The contents of asm/hardirq.h are pretty strait forward for both the
    MMU (hardirq_mm.h) and non-MMU (hardirq_no.h) include files. Merge the
    two back into a single file.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • The non-mmu and mmu versions of the module loader module.c are
    nearly identical. Merge them back to a single module.c. There is
    a little bit of re-ordering of the struct and enum definitions in
    module.h to keep the ifdefery to a minimum.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • arch/m68k/mm/init_no.c:123: warning: format "%d" expects type "int", but argument 2 has type "long unsigned int"

    And use pr_notice() while we're at it.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Greg Ungerer

    Geert Uytterhoeven
     
  • This allows to get rid of the casts.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Greg Ungerer

    Geert Uytterhoeven
     

24 Jul, 2011

1 commit

  • This patch removes all the module loader hook implementations in the
    architecture specific code where the functionality is the same as that
    now provided by the recently added default hooks.

    Signed-off-by: Jonas Bonn
    Acked-by: Mike Frysinger
    Acked-by: Geert Uytterhoeven
    Tested-by: Michal Simek
    Signed-off-by: Rusty Russell

    Jonas Bonn
     

15 Jul, 2011

1 commit


21 Jun, 2011

1 commit