MPC555 : wrong assembly instruction with GCC

Ralf Corsepius corsepiu at faw.uni-ulm.de
Tue Apr 30 12:31:15 UTC 2002


Am Die, 2002-04-30 um 13.33 schrieb Sergei Organov:
> Joel Sherrill <joel.sherrill at OARcorp.com> writes:
> > Sergei Organov wrote:
> > > 
> > > It's not gcc. I believe gcc knows nothing about cache.
> > > 
> > > Take a look at macro call
> > > 
> > > _CPU_Data_Cache_Block_Flush( slot );
> > > 
> > > at the end of the routine -- it's definition contains explicit asm statement
> > > containing 'dcbf' instruction.
> > 
> > In which case, RTEMS needs to wrap this with a conditional on CPU type
> > (or better yet move it to libcpu).
> 
> Yes, it seems that there are still quite a few issues to be resolved in the
> "new exception processing" code...

This is old exceptions :)

And it is only used at one place:

find -type f -exec grep -H _CPU_Data_Cache_Block_Flush {} \;
./c/src/exec/score/cpu/powerpc/rtems/old-exceptions/cpu.h:#define
_CPU_Data_Cache_Block_Flush( _address ) \
./c/src/lib/libbsp/powerpc/support/old_exception_processing/cpu.c: 
_CPU_Data_Cache_Block_Flush( slot );

=> Do it actually give sense to keep this macro or can it be
moved/hard-coded into old_exception_processing/cpu.c?


Anyway, does anybody know to which cpu the mpc555 is supposed to be
compatible and whether the dcbf instruction only is not available on the
mpc555, or other powerpcs, or powerpc-cpu-families too?

Ralf






More information about the users mailing list