This is the first set of build system changes to support
architecture versions other than ARMv5TE. The general approach is to provide TARGET_ARCH_VERSION, to complement TARGET_ARCH. This defaults to the current armv5te. The variable values should match the architectures as defined by gcc. There is a block of defines for each supported architecture version (currently ARMv5TE and ARMv4). Each block defines a set of features using ARCH_ARM_HAVE_<x> variables. It also specifies a set of c preprocessor defines to pass to the compiler. Finally it defines a default CPU. (As for architecture versions, the default CPU should match a CPU that gcc knows about.) Support is added for architectures that do not support THUMB. Specifically we change the 'thumb compile' target to simply compile as ARM code instead, and we change the interworking flag passed to the compiler. Finally, we ensure that the system/core/include/arch/linux-arm directory is added to the default include path, which allows the use of asm/macros.h header file described in review #1626. The way in which this done is considerably unclean/hacky, if someone can suggest a better way please let me know.
Loading
Please register or sign in to comment