30 Dec, 2011

1 commit


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
     

07 Jan, 2011

3 commits

  • If we leave sigreturn via ret_from_signal, we end up with syscall
    trace only on entry, leading to very unhappy strace, among other
    things. Note that this means different behaviours for signals
    delivered while we were in pagefault and for ones delivered while
    we were in interrupt...

    Signed-off-by: Al Viro
    Signed-off-by: Geert Uytterhoeven

    Al Viro
     
  • Instead of checking the return value of do_signal() we can just do
    the work (raise SIGTRAP and clear SR.T1) directly in handle_signal(),
    when setting the sigframe up. Simplifies the assembler glue and is
    closer to the way we do it on other targets.

    Note that do_delayed_trace does *not* disappear; it's still needed
    to deal with single-stepping through syscall, since 68040 doesn't
    raise the trace exception at all if the trap exception is pending.
    We hit it after returning from sys_...() if TIF_DELAYED_TRACE is
    set; all that has changed is that we don't reuse it for "single-step
    into the handler" codepath.

    As the result, do_signal() doesn't need to return anything anymore.

    Signed-off-by: Al Viro
    Signed-off-by: Geert Uytterhoeven

    Al Viro
     
  • and saner do_signal() arguments, while we are at it

    Signed-off-by: Al Viro
    Signed-off-by: Geert Uytterhoeven

    Al Viro
     

14 Sep, 2010

1 commit


13 Mar, 2010

2 commits

  • Add a generic implementation of the old mmap() syscall, which expects its
    argument in a memory block and switch all architectures over to use it.

    Signed-off-by: Christoph Hellwig
    Cc: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mundt
    Cc: Jeff Dike
    Cc: Hirokazu Takata
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Reviewed-by: H. Peter Anvin
    Cc: Al Viro
    Cc: Arnd Bergmann
    Cc: Heiko Carstens
    Cc: Martin Schwidefsky
    Cc: "Luck, Tony"
    Cc: James Morris
    Cc: Andreas Schwab
    Acked-by: Jesper Nilsson
    Acked-by: Russell King
    Acked-by: Greg Ungerer
    Acked-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • Add a generic implementation of the old select() syscall, which expects
    its argument in a memory block and switch all architectures over to use
    it.

    Signed-off-by: Christoph Hellwig
    Cc: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mundt
    Cc: Jeff Dike
    Cc: Hirokazu Takata
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Reviewed-by: H. Peter Anvin
    Cc: Al Viro
    Cc: Arnd Bergmann
    Cc: Heiko Carstens
    Cc: Martin Schwidefsky
    Cc: "Luck, Tony"
    Cc: James Morris
    Acked-by: Andreas Schwab
    Acked-by: Russell King
    Acked-by: Greg Ungerer
    Acked-by: David Howells
    Cc: Andreas Schwab
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     

28 Feb, 2010

1 commit

  • This patch adds several syscalls, that provide necessary
    functionality to support NPTL on m68k/ColdFire.
    The syscalls are get_thread_area, set_thread_area, atomic_cmpxchg_32 and
    atomic_barrier.
    The cmpxchg syscall is required for ColdFire as it doesn't support 'cas'
    instruction.

    Also a ptrace call PTRACE_GET_THREAD_AREA is added to allow debugger to
    inspect the TLS storage.

    Signed-off-by: Maxim Kuvyrkov
    Signed-off-by: Geert Uytterhoeven

    Maxim Kuvyrkov
     

05 Dec, 2009

1 commit

  • This fixes the following issues in ptrace:

    - when single stepping into the signal handler stop at the first insn of
    the handler
    - handle non-zero stkadj when accessing pc and sr in ptregs
    - correctly handle PT_SR in PTRACE_POKEUSR
    - report -EIO when trying to read unknown offset in PTRACE_PEEKUSR

    Additionally, the handling of the special case that PT_SR accesses a 16
    bit word instead of a 32 bit word has been moved into get_reg/put_reg.

    Signed-off-by: Andreas Schwab
    Signed-off-by: Geert Uytterhoeven

    Andreas Schwab
     

21 Sep, 2009

1 commit

  • Bye-bye Performance Counters, welcome Performance Events!

    In the past few months the perfcounters subsystem has grown out its
    initial role of counting hardware events, and has become (and is
    becoming) a much broader generic event enumeration, reporting, logging,
    monitoring, analysis facility.

    Naming its core object 'perf_counter' and naming the subsystem
    'perfcounters' has become more and more of a misnomer. With pending
    code like hw-breakpoints support the 'counter' name is less and
    less appropriate.

    All in one, we've decided to rename the subsystem to 'performance
    events' and to propagate this rename through all fields, variables
    and API names. (in an ABI compatible fashion)

    The word 'event' is also a bit shorter than 'counter' - which makes
    it slightly more convenient to write/handle as well.

    Thanks goes to Stephane Eranian who first observed this misnomer and
    suggested a rename.

    User-space tooling and ABI compatibility is not affected - this patch
    should be function-invariant. (Also, defconfigs were not touched to
    keep the size down.)

    This patch has been generated via the following script:

    FILES=$(find * -type f | grep -vE 'oprofile|[^K]config')

    sed -i \
    -e 's/PERF_EVENT_/PERF_RECORD_/g' \
    -e 's/PERF_COUNTER/PERF_EVENT/g' \
    -e 's/perf_counter/perf_event/g' \
    -e 's/nb_counters/nb_events/g' \
    -e 's/swcounter/swevent/g' \
    -e 's/tpcounter_event/tp_event/g' \
    $FILES

    for N in $(find . -name perf_counter.[ch]); do
    M=$(echo $N | sed 's/perf_counter/perf_event/g')
    mv $N $M
    done

    FILES=$(find . -name perf_event.*)

    sed -i \
    -e 's/COUNTER_MASK/REG_MASK/g' \
    -e 's/COUNTER/EVENT/g' \
    -e 's/\/event_id/g' \
    -e 's/counter/event/g' \
    -e 's/Counter/Event/g' \
    $FILES

    ... to keep it as correct as possible. This script can also be
    used by anyone who has pending perfcounters patches - it converts
    a Linux kernel tree over to the new naming. We tried to time this
    change to the point in time where the amount of pending patches
    is the smallest: the end of the merge window.

    Namespace clashes were fixed up in a preparatory patch - and some
    stylistic fallout will be fixed up in a subsequent patch.

    ( NOTE: 'counters' are still the proper terminology when we deal
    with hardware registers - and these sed scripts are a bit
    over-eager in renaming them. I've undone some of that, but
    in case there's something left where 'counter' would be
    better than 'event' we can undo that on an individual basis
    instead of touching an otherwise nicely automated patch. )

    Suggested-by: Stephane Eranian
    Acked-by: Peter Zijlstra
    Acked-by: Paul Mackerras
    Reviewed-by: Arjan van de Ven
    Cc: Mike Galbraith
    Cc: Arnaldo Carvalho de Melo
    Cc: Frederic Weisbecker
    Cc: Steven Rostedt
    Cc: Benjamin Herrenschmidt
    Cc: David Howells
    Cc: Kyle McMartin
    Cc: Martin Schwidefsky
    Cc: "David S. Miller"
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc:
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     

01 Sep, 2009

1 commit

  • In order to be able to use asm-offsets.h in C files the
    existing namespace conflicts must be solved first. In
    asm-offsets.h e.g. PT_D0 gets defined which is the offset of
    the d0 member of the pt_regs structure. However a same define
    (with a different meaning) exists in asm/ptregs.h.

    So rename the defines created with the asm-offset mechanism to
    PT_OFF_D0 etc. There also already exist a few defines with
    these names that have the same meaning. So remove the existing
    defines and use the asm-offset generated ones.

    Signed-off-by: Heiko Carstens
    Acked-by: Peter Zijlstra
    Cc: Arnd Bergmann
    Cc: Nick Piggin
    Cc: Martin Schwidefsky
    Cc: Horst Hartmann
    Cc: Christian Ehrhardt
    Cc: Andrew Morton
    Cc: Linus Torvalds
    Cc: David Miller
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Geert Uytterhoeven
    Cc: Roman Zippel
    Cc:
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Heiko Carstens
     

27 Aug, 2009

1 commit


23 Apr, 2009

1 commit


14 Jan, 2009

1 commit


13 Jan, 2009

1 commit


12 Aug, 2008

1 commit

  • Wire up for m68k{,nommu} the system calls that were added in the last merge
    window:

    - 4006553b06306b34054529477b06b68a1c66249b ("flag parameters: inotify_init")
    - ed8cae8ba01348bfd83333f4648dd807b04d7f08 ("flag parameters: pipe")
    - 336dd1f70ff62d7dd8655228caed4c5bfc818c56 ("flag parameters: dup2")
    - a0998b50c3f0b8fdd265c63e0032f86ebe377dbf ("flag parameters: epoll_create")
    - 9fe5ad9c8cef9ad5873d8ee55d1cf00d9b607df0 ("flag parameters add-on: remove
    epoll_create size param")
    - b087498eb5605673b0f260a7620d91818cd72304 ("flag parameters: eventfd")
    - 9deb27baedb79759c3ab9435a7d8b841842d56e9 ("flag parameters: signalfd")

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

    Geert Uytterhoeven
     

05 Mar, 2008

1 commit


06 Feb, 2008

1 commit

  • This is the new timerfd API as it is implemented by the following patch:

    int timerfd_create(int clockid, int flags);
    int timerfd_settime(int ufd, int flags,
    const struct itimerspec *utmr,
    struct itimerspec *otmr);
    int timerfd_gettime(int ufd, struct itimerspec *otmr);

    The timerfd_create() API creates an un-programmed timerfd fd. The "clockid"
    parameter can be either CLOCK_MONOTONIC or CLOCK_REALTIME.

    The timerfd_settime() API give new settings by the timerfd fd, by optionally
    retrieving the previous expiration time (in case the "otmr" parameter is not
    NULL).

    The time value specified in "utmr" is absolute, if the TFD_TIMER_ABSTIME bit
    is set in the "flags" parameter. Otherwise it's a relative time.

    The timerfd_gettime() API returns the next expiration time of the timer, or
    {0, 0} if the timerfd has not been set yet.

    Like the previous timerfd API implementation, read(2) and poll(2) are
    supported (with the same interface). Here's a simple test program I used to
    exercise the new timerfd APIs:

    http://www.xmailserver.org/timerfd-test2.c

    [akpm@linux-foundation.org: coding-style cleanups]
    [akpm@linux-foundation.org: fix ia64 build]
    [akpm@linux-foundation.org: fix m68k build]
    [akpm@linux-foundation.org: fix mips build]
    [akpm@linux-foundation.org: fix alpha, arm, blackfin, cris, m68k, s390, sparc and sparc64 builds]
    [heiko.carstens@de.ibm.com: fix s390]
    [akpm@linux-foundation.org: fix powerpc build]
    [akpm@linux-foundation.org: fix sparc64 more]
    Signed-off-by: Davide Libenzi
    Cc: Michael Kerrisk
    Cc: Thomas Gleixner
    Cc: Davide Libenzi
    Cc: Michael Kerrisk
    Cc: Martin Schwidefsky
    Signed-off-by: Heiko Carstens
    Cc: Michael Kerrisk
    Cc: Davide Libenzi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Davide Libenzi
     

12 Sep, 2007

1 commit


05 May, 2007

1 commit


10 Oct, 2006

2 commits


08 Oct, 2006

1 commit

  • m68k_handle_int() split in two functions: __m68k_handle_int() takes
    pt_regs * and does set_irq_regs(); m68k_handle_int() doesn't get pt_regs
    *.

    Places where we used to call m68k_handle_int() recursively with the same
    pt_regs have simply lost the second argument, the rest is switched to
    __m68k_handle_int().

    The rest of patch is just dropping pt_regs * where needed.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     

01 Jul, 2006

1 commit


26 Jun, 2006

3 commits


23 Jun, 2006

1 commit


14 Nov, 2005

1 commit

  • Remove task_work structure, use the standard thread flags functions and use
    shifts in entry.S to test the thread flags. Add a few local labels to entry.S
    to allow gas to generate short jumps.

    Finally it changes a number of inline functions in thread_info.h to macros to
    delay the current_thread_info() usage, which requires on m68k a structure
    (task_struct) not yet defined at this point.

    Signed-off-by: Roman Zippel
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     

10 Sep, 2005

1 commit


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