M68k C++ Exceptions working!

Eric Valette valette at crf.canon.fr
Mon Jan 17 08:38:12 UTC 2000


Ian Lance Taylor wrote:
> 
>    Date: Fri, 14 Jan 2000 14:33:30 +0100
>    From: Eric Valette <valette at crf.canon.fr>
> 
>    Sorry to jump in but I may add the following (especially regarding the
>    recent discussion on the interrupt void* argument to hanlder). A single
>    per thread data software register is usually usefull for multi-thread
>    programming.
> 
> On the i386 I think that would be prohibitively expensive.  There are
> so few registers as it is.
> 
> It's true that many RISC architectures could easily support such a
> register.  In fact, some assign such a register in the conventional
> ABI.

This is not what I was thinking : unless it is specified in the ABI, you
must use a "software" register not
a hardware one.

> rtems_task_get_note(RTEMS_SELF, i, &v) is pretty efficient.  It's a
> single function call that has no loops and calls no other functions.
> (On the other hand, I'm not sure it's interrupt safe.)

I think it should be mapped directly in a global variable
like void* currentThreadCtx (especially if one day memory protection
is targetted...)

-- 
   __                 
  /  `                   	Eric Valette
 /--   __  o _.          	Canon CRF - Communication Dept
(___, / (_(_(__         	Rue de la touche lambert
				35517 Cesson-Sevigne  Cedex
				FRANCE
Tel: +33 (0)2 99 87 68 91	Fax: +33 (0)2 99 84 11 30
E-mail: valette at crf.canon.fr	http://www.crf.canon.fr



More information about the users mailing list