24 Dec, 2011

2 commits

  • The traditional 68000 processors and the newer reduced instruction set
    ColdFire processors do not support the 32*32->64 multiply or the 64/32->32
    divide instructions. This is not a difference based on the presence of
    a hardware MMU or not.

    Create a new config symbol to mark that a CPU type doesn't support the
    longer multiply/divide instructions. Use this then as a basis for using
    the fast 64bit based divide (in div64.h) and for linking in the extra
    libgcc functions that may be required (mulsi3, divsi3, etc).

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

    Greg Ungerer
     
  • We have two implementations of the IP checksuming code for the m68k arch.
    One uses the more advanced instructions available in 68020 and above
    processors, the other uses the simpler instructions available on the
    original 68000 processors and the modern ColdFire processors.

    This simpler code is pretty much the same as the generic lib implementation
    of the IP csum functions. So lets just switch over to using that. That
    means we can completely remove the checksum_no.c file, and only have the
    local fast code used for the more complex 68k CPU family members.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     

25 Jul, 2011

1 commit

  • 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
     

24 May, 2011

5 commits


25 Mar, 2011

1 commit

  • There is a lot of common code that could be shared between the m68k
    and m68knommu arch branches. It makes sense to merge the two branches
    into a single directory structure so that we can more easily share
    that common code.

    This is a brute force merge, based on a script from Stephen King
    , which was originally written by Arnd Bergmann
    .

    > The script was inspired by the script Sam Ravnborg used to merge the
    > includes from m68knommu. For those files common to both arches but
    > differing in content, the m68k version of the file is renamed to
    > _mm. and the m68knommu version of the file is moved into the
    > corresponding m68k directory and renamed _no. and a small
    > wrapper file . is used to select between the two version. Files
    > that are common to both but don't differ are removed from the m68knommu
    > tree and files and directories that are unique to the m68knommu tree are
    > moved to the m68k tree. Finally, the arch/m68knommu tree is removed.
    >
    > To select between the the versions of the files, the wrapper uses
    >
    > #ifdef CONFIG_MMU
    > #include _mm.
    > #else
    > #include _no.
    > #endif

    On top of this file merge I have done a simplistic merge of m68k and
    m68knommu Kconfig, which primarily attempts to keep existing options and
    menus in place. Other than a handful of options being moved it produces
    identical .config outputs on m68k and m68knommu targets I tested it on.

    With this in place there is now quite a bit of scope for merge cleanups
    in future patches.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     

21 Jul, 2008

1 commit

  • > This is a no-no for those archs that still use -traditional.
    > > I dunno if this is a problem for you at the moment and the
    > > right fix is anyway to nuke -traditional.
    > >
    > > Sam

    Signed-off-by: Mathieu Desnoyers
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     

17 Apr, 2008

1 commit

  • Semaphores are no longer performance-critical, so a generic C
    implementation is better for maintainability, debuggability and
    extensibility. Thanks to Peter Zijlstra for fixing the lockdep
    warning. Thanks to Harvey Harrison for pointing out that the
    unlikely() was unnecessary.

    Signed-off-by: Matthew Wilcox
    Acked-by: Ingo Molnar

    Matthew Wilcox
     

23 Jun, 2006

1 commit

  • This uninlines a few large functions in uaccess.h and cleans up the rest.
    It includes a (hopefully temporary) workaround for the broken typeof of
    gcc-4.1.

    Signed-off-by: Roman Zippel
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     

05 Sep, 2005

1 commit

  • Use the builtin functions for memset/memclr/memcpy, special optimizations for
    page operations have dedicated functions now. Uninline memmove/memchr and
    move all functions into a single file and clean it up a little.

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds