14 Jun, 2011

3 commits

  • Older m68k-linux compilers will include pre-defined symbols that
    confuse what processor it is being targeted for. For example gcc-4.1.2
    will pre-define __mc68020__ even if you specify the target processor
    as -m68000 on the gcc command line. Newer versions of gcc have this
    corrected.

    In a few places the m68k code uses defined(__mc68020__) for optimizations
    that include instructions that are specific to the CPU 68020 and above.
    When compiling with older compilers this will be true even when we have
    selected to compile for the older 68000 processors.

    Switch to using the kernel processor defines, CONFIG_M68020 and friends.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • There are 3 families of CPU core types that we support in the m68knommu
    architecture branch. They are

    . traditional 68000
    . CPU32 (a 68020 core derivative without MMU or bitfield instructions)
    . ColdFire

    It will be useful going forward to have a CONFIG_ option defined for
    each type. We already have one for ColdFire (CONFIG_COLDFIRE), so add
    for the other 2 families, CONFIG_M68000 and CONFIG_MCPU32.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     
  • The recent commit titled "module: Sort exported symbols" (f02e8a65)
    changed the exported symbol name sections. Bring the m68knommu linker
    script into line with those changes - including the sorting of the
    symbol names.

    Signed-off-by: Greg Ungerer

    Greg Ungerer
     

29 May, 2011

2 commits

  • * setns:
    ns: Wire up the setns system call

    Done as a merge to make it easier to fix up conflicts in arm due to
    addition of sendmmsg system call

    Linus Torvalds
     
  • 32bit and 64bit on x86 are tested and working. The rest I have looked
    at closely and I can't find any problems.

    setns is an easy system call to wire up. It just takes two ints so I
    don't expect any weird architecture porting problems.

    While doing this I have noticed that we have some architectures that are
    very slow to get new system calls. cris seems to be the slowest where
    the last system calls wired up were preadv and pwritev. avr32 is weird
    in that recvmmsg was wired up but never declared in unistd.h. frv is
    behind with perf_event_open being the last syscall wired up. On h8300
    the last system call wired up was epoll_wait. On m32r the last system
    call wired up was fallocate. mn10300 has recvmmsg as the last system
    call wired up. The rest seem to at least have syncfs wired up which was
    new in the 2.6.39.

    v2: Most of the architecture support added by Daniel Lezcano
    v3: ported to v2.6.36-rc4 by: Eric W. Biederman
    v4: Moved wiring up of the system call to another patch
    v5: ported to v2.6.39-rc6
    v6: rebased onto parisc-next and net-next to avoid syscall conflicts.
    v7: ported to Linus's latest post 2.6.39 tree.

    >  arch/blackfin/include/asm/unistd.h     |    3 ++-
    >  arch/blackfin/mach-common/entry.S      |    1 +
    Acked-by: Mike Frysinger

    Oh - ia64 wiring looks good.
    Acked-by: Tony Luck

    Signed-off-by: Eric W. Biederman
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     

27 May, 2011

4 commits

  • The implementation of find_next_bit_le() on m68knommu is identical with
    the generic implementation of find_next_bit_le().

    Signed-off-by: Akinobu Mita
    Cc: Greg Ungerer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • By the previous style change, CONFIG_GENERIC_FIND_NEXT_BIT,
    CONFIG_GENERIC_FIND_BIT_LE, and CONFIG_GENERIC_FIND_LAST_BIT are not used
    to test for existence of find bitops anymore.

    Signed-off-by: Akinobu Mita
    Acked-by: Greg Ungerer
    Cc: Arnd Bergmann
    Cc: Russell King
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • The style that we normally use in asm-generic is to test the macro itself
    for existence, so in asm-generic, do:

    #ifndef find_next_zero_bit_le
    extern unsigned long find_next_zero_bit_le(const void *addr,
    unsigned long size, unsigned long offset);
    #endif

    and in the architectures, write

    static inline unsigned long find_next_zero_bit_le(const void *addr,
    unsigned long size, unsigned long offset)
    #define find_next_zero_bit_le find_next_zero_bit_le

    This adds the #define for each of the optimized find bitops in the
    architectures.

    Suggested-by: Arnd Bergmann
    Signed-off-by: Akinobu Mita
    Acked-by: Hans-Christian Egtvedt
    Acked-by: Russell King
    Acked-by: Greg Ungerer
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Acked-by: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • m68knommu can't build ext4, udf, and ocfs2 due to the lack of
    find_next_bit_le().

    This implements find_next_bit_le() on m68knommu by duplicating the generic
    find_next_bit_le() in lib/find_next_bit.c.

    Signed-off-by: Akinobu Mita
    Acked-by: Greg Ungerer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     

25 May, 2011

1 commit

  • Fold all the mmu_gather rework patches into one for submission

    Signed-off-by: Peter Zijlstra
    Reported-by: Hugh Dickins
    Cc: Benjamin Herrenschmidt
    Cc: David Miller
    Cc: Martin Schwidefsky
    Cc: Russell King
    Cc: Paul Mundt
    Cc: Jeff Dike
    Cc: Richard Weinberger
    Cc: Tony Luck
    Cc: KAMEZAWA Hiroyuki
    Cc: Mel Gorman
    Cc: KOSAKI Motohiro
    Cc: Nick Piggin
    Cc: Namhyung Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     

24 May, 2011

22 commits


20 May, 2011

8 commits

  • A new utility function (core_kernel_data()) is used to determine if a
    passed in address is part of core kernel data or not. It may or may not
    return true for RO data, but this utility must work for RW data.

    Thus both _sdata and _edata must be defined and continuous,
    without .init sections that may later be freed and replaced by
    volatile memory (memory that can be freed).

    This utility function is used to determine if data is safe from
    ever being freed. Thus it should return true for all RW global
    data that is not in a module or has been allocated, or false
    otherwise.

    Also change core_kernel_data() back to the more precise _sdata condition
    and document the function.

    Signed-off-by: Steven Rostedt
    Acked-by: Ralf Baechle
    Acked-by: Hirokazu Takata
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Matt Turner
    Cc: Geert Uytterhoeven
    Cc: Roman Zippel
    Cc: linux-m68k@lists.linux-m68k.org
    Cc: Kyle McMartin
    Cc: Helge Deller
    Cc: JamesE.J.Bottomley
    Link: http://lkml.kernel.org/r/1305855298.1465.19.camel@gandalf.stny.rr.com
    Signed-off-by: Ingo Molnar
    ----
    arch/alpha/kernel/vmlinux.lds.S | 1 +
    arch/m32r/kernel/vmlinux.lds.S | 1 +
    arch/m68k/kernel/vmlinux-std.lds | 2 ++
    arch/m68k/kernel/vmlinux-sun3.lds | 1 +
    arch/mips/kernel/vmlinux.lds.S | 1 +
    arch/parisc/kernel/vmlinux.lds.S | 3 +++
    kernel/extable.c | 12 +++++++++++-
    7 files changed, 20 insertions(+), 1 deletion(-)

    Steven Rostedt
     
  • The Atari keyboard driver calls atari_mouse_interrupt_hook if it's set, not
    atari_input_mouse_interrupt_hook. Fix below.

    [geert] Killed off atari_mouse_interrupt_hook completely, after fixing another
    incorrect assignment in atarimouse.c.

    Signed-off-by: Michael Schmitz
    Signed-off-by: Geert Uytterhoeven

    Michael Schmitz
     
  • It may trigger a warning in fs/proc/generic.c:__xlate_proc_name() when
    trying to add an entry for the interrupt handler to sysfs.

    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven
     
  • Suggested-by: Arnd Bergmann
    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven
     
  • We reserved the numbers a long time ago, but never wired them up in the
    syscall table as they need TIF_RESTORE_SIGMASK, which we only got last year
    in commit cb6831d5d3099e772a510eb3e1ed0760ccffb45e ("m68k: Switch to saner
    sigsuspend()")

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Greg Ungerer
    Cc: stable@kernel.org

    Geert Uytterhoeven
     
  • Impact for nommu:
    - Store table in .rodata instead of .text,
    - Let kernel/sys_ni.c handle the stubbing of MMU-only syscalls,
    - Implement sys_mremap and sys_nfsservct,
    - Remove unused padding at the end of the table.

    Impact for mmu:
    - Store table in .rodata instead of .data.

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

    Geert Uytterhoeven
     
  • find_next bitops on m68k (find_next_zero_bit, find_next_bit, and
    find_next_bit_le) may cause out of bounds memory access
    when the bitmap size in bits % 32 != 0 and offset (the bitnumber
    to start searching at) is very close to the bitmap size.

    For example,

    unsigned long bitmap[2] = { 0, 0 };
    find_next_bit(bitmap, 63, 62);

    1. find_next_bit() tries to find any set bits in bitmap[1],
    but no bits set.

    2. Then find_first_bit(bimap + 2, -1)

    3. Unfortunately find_first_bit() takes unsigned int as the size argument.

    4. find_first_bit will access bitmap[2~] until it find any set bits.

    Add missing tests for stepping beyond the end of the bitmap to all
    find_{first,next}_*() functions, and make sure they never return a value
    larger than the bitmap size.

    Reported-by: Akinobu Mita
    Cc: Andreas Schwab
    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven
     
  • Hence use "offset" in find_next_{,zero_}bit(), like is already done for
    find_next_{,zero_}bit_le()

    Signed-off-by: Geert Uytterhoeven
    Cc: Akinobu Mita
    Cc: Andreas Schwab
    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven