lkml.org 
[lkml]   [2008]   [Jan]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 5/7] Powerpc: Use generic per cpu rc8-mm1-fixup with git-x86
    Powerpc has a way to determine the address of the per cpu area of the
    currently executing processor via the paca and the array of per cpu
    offsets is avoided by looking up the per cpu area from the remote
    paca's (copying x86_64).

    Based on 2.6.24-rc8-mm1 + latest (08/1/21) git-x86

    Cc: Paul Mackerras <paulus@samba.org>
    Signed-off-by: Christoph Lameter <clameter@sgi.com>
    Signed-off-by: Mike Travis <travis@sgi.com>
    ---
    rc8-mm1-fixup:
    - rebased from 2.6.24-rc6-mm1 to 2.6.24-rc8-mm1
    (removed changes that are in the git-x86.patch)

    V1->V2:
    - add missing #endif

    V2->V3:
    - use generic percpy_modcopy()

    ---
    arch/powerpc/Kconfig | 2 +-
    include/asm-powerpc/percpu.h | 20 ++------------------
    2 files changed, 3 insertions(+), 19 deletions(-)

    --- a/arch/powerpc/Kconfig
    +++ b/arch/powerpc/Kconfig
    @@ -42,7 +42,7 @@ config GENERIC_HARDIRQS
    bool
    default y

    -config ARCH_SETS_UP_PER_CPU_AREA
    +config HAVE_SETUP_PER_CPU_AREA
    def_bool PPC64

    config IRQ_PER_CPU
    --- a/include/asm-powerpc/percpu.h
    +++ b/include/asm-powerpc/percpu.h
    @@ -16,25 +16,9 @@
    #define __my_cpu_offset() get_paca()->data_offset
    #define per_cpu_offset(x) (__per_cpu_offset(x))

    -/* var is in discarded region: offset to particular copy we want */
    -#define per_cpu(var, cpu) (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset(cpu)))
    -#define __get_cpu_var(var) (*RELOC_HIDE(&per_cpu__##var, __my_cpu_offset()))
    -#define __raw_get_cpu_var(var) (*RELOC_HIDE(&per_cpu__##var, local_paca->data_offset))
    +#endif /* CONFIG_SMP */
    +#endif /* __powerpc64__ */

    -extern void setup_per_cpu_areas(void);
    -
    -#else /* ! SMP */
    -
    -#define per_cpu(var, cpu) (*((void)(cpu), &per_cpu__##var))
    -#define __get_cpu_var(var) per_cpu__##var
    -#define __raw_get_cpu_var(var) per_cpu__##var
    -
    -#endif /* SMP */
    -
    -#define DECLARE_PER_CPU(type, name) extern __typeof__(type) per_cpu__##name
    -
    -#else
    #include <asm-generic/percpu.h>
    -#endif

    #endif /* _ASM_POWERPC_PERCPU_H_ */
    --


    \
     
     \ /
      Last update: 2008-01-21 21:35    [W:0.040 / U:0.204 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site