lkml.org 
[lkml]   [2008]   [May]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 1/6] x86: Unify current.h
    Simply stitch these together. There are just two definitions that are shared
    but the file is resonably small and putting these things together shows that
    further unifications requires a unification of the per cpu / pda handling
    between both arches.

    Signed-off-by: Christoph Lameter <clameter@sgi.com>

    ---
    include/asm-x86/current.h | 42 ++++++++++++++++++++++++++++++++++++++----
    include/asm-x86/current_32.h | 17 -----------------
    include/asm-x86/current_64.h | 27 ---------------------------
    3 files changed, 38 insertions(+), 48 deletions(-)

    Index: linux-2.6/include/asm-x86/current.h
    ===================================================================
    --- linux-2.6.orig/include/asm-x86/current.h 2008-05-07 16:33:51.126164691 -0700
    +++ linux-2.6/include/asm-x86/current.h 2008-05-09 18:28:05.666268549 -0700
    @@ -1,5 +1,39 @@
    +#ifndef _X86_CURRENT_H
    +#define _X86_CURRENT_H
    +
    #ifdef CONFIG_X86_32
    -# include "current_32.h"
    -#else
    -# include "current_64.h"
    -#endif
    +#include <linux/compiler.h>
    +#include <asm/percpu.h>
    +
    +struct task_struct;
    +
    +DECLARE_PER_CPU(struct task_struct *, current_task);
    +static __always_inline struct task_struct *get_current(void)
    +{
    + return x86_read_percpu(current_task);
    +}
    +
    +#else /* X86_32 */
    +
    +#ifndef __ASSEMBLY__
    +#include <asm/pda.h>
    +
    +struct task_struct;
    +
    +static __always_inline struct task_struct *get_current(void)
    +{
    + return read_pda(pcurrent);
    +}
    +
    +#else /* __ASSEMBLY__ */
    +
    +#include <asm/asm-offsets.h>
    +#define GET_CURRENT(reg) movq %gs:(pda_pcurrent),reg
    +
    +#endif /* __ASSEMBLY__ */
    +
    +#endif /* X86_32 */
    +
    +#define current get_current()
    +
    +#endif /* X86_CURRENT_H */
    Index: linux-2.6/include/asm-x86/current_32.h
    ===================================================================
    --- linux-2.6.orig/include/asm-x86/current_32.h 2008-05-07 16:33:51.130164801 -0700
    +++ /dev/null 1970-01-01 00:00:00.000000000 +0000
    @@ -1,17 +0,0 @@
    -#ifndef _I386_CURRENT_H
    -#define _I386_CURRENT_H
    -
    -#include <linux/compiler.h>
    -#include <asm/percpu.h>
    -
    -struct task_struct;
    -
    -DECLARE_PER_CPU(struct task_struct *, current_task);
    -static __always_inline struct task_struct *get_current(void)
    -{
    - return x86_read_percpu(current_task);
    -}
    -
    -#define current get_current()
    -
    -#endif /* !(_I386_CURRENT_H) */
    Index: linux-2.6/include/asm-x86/current_64.h
    ===================================================================
    --- linux-2.6.orig/include/asm-x86/current_64.h 2008-05-07 16:33:51.138164773 -0700
    +++ /dev/null 1970-01-01 00:00:00.000000000 +0000
    @@ -1,27 +0,0 @@
    -#ifndef _X86_64_CURRENT_H
    -#define _X86_64_CURRENT_H
    -
    -#if !defined(__ASSEMBLY__)
    -struct task_struct;
    -
    -#include <asm/pda.h>
    -
    -static inline struct task_struct *get_current(void)
    -{
    - struct task_struct *t = read_pda(pcurrent);
    - return t;
    -}
    -
    -#define current get_current()
    -
    -#else
    -
    -#ifndef ASM_OFFSET_H
    -#include <asm/asm-offsets.h>
    -#endif
    -
    -#define GET_CURRENT(reg) movq %gs:(pda_pcurrent),reg
    -
    -#endif
    -
    -#endif /* !(_X86_64_CURRENT_H) */
    --


    \
     
     \ /
      Last update: 2008-05-10 04:13    [W:2.846 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site