lkml.org 
[lkml]   [2010]   [Feb]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[74/74] powerpc: TIF_ABI_PENDING bit removal
    2.6.32-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Andreas Schwab <schwab@linux-m68k.org>

    commit 94f28da8409c6059135e89ac64a0839993124155 upstream.

    Here are the powerpc bits to remove TIF_ABI_PENDING now that
    set_personality() is called at the appropriate place in exec.

    Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    arch/powerpc/include/asm/elf.h | 8 ++------
    arch/powerpc/include/asm/thread_info.h | 2 --
    arch/powerpc/kernel/process.c | 12 ------------
    3 files changed, 2 insertions(+), 20 deletions(-)

    --- a/arch/powerpc/include/asm/elf.h
    +++ b/arch/powerpc/include/asm/elf.h
    @@ -236,14 +236,10 @@ typedef elf_vrregset_t elf_fpxregset_t;
    #ifdef __powerpc64__
    # define SET_PERSONALITY(ex) \
    do { \
    - unsigned long new_flags = 0; \
    if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \
    - new_flags = _TIF_32BIT; \
    - if ((current_thread_info()->flags & _TIF_32BIT) \
    - != new_flags) \
    - set_thread_flag(TIF_ABI_PENDING); \
    + set_thread_flag(TIF_32BIT); \
    else \
    - clear_thread_flag(TIF_ABI_PENDING); \
    + clear_thread_flag(TIF_32BIT); \
    if (personality(current->personality) != PER_LINUX32) \
    set_personality(PER_LINUX | \
    (current->personality & (~PER_MASK))); \
    --- a/arch/powerpc/include/asm/thread_info.h
    +++ b/arch/powerpc/include/asm/thread_info.h
    @@ -111,7 +111,6 @@ static inline struct thread_info *curren
    #define TIF_NOTIFY_RESUME 13 /* callback before returning to user */
    #define TIF_FREEZE 14 /* Freezing for suspend */
    #define TIF_RUNLATCH 15 /* Is the runlatch enabled? */
    -#define TIF_ABI_PENDING 16 /* 32/64 bit switch needed */

    /* as above, but as bit values */
    #define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE)
    @@ -129,7 +128,6 @@ static inline struct thread_info *curren
    #define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME)
    #define _TIF_FREEZE (1<<TIF_FREEZE)
    #define _TIF_RUNLATCH (1<<TIF_RUNLATCH)
    -#define _TIF_ABI_PENDING (1<<TIF_ABI_PENDING)
    #define _TIF_SYSCALL_T_OR_A (_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP)

    #define _TIF_USER_WORK_MASK (_TIF_SIGPENDING | _TIF_NEED_RESCHED | \
    --- a/arch/powerpc/kernel/process.c
    +++ b/arch/powerpc/kernel/process.c
    @@ -554,18 +554,6 @@ void exit_thread(void)

    void flush_thread(void)
    {
    -#ifdef CONFIG_PPC64
    - struct thread_info *t = current_thread_info();
    -
    - if (test_ti_thread_flag(t, TIF_ABI_PENDING)) {
    - clear_ti_thread_flag(t, TIF_ABI_PENDING);
    - if (test_ti_thread_flag(t, TIF_32BIT))
    - clear_ti_thread_flag(t, TIF_32BIT);
    - else
    - set_ti_thread_flag(t, TIF_32BIT);
    - }
    -#endif
    -
    discard_lazy_cpu_state();

    if (current->thread.dabr) {



    \
     
     \ /
      Last update: 2010-02-04 18:27    [W:0.027 / U:3.972 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site