Default processor for armv6?

Tim Kientzle kientzle at freebsd.org
Wed Jun 27 14:54:14 UTC 2012


I'm filling in configuration so that an arm/armv6 build configures
GCC with a suitable default.

But I'm having some trouble figuring out what that default should be.  These are the ARMv6 processors supported by the in-tree GCC:

/* V6 Architecture Processors */
ARM_CORE("arm1136j-s",    arm1136js,    6J, FL_LDSCHED, 9e)
ARM_CORE("arm1136jf-s",   arm1136jfs,   6J, FL_LDSCHED | FL_VFPV2, 9e)
ARM_CORE("arm1176jz-s",   arm1176jzs,   6ZK, FL_LDSCHED, 9e)
ARM_CORE("arm1176jzf-s",  arm1176jzfs,  6ZK, FL_LDSCHED | FL_VFPV2, 9e)
ARM_CORE("mpcorenovfp",   mpcorenovfp,  6K, FL_LDSCHED, 9e)
ARM_CORE("mpcore",        mpcore,       6K, FL_LDSCHED | FL_VFPV2, 9e)

I had picked arm1136j-s originally, since that seems to be the earliest ARMv6 processor supported here.

My question:  Does an arm1136j-s require ARM_TP_ADDRESS?

In particular, asmacros.h uses an ARMv6K "clrex" instruction on processors that don't use ARM_TP_ADDRESS, which implies that ARM_TP_ADDRESS would be needed on the arm1136j-s.  So maybe the armv6 tree should default to the arm1176jz-s instead?

Can anyone give me some pointers to help unravel what processors require ARM_TP_ADDRESS?

Tim



More information about the freebsd-arm mailing list