On Tue, Jul 10, 2007 at 10:01:49AM -0500, Josh Boyer wrote:
> +
> +#ifdef CONFIG_PPC64
> +typedef unsigned long mm_context_id_t;
> +
> +typedef struct {
> +     mm_context_id_t id;
> +     u16 user_psize;         /* page size index */
> +
> +#ifdef CONFIG_PPC_MM_SLICES
> +     u64 low_slices_psize;   /* SLB page size encodings */
> +     u64 high_slices_psize;  /* 4 bits per slice for now */
> +#else
> +     u16 sllp;               /* SLB page size encoding */
> +#endif
> +     unsigned long vdso_base;
> +} mm_context_t;
> +
> +#else /* !CONFIG_PPC64 */
> +
> +typedef struct {
> +     unsigned long id;
> +     unsigned long vdso_base;
> +} mm_context_t;

mm_context_id_t isn't actually used anywhere but in te mm_context_t
definition.  So if you kill it you have two common fields and a bunch
of additional ones for PPC64 leading to a defintion like:

typedef struct {
        unsigned long id;

#ifdef CONFIG_PPC64
        u16 user_psize;         /* page size index */

#ifdef CONFIG_PPC_MM_SLICES
        u64 low_slices_psize;   /* SLB page size encodings */
        u64 high_slices_psize;  /* 4 bits per slice for now */
#else
        u16 sllp;               /* SLB page size encoding */
#endif
#endif

        unsigned long vdso_base;
} mm_context_t;
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to