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