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: +typedef unsigned long mm_context_id_t; + +typedef struct { + mm_context_id_t id; + u16 user_psize; /* page size index */ + +#ifdef CONFIG_PPC64 +#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