lkml.org 
[lkml]   [2005]   [Apr]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: Linux 2.6.12-rc3
    	m68k thread_info - part 4

    The rest:
    a) added embedded thread_info [m68k processor.h]
    b) added missing symbols in asm-offsets.c
    c) task_thread_info() and freinds in asm-m68k/thread_info.h
    d) made m68k thread_info.h included by m68k processor.h, not the
    other way round.

    At that point thread_info mess is resolved - m68k builds and the rest of
    the stuff to merge consists of normal driver patches.

    IMO that's the least intrusive way to merge that sucker...

    Comments?

    diff -urN RC12-rc3-includes/arch/m68k/kernel/asm-offsets.c RC12-rc3-m68k/arch/m68k/kernel/asm-offsets.c
    --- RC12-rc3-includes/arch/m68k/kernel/asm-offsets.c Thu Feb 26 02:23:09 2004
    +++ RC12-rc3-m68k/arch/m68k/kernel/asm-offsets.c Wed Apr 20 22:51:18 2005
    @@ -31,6 +31,7 @@
    DEFINE(TASK_SIGPENDING, offsetof(struct task_struct, thread.work.sigpending));
    DEFINE(TASK_NOTIFY_RESUME, offsetof(struct task_struct, thread.work.notify_resume));
    DEFINE(TASK_THREAD, offsetof(struct task_struct, thread));
    + DEFINE(TASK_INFO, offsetof(struct task_struct, thread.info));
    DEFINE(TASK_MM, offsetof(struct task_struct, mm));
    DEFINE(TASK_ACTIVE_MM, offsetof(struct task_struct, active_mm));

    @@ -44,6 +45,10 @@
    DEFINE(THREAD_FPREG, offsetof(struct thread_struct, fp));
    DEFINE(THREAD_FPCNTL, offsetof(struct thread_struct, fpcntl));
    DEFINE(THREAD_FPSTATE, offsetof(struct thread_struct, fpstate));
    +
    + /* offsets into the thread_info struct */
    + DEFINE(TINFO_PREEMPT, offsetof(struct thread_info, preempt_count));
    + DEFINE(HARDIRQ_SHIFT, HARDIRQ_SHIFT);

    /* offsets into the pt_regs */
    DEFINE(PT_D0, offsetof(struct pt_regs, d0));
    diff -urN RC12-rc3-includes/include/asm-m68k/processor.h RC12-rc3-m68k/include/asm-m68k/processor.h
    --- RC12-rc3-includes/include/asm-m68k/processor.h Wed Apr 20 21:25:51 2005
    +++ RC12-rc3-m68k/include/asm-m68k/processor.h Wed Apr 20 22:51:19 2005
    @@ -14,6 +14,7 @@
    #define current_text_addr() ({ __label__ _l; _l: &&_l;})

    #include <linux/config.h>
    +#include <linux/thread_info.h>
    #include <asm/segment.h>
    #include <asm/fpu.h>
    #include <asm/ptrace.h>
    @@ -79,6 +80,7 @@
    unsigned long fpcntl[3]; /* fp control regs */
    unsigned char fpstate[FPSTATESIZE]; /* floating point state */
    struct task_work work;
    + struct thread_info info;
    };

    #define INIT_THREAD { \
    diff -urN RC12-rc3-includes/include/asm-m68k/thread_info.h RC12-rc3-m68k/include/asm-m68k/thread_info.h
    --- RC12-rc3-includes/include/asm-m68k/thread_info.h Wed Apr 20 21:25:51 2005
    +++ RC12-rc3-m68k/include/asm-m68k/thread_info.h Wed Apr 20 22:51:19 2005
    @@ -2,7 +2,6 @@
    #define _ASM_M68K_THREAD_INFO_H

    #include <asm/types.h>
    -#include <asm/processor.h>
    #include <asm/page.h>

    struct thread_info {
    @@ -36,10 +35,11 @@
    #endif /* PAGE_SHIFT == 13 */

    //#define init_thread_info (init_task.thread.info)
    -#define init_stack (init_thread_union.stack)
    -
    -#define current_thread_info() (current->thread_info)
    +#define init_thread_info (init_thread_union.thread_info)
    +#define init_stack (init_thread_union.stack)

    +#define task_thread_info(tsk) (&(tsk)->thread.info)
    +#define current_thread_info() task_thread_info(current)

    #define __HAVE_THREAD_FUNCTIONS

    @@ -51,6 +51,10 @@
    #define TIF_MEMDIE 5

    extern int thread_flag_fixme(void);
    +
    +#define setup_thread_info(p, ti) do (ti)->task = p; while(0)
    +
    +#define end_of_stack(p) ((unsigned long *)(p)->thread_info + 1)

    /*
    * flag set/clear/test wrappers
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2005-04-21 20:09    [W:4.130 / U:0.080 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site