[PATCH] Consolidate mm_context_t definition in mmu.h
Josh Boyer
jwboyer at linux.vnet.ibm.com
Wed Jul 11 02:47:22 EST 2007
On Tue, 2007-07-10 at 18:36 +0200, Arnd Bergmann wrote:
> On Tuesday 10 July 2007, 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;
> > +
> > +#endif /* CONFIG_PPC64 */
>
>
> It seems to me that you can easily consolidate this further, if you
> allow the mm_context_id_t on 32 bit, or remove it on 64 bit:
Hm... good point. Though...
>
> +typedef unsigned long mm_context_id_t;
> +
> +typedef struct {
> + mm_context_id_t id;
> + u16 user_psize; /* page size index */
> +
> +#ifdef CONFIG_PPC64
This needs to be moved up to encompass the u16 user_psize member as
well, yes?
> +#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;
josh
More information about the Linuxppc-dev
mailing list