On Tuesday 04 September 2007, Geoff Levand wrote: > > From: Masato Noguchi <[EMAIL PROTECTED]> > > Add platform specific SPU run control routines. > > The current spufs_run_spu() implementation uses the SPU master > run control bit (MFC_SR1[S]) to control SPE execution, but the > PS3 hypervisor does not support the use of this feature. This > change adds run control wrapper routines. The bare metal > routines use the master run control bit, and the PS3 specific > routines use the priv2 run control register. > > Signed-off-by: Masato Noguchi <[EMAIL PROTECTED]> > Signed-off-by: Geoff Levand <[EMAIL PROTECTED]>
Hmm, ok. Since I don't think we'll get to do the right solution (unmapping the ps registers on the ps3) that soon, doing this patch is at least better than the current situation where we end up with an oops every time we leave spu_run. It would probably be good to mention the remaining problem with the current approach in the changelog and as a comment in the ps3 specific functions. > @@ -178,6 +179,8 @@ struct spu_management_ops { > int (*enumerate_spus)(int (*fn)(void *data)); > int (*create_spu)(struct spu *spu, void *data); > int (*destroy_spu)(struct spu *spu); > + int (*enable_spu)(struct spu_context *ctx); > + int (*disable_spu)(struct spu_context *ctx); > int (*init_affinity)(void); > }; Also, I think you should make the return type of the callback 'void' since the result is not used anywhere. Arnd <>< _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev