Changeset 924e17a in rtems for c/src/exec/score/cpu/m68k

Timestamp:
06/25/98 16:10:45 (26 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
43b78f15
Parents:
803de41
Message:

Patch from Robin Kirkham <Robin.Kirkham@…> to distinguish
between CPU32 and CPU32+ cores. Commentary follows:

Unfortunately c/src/exec/score/cpu/m68k/m68k.h incorrectly defines
M68K_HAS_MISALIGNED for the plain old CPU32 (it is correct for the CPU32+).
As a consequence, the recently-relocated m68k memcpy() may still attempt
misaligned memory accesses.

I suggest that until such time as egcs/gcc differentiates these cores
that we invent a new preprocessor symbol, RTEMSmcpu32p for this
purpose, on the assumption that egcs may one day grow a -mcpu32+ option
which will define a mcpu32p symbol (whether this option would also
define mcpu32 is yet to be resolved).

BSPs that have a CPU32+ (like gen68360) would for the time being define
RTEMSmcpu32p using -D. The symbol is `RTEMSmcpu32p' because
symbols of the form xxx should only be defined by the compiler
itself.

Note that the patch tests for RTEMSmcpu32p *before* mcpu32, since
mcpu32 is still defined for the CPU32+. It does not change the
gen68360 BSP.

An aside:
Note that in egcs-1.0.3a, the option -m68332 is identical to -mcpu32,
except it defines mc68332 as well as mcpu32. This is only
for the sake of compatibility. The story with -m68302 is similar;
it defines mc68302 and mc68000. In my opinion these options
are depreciated and ought to be avoided in RTEMS.

(No files)

Note: See TracChangeset for help on using the changeset viewer.