1# Power Architecture definition 2# Four defined ABIs, all combinations of: 3# *) Hard/Soft Floating Point 4# *) 32-bit/64-bit 5 6DEFAULTTUNE ?= "powerpc" 7 8TUNE_PKGARCH = "${TUNE_PKGARCH:tune-${DEFAULTTUNE}}" 9ABIEXTENSION ?= "" 10 11# Endian 12TUNEVALID[bigendian] = "Use PowerPC Big Endian" 13 14TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "bigendian", " -mbig-endian", " -mlittle-endian", d)}" 15 16TUNEVALID[m32] = "Power ELF32 standard ABI" 17TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', ' -m32', '', d)}" 18TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', 'powerpc${ENDIAN_SFX}', '', d)}" 19ENDIAN_SFX = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '', 'le', d)}" 20 21TUNEVALID[fpu-hard] = "Use hardware FPU." 22TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-hard', ' -mhard-float', '', d)}" 23 24TUNEVALID[fpu-soft] = "Use software FPU." 25TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-soft', ' -msoft-float', '', d)}" 26TARGET_FPU .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-soft', 'soft', '', d)}" 27 28TUNEVALID[altivec] = "Altivec" 29 30# Basic tune definitions 31AVAILTUNES += "powerpc powerpc-nf powerpcle powerpcle-nf" 32 33TUNE_FEATURES:tune-powerpc-nf = "m32 fpu-soft bigendian" 34BASE_LIB:tune-powerpc-nf = "lib" 35TUNE_PKGARCH:tune-powerpc-nf = "powerpc-nf" 36PACKAGE_EXTRA_ARCHS:tune-powerpc-nf = "powerpc-nf" 37 38TUNE_FEATURES:tune-powerpc = "m32 fpu-hard bigendian" 39BASE_LIB:tune-powerpc = "lib" 40TUNE_PKGARCH:tune-powerpc = "powerpc" 41PACKAGE_EXTRA_ARCHS:tune-powerpc = "powerpc" 42 43TUNE_FEATURES:tune-powerpcle-nf = "m32 fpu-soft" 44BASE_LIB:tune-powerpcle-nf = "lib" 45TUNE_PKGARCH:tune-powerpcle-nf = "powerpcle-nf" 46PACKAGE_EXTRA_ARCHS:tune-powerpcle-nf = "powerpcle-nf" 47 48TUNE_FEATURES:tune-powerpcle = "m32 fpu-hard" 49BASE_LIB:tune-powerpcle = "lib" 50TUNE_PKGARCH:tune-powerpcle = "powerpcle" 51PACKAGE_EXTRA_ARCHS:tune-powerpcle = "powerpcle" 52