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 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev