[Cbe-oss-dev] [PATCH] libea ppe side support

Patrick Mansfield patmans at us.ibm.com
Tue Jul 3 03:54:26 EST 2007


On Mon, Jul 02, 2007 at 11:39:47AM -0500, Joel Schopp wrote:
> >>+++ libspe2/spebase/default_libea_handler.h
> >>@@ -0,0 +1,23 @@
> >>+
> >>+#define SPE_LIBEA_CLASS 0x2104
> >>+
> >
> >I'm confused as to how this is working.
> >
> >Isn't 0x2104 already in use by the kernel?
> >
> >See arch/powerpc/platforms/cell/spufs/run.c.
> >
> >-- Patrick Mansfield
> 
> Ss near as I can tell the kernel should be checking 0x2103, as is 
> documented here in section 3.3.2.  If I am incorrect please let me know: 
> http://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/44DA30A1555CBB73872570B20057D5C8/$file/CBE_LINUX_ABI_1.1.pdf
> 
> I did test using 0x2104 with the added functions in libspe with 32 bit and 
> 64 bit ppe side and it does work for me.
> 
> If I need to change the stop and signal number to something else like 
> 0x2105 that will not be a problem anytime in the next few weeks.
> 
> -Joel

I'm not sure when the 0x2104 went into the kernel. Maybe your using an
older kernel? Or is there some magic happening?

I tried some stuff with 0x2104 calls (and a recent kernel) a month or so
ago and it worked fine (used the in-kernel callback code).

No one seems to be using 0x2103 (or 0x2102). 0x2104 is not documented but
should be. Or, the kernel should use 0x2103, but that is a compatibility
problem.

Jeremy had this post a while back:

http://ozlabs.org/pipermail/cbe-oss-dev/2007-May/002040.html

In the future, I would like to use the 0x2104 in newlib wherever possible
rather than 0x2101 (not possible for the this code, i.e. malloc etc.).
That also requires adding the LS base to any addresses prior to the assist
call.

-- Patrick Mansfield



More information about the cbe-oss-dev mailing list