Exactly where does the -mcpu= argument get used in the configuration process?

Travis Wheatley travis.wheatley at emergentspace.com
Thu Mar 17 15:10:56 UTC 2016


I am currently porting the existing qoriq_t2080rdb to a t1040rdb board. The obvious first step has been to modify the make/custom/qoriq_t2080rdb.cfg to turn off altivec and change the -mcpu flag.

The original CPU_FLAGS line looked like this:

CPU_CFLAGS = -mcpu=e6500 -m32 -msdata=sysv -fno-common \
        -D__ppc_generic

I have modified it thusly:

CPU_CFLAGS = -mcpu=e5500 -m32 -msoft-float -mno-altivec -msdata=sysv -fno-common \
        -D__ppc_generic

However, it appears that changing the -mcpu argument causes a compile time error that is related to cache sizes. I am wondering exactly where the -mcpu flag gets used in the configure process that would subsequently cause the values of CPU_CACHE_LINE_BYTES, CPU_DATA_CACHE_ALIGNMENT, and CPU_INSTRUCTION_CACHE_ALIGNMENT to change.

Following are the compile time errors I am receiving when using -mcpu=e5500 flag:

--- Begin included text ---

../../../../../../../rtems-git/c/src/lib/libcpu/powerpc/../shared/src/cache_manager.c:46:2: error: #error "CPU_DATA_CACHE_ALIGNMENT is greater than CPU_CACHE_LINE_BYTES"
 #error "CPU_DATA_CACHE_ALIGNMENT is greater than CPU_CACHE_LINE_BYTES"
  ^~~~~
../../../../../../../rtems-git/c/src/lib/libcpu/powerpc/../shared/src/cache_manager.c:50:2: error: #error "CPU_INSTRUCTION_CACHE_ALIGNMENT is greater than CPU_CACHE_LINE_BYTES"
 #error "CPU_INSTRUCTION_CACHE_ALIGNMENT is greater than CPU_CACHE_LINE_BYTES"
  ^~~~~
make[5]: *** [../shared/src/shared_cache_rel-cache_manager.o] Error 1
make[5]: Leaving directory `/home/firefly/development/rtems/build-powerpc/powerpc-rtems4.12/c/qoriq_t2080rdb/lib/libcpu/powerpc'
make[4]: *** [install-recursive] Error 1



More information about the users mailing list