diff options
Diffstat (limited to 'meta/conf/machine')
80 files changed, 1168 insertions, 841 deletions
diff --git a/meta/conf/machine/akita.conf b/meta/conf/machine/akita.conf deleted file mode 100644 index 0f5eaca9c..000000000 --- a/meta/conf/machine/akita.conf +++ /dev/null @@ -1,13 +0,0 @@ -#@TYPE: Machine -#@NAME: Sharp Zaurus SL-C1000 -#@DESCRIPTION: Machine configuration for the Sharp Zaurus SL-C1000 device - -require conf/machine/include/zaurus-2.6.inc -require conf/machine/include/zaurus-clamshell.inc - -PACKAGE_EXTRA_ARCHS += "iwmmxt" -MACHINE_FEATURES += "iwmmxt" - -IMAGE_FSTYPES ?= "jffs2" - -ROOT_FLASH_SIZE = "58" diff --git a/meta/conf/machine/beagleboard.conf b/meta/conf/machine/beagleboard.conf deleted file mode 100644 index 710fc7617..000000000 --- a/meta/conf/machine/beagleboard.conf +++ /dev/null @@ -1,35 +0,0 @@ -#@TYPE: Machine -#@NAME: Beagleboard machine -#@DESCRIPTION: Machine configuration for the http://beagleboard.org/ board -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6 armv7 armv7a" - -PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive" -XSERVER = "xserver-kdrive-fbdev" - -# Only has DVI connector for external screen -GUI_MACHINE_CLASS = "bigscreen" - -#Ship all kernel modules till the board support has matured enough -MACHINE_EXTRA_RRECOMMENDS = " kernel-modules" - -#include conf/machine/include/tune-arm1136jf-s.inc -include conf/machine/include/tune-cortexa8.inc - -IMAGE_FSTYPES += "tar.bz2 jffs2" -EXTRA_IMAGECMD_jffs2 = "-lnp " - -# Guesswork -SERIAL_CONSOLE = "115200 ttyS2" - -# No kernel recipe yet -PREFERRED_PROVIDER_virtual/kernel = "linux-omap" - -KERNEL_IMAGETYPE = "uImage" - -UBOOT_ENTRYPOINT = "0x80008000" -UBOOT_LOADADDRESS = "0x80008000" - - -# and sdio -MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat alsa" diff --git a/meta/conf/machine/bootcdx86.conf b/meta/conf/machine/bootcdx86.conf deleted file mode 100644 index ec0593adc..000000000 --- a/meta/conf/machine/bootcdx86.conf +++ /dev/null @@ -1,10 +0,0 @@ -#@TYPE: Machine -#@NAME: Bootable CD x86 setup -#@DESCRIPTION: Machine configuration for running an x86 system from bootable CD - -require conf/machine/qemux86.conf - -MACHINE_FEATURES = "kernel26 alsa screen" - -EXTRA_IMAGE_FEATURES = "" -IMAGE_ROOTFS_SIZE_ext2 = "70000" diff --git a/meta/conf/machine/c7x0.conf b/meta/conf/machine/c7x0.conf deleted file mode 100644 index 2b2f1a435..000000000 --- a/meta/conf/machine/c7x0.conf +++ /dev/null @@ -1,14 +0,0 @@ -#@TYPE: Machine -#@NAME: Sharp Zaurus SL-C7x0 -#@DESCRIPTION: Machine configuration for the Sharp Zaurus SL-C700, Sharp Zaurus SL-C750, Sharp Zaurus SL-C760, Sharp Zaurus SL-C860 devices - -require conf/machine/include/zaurus-2.6.inc -require conf/machine/include/zaurus-clamshell.inc - -IMAGE_FSTYPES ?= "jffs2" - -ROOT_FLASH_SIZE = "25" -# yes, we are aware that the husky (c760,c860) has 54MB rootfs, but we don't make a special image for it. - -#XSERVER = "xserver-kdrive-imageon" - diff --git a/meta/conf/machine/cm-x270.conf b/meta/conf/machine/cm-x270.conf deleted file mode 100644 index 226942de7..000000000 --- a/meta/conf/machine/cm-x270.conf +++ /dev/null @@ -1,67 +0,0 @@ -#@TYPE: Machine -#@Name: Compulab cm-x270 -#@DESCRIPTION: Machine configuration for Compulab cm-x270 computer module -#OLDEST_KERNEL = "2.6.16" -TARGET_ARCH = "arm" -GUI_MACHINE_CLASS ?= "bigscreen" - -PREFERRED_PROVIDER_virtual/kernel = "linux" -PREFERRED_VERSION_linux ?= "2.6.23" - -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt" - -require conf/machine/include/tune-xscale.inc - -# Console serial port. -# If you have a W module, add the following line to your local.conf: -# the following line to your local.conf: -CMX270_CONSOLE_SERIAL_PORT ?= "ttyS0" -# the following is for the cm-x270 L module -#CMX270_CONSOLE_SERIAL_PORT ?= "ttyS1" - -# NAND flash eraseblock size -# most of the older cm-x270 modules are populated with NAND flash -# that have 128KiB eraseblocks. Recently, a user encounted -# a device that has 16KiB eraseblocks. The following define -# can be overridden in local.conf if you have one of these devices. -CMX270_NAND_ERASEBLOCK_SIZE ?= "0x20000" - - -# used by sysvinit_2 package, so rebuild this -# package if you change the SERIAL_CONSOLE setting -# the following is the port for the cm-x270 L module -# I think the W module would use ttyS0, but has -# not been tested. This can be overwritten in -# local.conf -SERIAL_CONSOLE ?= "38400 ${CMX270_CONSOLE_SERIAL_PORT}" - -# used by opie-collections.inc -ROOT_FLASH_SIZE ?= "32" - -# for NAND flash. -EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=${CMX270_NAND_ERASEBLOCK_SIZE} --pad --no-cleanmarkers;\ - sumtool -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \ - -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs-summary.jffs2 \ - -e ${CMX270_NAND_ERASEBLOCK_SIZE} -p; \ - cd ${DEPLOY_DIR_IMAGE}; \ - rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.rootfs-summary.jffs2; \ - ln -s ${IMAGE_NAME}.rootfs-summary.jffs2 ${IMAGE_LINK_NAME}.rootfs-summary.jffs2 \ - " - -MACHINE_FEATURES = "kernel26 pcmcia usbhost usbgadget pcmcia alsa iwmmxt" - -# to program the compulab NAND flash, the following scheme is suggested. Create -# a small rootfs that can fit in NOR flash using the following config: -# - Angstrom distro -# - uclibc (set ANGSTROM_MODE = "uclibc" in local.conf) -# - angstrom-minimal-image-with-mtd-utils bitbake target -# - put the following in your local.conf -# - IMAGE_FSTYPES = "jffs2 tar cpio.gz" -# now, when you build the image, a cpio.gz will be generated -# that can be used as an initramfs. You can boot into this image and then -# program the main rootfs jffs2 image in NAND flash using mtd-utils -# you can select booting the initramfs, or the main nand rootfs by using -# the "ramdisk on", or "ramdisk off" commands in the bootloader -# - - diff --git a/meta/conf/machine/depicture.conf b/meta/conf/machine/depicture.conf deleted file mode 100644 index 333af4f2f..000000000 --- a/meta/conf/machine/depicture.conf +++ /dev/null @@ -1,32 +0,0 @@ -#@TYPE: Machine -#@NAME: Simtec BBD20EUROU + IM2440D20 (Combination known as: Depicture) -#@DESCRIPTION: Machine configuration for running an ARM 920t in the BBD20EUROU board. - -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t" - -require conf/machine/include/qemu.inc -require conf/machine/include/tune-arm920t.inc - -KERNEL_IMAGETYPE = "zImage" - -SERIAL_CONSOLE = "115200 ttySAC0" - -PREFERRED_PROVIDER_virtual/kernel = "linux-simtec" -PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-fbdev" - -MACHINE_FEATURES = "kernel26 alsa usbhost" -XSERVER = "xserver-kdrive-fbdev" - -SERIAL_CONSOLE = "115200 ttySAC0" - -# used by some images -ROOT_FLASH_SIZE = "28" - -# Ensure the JFFS2 has summary nodes... -IMAGE_FSTYPES += " jffs2" -EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 --pagesize=0x800 \ - --no-cleanmarkers --pad -n -x lzo ; sumtool --eraseblock=0x20000 --no-cleanmarkers \ - --littleendian --pad \ - -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \ - -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2.summary" diff --git a/meta/conf/machine/em-x270.conf b/meta/conf/machine/em-x270.conf deleted file mode 100644 index 47fb8ca53..000000000 --- a/meta/conf/machine/em-x270.conf +++ /dev/null @@ -1,65 +0,0 @@ -#@TYPE: Machine -#@NAME: EM-X270 -#@DESCRIPTION: Machine configuration for the CompuLab EM-X270 with a pxa27x CPU - -# -# Hardware-based properties -# -TARGET_ARCH = "arm" -GUI_MACHINE_CLASS ?= "bigscreen" - -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt " -PREFERRED_PROVIDER_virtual/kernel = "linux" - -require conf/machine/include/tune-xscale.inc - -# Uncomment this to use iwmmxt optimizations. Remove the above xscale stuff first -# require conf/machine/include/tune-iwmmxt.inc - -IMAGE_DEPENDS_jffs2 += " genext2fs-native " -ROOT_FLASH_SIZE = "128" -IMAGE_CMD_jffs2 = " \ - mkfs.jffs2 --root=${IMAGE_ROOTFS} \ - --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \ - --eraseblock=0x20000 --pad --faketime -n; \ - sumtool -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \ - -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs-summary.jffs2 \ - -e 0x20000 -p; \ - mkdir -p ${WORKDIR}/img; \ - mkdir -p ${WORKDIR}/kern-img/; \ - install -m 0644 `readlink -f ${DEPLOY_DIR_IMAGE}/uImage-em-x270.bin` ${WORKDIR}/kern-img/uImage; \ - mkfs.jffs2 --root=${WORKDIR}/kern-img/ --eraseblock=0x20000 --pad \ - --no-cleanmarkers --faketime --output=${WORKDIR}/img/em-x270-kernel.jffs2; \ - cd ${DEPLOY_DIR_IMAGE}; \ - ln -fs ${IMAGE_NAME}.rootfs-summary.jffs2 ${IMAGE_LINK_NAME}.rootfs-summary.jffs2; \ - install -m 0644 ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.rootfs-summary.jffs2 \ - ${WORKDIR}/img/em-x270-angstrom.jffs2; \ - size=`du -sk ${WORKDIR}/img | cut -f 1` ; ((size *= 120)) ; ((size /= 100)) ; \ - genext2fs -d ${WORKDIR}/img -b $size ${DEPLOY_DIR_IMAGE}/updater-em-x270.ext2 \ -" - -#VOLATILE_STORAGE_SIZE = "128" -MACHINE_DISPLAY_WIDTH_PIXELS ?= "480" -MACHINE_DISPLAY_HEIGHT_PIXELS ?= "640" -MACHINE_FEATURES = "kernel26 touchscreen apm alsa bluetooth wifi usbhost usbgadget screen phone " - -# -# Software/packages selection -# - -PREFERRED_PROVIDER_xserver = "xserver-kdrive" - -# -# Modules autoload and other boot properties -# -module_autoload_evdev = "evdev" -module_autoload_mmc_block = "mmc_block" -module_autoload_pxa27x_udc = "pxa27x_udc" - -#FIXME: this should be controlled by a userspace utility later. -module_autoload_g_ether = "g_ether" - -SERIAL_CONSOLE = "115200 ttyS0" - -KERNEL_IMAGETYPE = "uImage" -UBOOT_ENTRYPOINT = "a0008000" diff --git a/meta/conf/machine/htcuniversal.conf b/meta/conf/machine/htcuniversal.conf deleted file mode 100644 index 2f5b798bf..000000000 --- a/meta/conf/machine/htcuniversal.conf +++ /dev/null @@ -1,33 +0,0 @@ -#@TYPE: Machine -#@NAME: HTC Universal -#@DESCRIPTION: Machine configuration for the HTC Universal smartphone - -#include conf/machine/include/tune-iwmmxt.inc -include conf/machine/include/tune-xscale.inc - -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4t armv5te iwmmxt" - -PREFERRED_PROVIDER_virtual/kernel = "linux-rp" - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth irda screen touchscreen keyboard usbhost usbgadget wifi phone" - -MACHINE_EXTRA_RDEPENDS = "zaurusd" - -MACHINE_EXTRA_RRECOMMENDS = " \ - kernel-module-htcuniversal-bt \ - kernel-module-htcuniversal-phone \ - kernel-module-i2c-pxa \ - kernel-module-htcuniversal-acx \ - kernel-module-acx \ - kernel-module-usbserial \ - " - -module_autoload_acx = "acx" -module_autoload_htcuniversal_acx = "htcuniversal_acx" - -IMAGE_FSTYPES ?= "tar.gz" - -# Don't include kernels in standard images for Zaurus machines -RDEPENDS_kernel-base = "" -KERNEL_IMAGETYPE = "zImage" diff --git a/meta/conf/machine/hx2000.conf b/meta/conf/machine/hx2000.conf deleted file mode 100644 index 8b4c39f80..000000000 --- a/meta/conf/machine/hx2000.conf +++ /dev/null @@ -1,49 +0,0 @@ -#@TYPE: Machine -#@NAME: iPAQ hx2xxx -#@DESCRIPTION: Machine configuration for the hx2000 iPAQs with a pxa27x CPU - -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt " - -PREFERRED_PROVIDER_virtual/kernel = "linux-rp" - -PREFERRED_VERSION_orinoco-modules = "0.15rc1" - -ROOT_FLASH_SIZE = "80" - -EXTRA_IMAGECMD_jffs2 = "; sumtool -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \ - -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs-summary.jffs2 \ - -e 256KiB -p" - -IMAGE_FSTYPES ?= "jffs2 tar.bz2" - -MODUTILS = "26" - -MACHINE_FEATURES = "kernel26 touchscreen apm alsa pcmcia bluetooth irda wifi usbgadget usbhost screen vfat" - -PCMCIA_MANAGER = "pcmciautils" - -SERIAL_CONSOLE = "115200 ttyS0" - -MACHINE_GUI_CLASS = "smallscreen" -MACHINE_DISPLAY_WIDTH_PIXELS = "240" -MACHINE_DISPLAY_HEIGHT_PIXELS = "320" - -require conf/machine/include/tune-xscale.inc - -# Uncomment this to use iwmmxt optimizations. Remove the above xscale stuff first -#require conf/machine/include/tune-iwmmxt.inc - -module_autoload_evdev = "evdev" -module_autoload_pcmcia = "pcmcia" -module_autoload_mmc_block = "mmc_block" -module_autoload_snd-pcm-oss = "snd-pcm-oss" -module_autoload_snd-mixer-oss = "snd-mixer-oss" -module_autoload_pxa27x_udc = "pxa27x_udc" - -#FIXME: this should be controlled by a userspace utility later. -module_autoload_g_ether = "g_ether" - -# Don't include kernels in standard images -RDEPENDS_kernel-base = "" -KERNEL_IMAGETYPE = "zImage" diff --git a/meta/conf/machine/include/README b/meta/conf/machine/include/README new file mode 100644 index 000000000..e4b59c956 --- /dev/null +++ b/meta/conf/machine/include/README @@ -0,0 +1,81 @@ +2012/03/30 - Mark Hatle <mark.hatle@windriver.com> + - Initial Revision + +The individual CPU, and ABI tunings are contained in this directory. A +number of local and global variables are used to control the way the +tunings are setup and how they work together to specify an optimized +configuration. + +The following is brief summary of the generic components that are used +in these tunings. + +AVAILTUNES - This is a list of all of the tuning definitions currently +available in the system. Not all tunes in this list may be compatible +with the machine configuration, or each other in a multilib +configuration. Each tuning file can add to this list using "+=", but +should never replace the list using "=". + +DEFAULTTUNE - This specifies the tune to use for a particular build. +Each tune should specify a reasonable default, which can be overriden by +a machine or multilib configuration. The specified tune must be listed +in the AVAILTUNES. + +TUNEVALID[feature] - The <feature> is defined with a human readable +explanation for what it does. All architectural, cpu, abi, etc tuning +features must be defined using TUNEVALID. + +TUNECONFLICTS[feature] - A list of features which conflict with <feature>. +New sanity checks will try to reject combinations in which a single +tuning ends up with features which conflict with each other. + +TUNE_FEATURES - This is automatically defined as TUNE_FEATURES_tune-<tune>. +See TUNE_FEATURES_tune-<tune> for more information. + +TUNE_FEATURES_tune-<tune> - Specify the features used to describe a +specific tune. This is a list of features that a tune support, each +feature must be in the TUNEVALID list. Note: the tune and a given +feature name may be the same, but they have different purposes. Only +features may be used to change behavior, while tunes are used to +describe an overall set of features. + +ABIEXTENSION - An ABI extension may be specified by a specific feature +or other tuning setting, such as TARGET_FPU. Any ABI extensions either +need to be defined in the architectures base arch file, i.e. +ABIEXTENSION = "eabi" in the arm case, or appended to in specific tune +files with a ".=". Spaces are not allowed in this variable. + +TUNE_CCARGS - Setup the cflags based on the TUNE_FEATURES settings. +These should be additive when defined using "+=". All items in this +list should be dynamic! i.e. +${@bb.utils.contains("TUNE_FEATURES", "feature", "cflag", "!cflag", d)} + +TUNE_ARCH - The GNU canonical arch for a specific architecture. i.e. +arm, armeb, mips, mips64, etc. This value is by bitbake to setup +configure. TUNE_ARCH definitions are specific to a given architecture. +They may be a single static definitions, or may be dynamically adjusted. +See each architectures README for details for that CPU family. + +TUNE_PKGARCH - The package architecture used by the packaging systems to +define the architecture, abi and tuning of a particular package. +Similarly to TUNE_ARCH, the definition of TUNE_PKGARCH is specific to +each architecture. See each architectures README for details for that +CPU family. + +PACKAGE_EXTRA_ARCHS - Lists all runtime compatible package +architectures. By default this is equal to +PACKAGE_EXTRA_ARCHS_tune-<tune>. If an architecture deviates from the +default it will be listed in the architecture README. + +PACKAGE_EXTRA_ARCHS_tune-<tune> - List all of the package architectures +that are compatible with this specific tune. The package arch of this +tune must be in the list. + +TARGET_FPU - The FPU setting for a given tune, hard (generate floating +point instructions), soft (generate internal gcc calls), "other" +architecture specific floating point. This is synchronized with the +compiler and other toolchain items. This should be dynamically +configured in the same way that TUNE_CCARGS is. + +BASE_LIB_tune-<tune> - The "/lib" location for a specific ABI. This is +used in a multilib configuration to place the libraries in the correct, +non-conflicting locations. diff --git a/meta/conf/machine/include/arm/README b/meta/conf/machine/include/arm/README new file mode 100644 index 000000000..a1beb75fd --- /dev/null +++ b/meta/conf/machine/include/arm/README @@ -0,0 +1,40 @@ +2012/03/30 - Mark Hatle <mark.hatle@windriver.com> + - Initial Revision + +The ARM architecture definitions are split among a number of files. +The primary definitions for the variables are handled by the core +arch-arm.inc file. + +TUNE_ARCH is set to either "arm" or "armeb" depending on the value +of the existence of the "bigendian" feature in a given tune. + +A small set of ARM specific variables have been defined to allow +TUNE_PKGARCH to be automatically defined. Optimized tunings must NOT +change the definiton of TUNE_PKGARCH. TUNE_PKGACH_tune-<tune> will be +ignored. The format of the package arch is enforced by the TUNE_PKGARCH +default. The format must be of the form: +<armversion>[t][e][hf][b][-vfp][-neon] + +TUNE_PKGARCH is defined as: +${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU} + +ARMPKGARCH - This is the core package arch component specified by each +tuning. This is the primary identifier of a tuning. Usual values are: +arm, armv4, armv5, armv6, armv7a, etc. + +ARMPKGSFX_THUMB - This is the thumb specific suffix. Curently it is +defined in feature-arm-thumb.inc. + +ARMPKGSFX_DSP - This is the DSP specific suffix. Currently this is set +to 'e' when on armv5 and the dsp feature is enabled. + +ARMPKGSFX_EABI - This is the eabi specific suffix. There are currently +two defined ABIs specificed, standard EABI and Hard Float (VFP) EABI. +When the callconvention-hard is enabled, "hf" is specified, otherwise it +is blank. + +ARMPKGSFX_ENDIAN - This is the endian specific suffix. It is defined in +the core arch-arm.inc file. + +ARMPKGSFX_FPU - This is the FPU specific suffix. The suffix indicates +specific FPU optimizations. 'vfp' and 'neon' are both defined. diff --git a/meta/conf/machine/include/arm/arch-arm.inc b/meta/conf/machine/include/arm/arch-arm.inc new file mode 100644 index 000000000..da5104409 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-arm.inc @@ -0,0 +1,17 @@ + +TUNEVALID[bigendian] = "Enable big-endian mode." + +ARMPKGARCH ??= "arm" +ARMPKGSFX_ENDIAN = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "b", "", d)}" +ARMPKGSFX_FPU ??= "" +ARMPKGSFX_DSP ??= "" +ARMPKGSFX_EABI ??= "" +ARMPKGSFX_THUMB ??= "" + +TUNE_ARCH = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "armeb", "arm", d)}" +TUNE_PKGARCH = "${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}" + +ABIEXTENSION = "eabi" + +TARGET_FPU = "${@d.getVar('ARMPKGSFX_FPU', True).strip('-') or 'soft'}" + diff --git a/meta/conf/machine/include/arm/arch-armv4.inc b/meta/conf/machine/include/arm/arch-armv4.inc new file mode 100644 index 000000000..a09c32358 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv4.inc @@ -0,0 +1,25 @@ +DEFAULTTUNE ?= "armv4" + +ARMPKGARCH ?= "armv4" + +TUNEVALID[armv4] = "Enable instructions for ARMv4" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "armv4", "-march=armv4${ARMPKGSFX_THUMB}", "", d)}" +MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "armv4", ":armv4", "" ,d)}" + +require conf/machine/include/arm/arch-arm.inc +require conf/machine/include/arm/feature-arm-thumb.inc + +# Little Endian +AVAILTUNES += "armv4 armv4t" +TUNE_FEATURES_tune-armv4 ?= "armv4" +TUNE_FEATURES_tune-armv4t ?= "armv4 thumb" +PACKAGE_EXTRA_ARCHS_tune-armv4 = "arm armv4" +PACKAGE_EXTRA_ARCHS_tune-armv4t = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv4t" + +# Big Endian +AVAILTUNES += "armv4b armv4tb" +TUNE_FEATURES_tune-armv4b ?= "${TUNE_FEATURES_tune-armv4} bigendian" +TUNE_FEATURES_tune-armv4tb ?= "${TUNE_FEATURES_tune-armv4t} bigendian" +PACKAGE_EXTRA_ARCHS_tune-armv4b = "armeb armv4b" +PACKAGE_EXTRA_ARCHS_tune-armv4tb = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv4tb" + diff --git a/meta/conf/machine/include/arm/arch-armv5-dsp.inc b/meta/conf/machine/include/arm/arch-armv5-dsp.inc new file mode 100644 index 000000000..0f64562f4 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv5-dsp.inc @@ -0,0 +1,41 @@ +ARMPKGSFX_DSP = "${@bb.utils.contains("TUNE_FEATURES", [ "armv5", "dsp" ], "e", "", d)}" +TUNEVALID[dsp] = "ARM DSP functionality" + +require conf/machine/include/arm/arch-armv5.inc + +# Little Endian +AVAILTUNES += "armv5e armv5te" +TUNE_FEATURES_tune-armv5e ?= "armv5 dsp" +TUNE_FEATURES_tune-armv5te ?= "armv5 dsp thumb" +PACKAGE_EXTRA_ARCHS_tune-armv5e = "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5e" +PACKAGE_EXTRA_ARCHS_tune-armv5te = "${PACKAGE_EXTRA_ARCHS_tune-armv5t} armv5e armv5te" + +# Little Endian + VFP/DSP +AVAILTUNES += "armv5e-vfp armv5te-vfp armv5ehf-vfp armv5tehf-vfp" +TUNE_FEATURES_tune-armv5e-vfp ?= "armv5 vfp dsp" +TUNE_FEATURES_tune-armv5te-vfp ?= "armv5 vfp dsp thumb" +TUNE_FEATURES_tune-armv5ehf-vfp ?= "${TUNE_FEATURES_tune-armv5e-vfp} callconvention-hard" +TUNE_FEATURES_tune-armv5tehf-vfp ?= "${TUNE_FEATURES_tune-armv5te-vfp} callconvention-hard" +PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5-vfp} armv5e armv5e-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv5te-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5t-vfp} armv5e armv5te armv5e-vfp armv5te-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv5ehf-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5hf-vfp} armv5ehf-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5thf-vfp} armv5ehf-vfp armv5tehf-vfp" + +# Big Endian +AVAILTUNES += "armv5eb armv5teb" +TUNE_FEATURES_tune-armv5eb ?= "${TUNE_FEATURES_tune-armv5e} bigendian" +TUNE_FEATURES_tune-armv5teb ?= "${TUNE_FEATURES_tune-armv5te} bigendian" +PACKAGE_EXTRA_ARCHS_tune-armv5eb = "${PACKAGE_EXTRA_ARCHS_tune-armv5b} armv5eb" +PACKAGE_EXTRA_ARCHS_tune-armv5teb = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb} armv5eb armv5teb" + +# Big Endian + VFP/DSP +AVAILTUNES += "armv5eb-vfp armv5teb-vfp armv5ehfb-vfp armv5tehfb-vfp" +TUNE_FEATURES_tune-armv5eb-vfp ?= "${TUNE_FEATURES_tune-armv5e-vfp} bigendian" +TUNE_FEATURES_tune-armv5teb-vfp ?= "${TUNE_FEATURES_tune-armv5te-vfp} bigendian" +TUNE_FEATURES_tune-armv5ehfb-vfp ?= "${TUNE_FEATURES_tune-armv5eb-vfp} callconvention-hard" +TUNE_FEATURES_tune-armv5tehfb-vfp ?= "${TUNE_FEATURES_tune-armv5teb-vfp} callconvention-hard" +PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp} armv5eb armv5eb-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp} armv5eb armv5teb armv5eb-vfp armv5teb-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv5ehfb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5hfb-vfp} armv5ehfb-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv5tehfb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5thfb-vfp} armv5ehfb-vfp armv5tehfb-vfp" + diff --git a/meta/conf/machine/include/arm/arch-armv5.inc b/meta/conf/machine/include/arm/arch-armv5.inc new file mode 100644 index 000000000..4a75530bb --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv5.inc @@ -0,0 +1,52 @@ +DEFAULTTUNE ?= "armv5" + +ARMPKGARCH ?= "armv5" + +TUNEVALID[armv5] = "Enable instructions for ARMv5" +TUNE_CONFLICTS[armv5] = "armv4" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "armv5", "-march=armv5${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}", "", d)}" +MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "armv5", ":armv5", "" ,d)}" + +ARMPKGSFX_DSP = "${@bb.utils.contains("TUNE_FEATURES", [ "armv5", "dsp" ], "e", "", d)}" + +require conf/machine/include/arm/arch-armv4.inc +require conf/machine/include/arm/feature-arm-vfp.inc + +# Little Endian +AVAILTUNES += "armv5 armv5t" +TUNE_FEATURES_tune-armv5 ?= "armv5" +TUNE_FEATURES_tune-armv5t ?= "armv5 thumb" +PACKAGE_EXTRA_ARCHS_tune-armv5 = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv5" +PACKAGE_EXTRA_ARCHS_tune-armv5t = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} armv5 armv5t" + +# Little Endian + VFP/DSP +AVAILTUNES += "armv5-vfp armv5t-vfp armv5hf-vfp armv5thf-vfp" +TUNE_FEATURES_tune-armv5-vfp ?= "armv5 vfp" +TUNE_FEATURES_tune-armv5t-vfp ?= "armv5 vfp" +TUNE_FEATURES_tune-armv5hf-vfp ?= "${TUNE_FEATURES_tune-armv5-vfp} callconvention-hard" +TUNE_FEATURES_tune-armv5thf-vfp ?= "${TUNE_FEATURES_tune-armv5t-vfp} callconvention-hard" +PACKAGE_EXTRA_ARCHS_tune-armv5-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv5t-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5t} armv5-vfp armv5t-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv5hf-vfp = "armv5hf-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv5thf-vfp = "armv5hf-vfp armv5thf-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5thf-vfp} armv5ehf-vfp armv5tehf-vfp" + +# Big Endian +AVAILTUNES += "armv5b armv5tb" +TUNE_FEATURES_tune-armv5b ?= "${TUNE_FEATURES_tune-armv5} bigendian" +TUNE_FEATURES_tune-armv5tb ?= "${TUNE_FEATURES_tune-armv5t} bigendian" +PACKAGE_EXTRA_ARCHS_tune-armv5b = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv5b" +PACKAGE_EXTRA_ARCHS_tune-armv5tb = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} armv5b armv5tb" + +# Big Endian + VFP/DSP +AVAILTUNES += "armv5b-vfp armv5tb-vfp armv5hfb-vfp armv5thfb-vfp" +TUNE_FEATURES_tune-armv5b-vfp ?= "${TUNE_FEATURES_tune-armv5-vfp} bigendian" +TUNE_FEATURES_tune-armv5tb-vfp ?= "${TUNE_FEATURES_tune-armv5t-vfp} bigendian" +TUNE_FEATURES_tune-armv5hfb-vfp ?= "${TUNE_FEATURES_tune-armv5b-vfp} callconvention-hard" +TUNE_FEATURES_tune-armv5thfb-vfp ?= "${TUNE_FEATURES_tune-armv5tb-vfp} callconvention-hard" +PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5b-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5t} armv5b-vfp armv5tb-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv5hfb-vfp = "armv5hfb-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv5thfb-vfp = "armv5hfb-vfp armv5thfb-vfp" + + diff --git a/meta/conf/machine/include/arm/arch-armv6.inc b/meta/conf/machine/include/arm/arch-armv6.inc new file mode 100644 index 000000000..da8274e29 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv6.inc @@ -0,0 +1,33 @@ +DEFAULTTUNE ?= "armv6" + +ARMPKGARCH ?= "armv6" + +TUNEVALID[armv6] = "Enable instructions for ARMv6" +TUNE_CONFLICTS[armv6] = "armv4 armv5" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "armv6", "-march=armv6", "", d)}" +MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "armv6", ":armv6", "" ,d)}" + +require conf/machine/include/arm/arch-armv5-dsp.inc + +# Little Endian +AVAILTUNES += "armv6 armv6t armv6hf armv6thf" +TUNE_FEATURES_tune-armv6 ?= "armv6 vfp" +TUNE_FEATURES_tune-armv6t ?= "armv6 vfp thumb" +TUNE_FEATURES_tune-armv6hf ?= "${TUNE_FEATURES_tune-armv6} callconvention-hard" +TUNE_FEATURES_tune-armv6thf ?= "${TUNE_FEATURES_tune-armv6t} callconvention-hard" +PACKAGE_EXTRA_ARCHS_tune-armv6 = "${PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp} armv6-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv6t = "${PACKAGE_EXTRA_ARCHS_tune-armv5te-vfp} armv6-vfp armv6t-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv6hf = "${PACKAGE_EXTRA_ARCHS_tune-armv5ehf-vfp} armv6hf-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv6thf = "${PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp} armv6hf-vfp armv6thf-vfp" + +# Big Endian +AVAILTUNES += "armv6b armv6tb armv6hfb armv6thfb" +TUNE_FEATURES_tune-armv6b ?= "${TUNE_FEATURES_tune-armv6} bigendian" +TUNE_FEATURES_tune-armv6tb ?= "${TUNE_FEATURES_tune-armv6t} bigendian" +TUNE_FEATURES_tune-armv6hfb ?= "${TUNE_FEATURES_tune-armv6b} callconvention-hard" +TUNE_FEATURES_tune-armv6thfb ?= "${TUNE_FEATURES_tune-armv6tb} callconvention-hard" +PACKAGE_EXTRA_ARCHS_tune-armv6b = "${PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp} armv6b-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv6tb = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp} armv6b-vfp armv6tb-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv6hfb = "${PACKAGE_EXTRA_ARCHS_tune-armv5ehfb-vfp} armv6hfb-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv6thfb = "${PACKAGE_EXTRA_ARCHS_tune-armv5tehfb-vfp} armv6hfb-vfp armv6thfb-vfp" + diff --git a/meta/conf/machine/include/arm/arch-armv7a.inc b/meta/conf/machine/include/arm/arch-armv7a.inc new file mode 100644 index 000000000..c90aff5ae --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv7a.inc @@ -0,0 +1,56 @@ +DEFAULTTUNE ?= "armv7a" + +ARMPKGARCH ?= "armv7a" + +TUNEVALID[armv7a] = "Enable instructions for ARMv7-a" +TUNE_CONFLICTS[armv7a] = "armv4 armv5 armv6 armv7" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "armv7a", "-march=armv7-a -fno-tree-vectorize", "", d)}" +MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "armv7a", ":armv7a", "" ,d)}" + +require conf/machine/include/arm/arch-armv6.inc +require conf/machine/include/arm/feature-arm-neon.inc + +# Little Endian base configs +AVAILTUNES += "armv7a armv7at armv7a-neon armv7at-neon" +TUNE_FEATURES_tune-armv7a ?= "armv7a vfp" +TUNE_FEATURES_tune-armv7at ?= "armv7a vfp thumb" +TUNE_FEATURES_tune-armv7a-neon ?= "armv7a vfp neon" +TUNE_FEATURES_tune-armv7at-neon ?= "armv7a vfp neon thumb" +PACKAGE_EXTRA_ARCHS_tune-armv7a = "${PACKAGE_EXTRA_ARCHS_tune-armv6} armv7a armv7a-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv7a-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7a-vfp-neon" +PACKAGE_EXTRA_ARCHS_tune-armv7at = "${PACKAGE_EXTRA_ARCHS_tune-armv6t} armv7a armv7a-vfp armv7at2-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv7at-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-vfp-neon armv7at2-vfp-neon" + +# VFP Tunes +AVAILTUNES += "armv7ahf armv7athf armv7ahf-neon armv7athf-neon" +TUNE_FEATURES_tune-armv7ahf ?= "${TUNE_FEATURES_tune-armv7a} callconvention-hard" +TUNE_FEATURES_tune-armv7athf ?= "${TUNE_FEATURES_tune-armv7at} callconvention-hard" +TUNE_FEATURES_tune-armv7ahf-neon ?= "${TUNE_FEATURES_tune-armv7a-neon} callconvention-hard" +TUNE_FEATURES_tune-armv7athf-neon ?= "${TUNE_FEATURES_tune-armv7at-neon} callconvention-hard" +PACKAGE_EXTRA_ARCHS_tune-armv7ahf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} armv7ahf-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv7athf = "${PACKAGE_EXTRA_ARCHS_tune-armv6thf} armv7ahf-vfp armv7at2hf-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-vfp-neon" +PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-vfp-neon armv7at2hf-vfp-neon" + +# Big Endian +AVAILTUNES += "armv7ab armv7atb armv7ab-neon armv7atb-neon" +TUNE_FEATURES_tune-armv7ab ?= "${TUNE_FEATURES_tune-armv7a} bigendian" +TUNE_FEATURES_tune-armv7atb ?= "${TUNE_FEATURES_tune-armv7at} bigendian" +TUNE_FEATURES_tune-armv7ab-neon ?= "${TUNE_FEATURES_tune-armv7a-neon} bigendian" +TUNE_FEATURES_tune-armv7atb-neon ?= "${TUNE_FEATURES_tune-armv7at-neon} bigendian" +PACKAGE_EXTRA_ARCHS_tune-armv7ab = "${PACKAGE_EXTRA_ARCHS_tune-armv6} armv7ab-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv7atb = "${PACKAGE_EXTRA_ARCHS_tune-armv6t} armv7ab-vfp armv7at2b-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7ab-vfp-neon" +PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7ab-vfp-neon armv7at2b-vfp-neon" + +# Big Endian + VFP +AVAILTUNES += "armv7ahfb armv7athfb armv7ahfb-neon armv7athfb-neon" +TUNE_FEATURES_tune-armv7ahfb ?= "${TUNE_FEATURES_tune-armv7ab} callconvention-hard" +TUNE_FEATURES_tune-armv7athfb ?= "${TUNE_FEATURES_tune-armv7atb} callconvention-hard" +TUNE_FEATURES_tune-armv7ahfb-neon ?= "${TUNE_FEATURES_tune-armv7ab-neon} callconvention-hard" +TUNE_FEATURES_tune-armv7athfb-neon ?= "${TUNE_FEATURES_tune-armv7atb-neon} callconvention-hard" +PACKAGE_EXTRA_ARCHS_tune-armv7ahfb = "${PACKAGE_EXTRA_ARCHS_tune-armv6hfb} armv7ahfb-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv7athfb = "${PACKAGE_EXTRA_ARCHS_tune-armv6thfb} armv7ahfb-vfp armv7at2hfb-vfp" +PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-vfp-neon" +PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-vfp-neon armv7at2hfb-vfp-neon" + diff --git a/meta/conf/machine/include/arm/feature-arm-neon.inc b/meta/conf/machine/include/arm/feature-arm-neon.inc new file mode 100644 index 000000000..a7dac0387 --- /dev/null +++ b/meta/conf/machine/include/arm/feature-arm-neon.inc @@ -0,0 +1,3 @@ +TUNEVALID[neon] = "Enable Neon SIMD accelerator unit." +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "neon", "-mfpu=neon", "" ,d)}" +ARMPKGSFX_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "neon", "-neon", "" ,d)}" diff --git a/meta/conf/machine/include/arm/feature-arm-thumb.inc b/meta/conf/machine/include/arm/feature-arm-thumb.inc new file mode 100644 index 000000000..d094529d2 --- /dev/null +++ b/meta/conf/machine/include/arm/feature-arm-thumb.inc @@ -0,0 +1,26 @@ +# The instruction set the compiler should use when generating application +# code. The kernel is always compiled with arm code at present. arm code +# is the original 32 bit ARM instruction set, thumb code is the 16 bit +# encoded RISC sub-set. Thumb code is smaller (maybe 70% of the ARM size) +# but requires more instructions (140% for 70% smaller code) so may be +# slower. +TUNEVALID[thumb] = "Use thumb instructions instead of ARM" +ARM_THUMB_M_OPT = "${@['-marm', '-mthumb'][d.getVar('ARM_INSTRUCTION_SET', True) == 'thumb']}" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "thumb", "${ARM_THUMB_M_OPT}", "", d)}" +OVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "thumb", ":thumb", "", d)}" + +# Note armv7 will hit on armv7a as well +ARMPKGSFX_THUMB .= "${@bb.utils.contains("TUNE_FEATURES", [ "armv4", "thumb" ], "t", "", d)}" +ARMPKGSFX_THUMB .= "${@bb.utils.contains("TUNE_FEATURES", [ "armv5", "thumb" ], "t", "", d)}" +ARMPKGSFX_THUMB .= "${@bb.utils.contains("TUNE_FEATURES", [ "armv6", "thumb" ], "t", "", d)}" +ARMPKGSFX_THUMB .= "${@bb.utils.contains("TUNE_FEATURES", [ "armv7", "thumb" ], "t2", "", d)}" + +# Whether to compile with code to allow interworking between the two +# instruction sets. This allows thumb code to be executed on a primarily +# arm system and vice versa. It is strongly recommended that DISTROs not +# turn this off - the actual cost is very small. +TUNEVALID[no-thumb-interwork] = "Disable mixing of thumb and ARM functions" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "no-thumb-interwork", "-mno-thumb-interwork", "-mthumb-interwork", d)}" +OVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "no-thumb-interwork", ":thumb-interwork", "", d)}" + +TARGET_CC_KERNEL_ARCH += "-mno-thumb-interwork -marm" diff --git a/meta/conf/machine/include/arm/feature-arm-vfp.inc b/meta/conf/machine/include/arm/feature-arm-vfp.inc new file mode 100644 index 000000000..29a925c3f --- /dev/null +++ b/meta/conf/machine/include/arm/feature-arm-vfp.inc @@ -0,0 +1,6 @@ +TUNEVALID[vfp] = "Enable Vector Floating Point (vfp) unit." +ARMPKGSFX_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "vfp", "-vfp", "" ,d)}" + +TUNEVALID[callconvention-hard] = "Enable EABI hard float call convention, requires VFP." +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "vfp", bb.utils.contains("TUNE_FEATURES", "callconvention-hard", "-mfloat-abi=hard", "-mfloat-abi=softfp", d), "" ,d)}" +ARMPKGSFX_EABI .= "${@bb.utils.contains("TUNE_FEATURES", [ "callconvention-hard", "vfp" ], "hf", "", d)}" diff --git a/meta/conf/machine/include/ia32/README b/meta/conf/machine/include/ia32/README new file mode 100644 index 000000000..8f80a5ba9 --- /dev/null +++ b/meta/conf/machine/include/ia32/README @@ -0,0 +1,24 @@ +2012/03/30 - Mark Hatle <mark.hatle@windriver.com> + - Initial version + +Most of the items for the IA architecture are defined in the single +arch-ia32 file. + +Three ABIs are define, m32, mx32 and m64. + +The following is the list of ia32 specific variables: + +X86ARCH32 - This is the 32-bit architecture GNU canonical arch, TUNE_ARCH. + +X86ARCH64 - This is the 64-bit architecture GNU canonical arch, TUNE_ARCH. + +The TUNE_PKGARCH is defined as follows: + +TUNE_PKGARCH = ${TUNE_PKGARCH_tune-${DEFAULTTUNE}} + +The package architecture for 32-bit targets is historical and generally +set to to match the core compatible processor type, i.e. i386. + +For 64-bit architectures, the architecture is expected to end in '_64'. + +If the x32 ABI is used, then the _64 is further extended with a '_x32'. diff --git a/meta/conf/machine/include/ia32/arch-ia32.inc b/meta/conf/machine/include/ia32/arch-ia32.inc new file mode 100644 index 000000000..15f67d7c6 --- /dev/null +++ b/meta/conf/machine/include/ia32/arch-ia32.inc @@ -0,0 +1,51 @@ +# +# IA32 Architecture definition +# + +DEFAULTTUNE ?= "x86" +TARGET_FPU ?= "" +X86ARCH32 ?= "i586" +X86ARCH64 ?= "x86_64" + +TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" + +# ELF32 ABI +TUNEVALID[m32] = "IA32 ELF32 standard ABI" +TUNECONFLICTS[m32] = "m64 mx32" +TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m32", "${X86ARCH32}", "" ,d)}" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "m32", "-m32", "", d)}" +MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "m32", ":x86", "" ,d)}" + +# x32 ABI +TUNEVALID[mx32] = "IA32e (x86_64) ELF32 standard ABI" +TUNECONFLICTS[mx32] = "m64 m32" +TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", "${X86ARCH64}", "" ,d)}" +ABIEXTENSION .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", "x32", "" ,d)}" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-mx32", "", d)}" +TUNE_LDARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-m elf32_x86_64", "", d)}" +TUNE_ASARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-x32", "", d)}" + +# ELF64 ABI +TUNEVALID[m64] = "IA32e (x86_64) ELF64 standard ABI" +TUNECONFLICTS[m64] = "m32 mx32" +TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m64", "${X86ARCH64}", "" ,d)}" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "m64", "-m64", "", d)}" + +# Default Tune configurations +AVAILTUNES += "x86" +TUNE_FEATURES_tune-x86 = "m32" +BASE_LIB_tune-x86 = "lib" +TUNE_PKGARCH_tune-x86 = "x86" +PACKAGE_EXTRA_ARCHS_tune-x86 = "${TUNE_PKGARCH_tune-x86}" + +AVAILTUNES += "x86-64" +TUNE_FEATURES_tune-x86-64 = "m64" +BASE_LIB_tune-x86-64 = "lib64" +TUNE_PKGARCH_tune-x86-64 = "x86_64" +PACKAGE_EXTRA_ARCHS_tune-x86-64 = "${TUNE_PKGARCH_tune-x86-64}" + +AVAILTUNES += "x86-64-x32" +TUNE_FEATURES_tune-x86-64-x32 = "mx32" +BASE_LIB_tune-x86-64-x32 = "libx32" +TUNE_PKGARCH_tune-x86-64-x32 = "x86_64_x32" +PACKAGE_EXTRA_ARCHS_tune-x86-64-x32 = "${TUNE_PKGARCH_tune-x86-64-x32}" diff --git a/meta/conf/machine/include/mips/README b/meta/conf/machine/include/mips/README new file mode 100644 index 000000000..c375f316d --- /dev/null +++ b/meta/conf/machine/include/mips/README @@ -0,0 +1,36 @@ +2012/03/30 - Mark Hatle <mark.hatle@windriver.com> + - Initial Version + +MIPS currently defines 12 ABIs. Combinations of: + *) Big/Little Endian + *) Hardware/Software Floating Point + *) o32, n32, n64 ABI + +TUNE_ARCH, the GNU canonical arch, is defined as: + +mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN} + +The package arch is defined in such a way to generated a standard naming +scheme. The scheme is: <mips variant>[-nf][-n32] + +TUNE_PKGARCH is defined as: + +${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI} + +The following is a list of MIPS specific variables: + +MIPSPKGSFX_BYTE - This is defined as either blank and "64" for MIPS64 CPUs. + +MIPSPKGSFX_ENDIAN - For bigendian hardware this is blank, otherwise it's +defined as "el". + +MIPSPKGSFX_VARIANT_tune-<tune> - In the default tunings it is set to the +same value as TUNE_ARCH. In custom, optimized tunings, the value should +be modified to more precisely describe the tuning. + +MIPSPKGSFX_FPU - The value is set to "" or "-nf", where "-nf" indicates +that the tune is using a non-floating point ABI. + +MIPSPKGSFX_ABI - This is used to specify an alternative ABI when the previous +values are not enough to distringuish the package. "-n32" is added when +building for N32 ABI. diff --git a/meta/conf/machine/include/mips/arch-mips.inc b/meta/conf/machine/include/mips/arch-mips.inc new file mode 100644 index 000000000..9f1292084 --- /dev/null +++ b/meta/conf/machine/include/mips/arch-mips.inc @@ -0,0 +1,101 @@ +# MIPS Architecture definition +# 12 defined ABIs, all combinations of: +# *) Big/Little Endian +# *) Hardware/Software Floating Point +# *) o32, n32, n64 ABI + +DEFAULTTUNE ?= "mips" + +# Endianess +TUNEVALID[bigendian] = "Enable big-endian mode" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "-meb", "-mel", d)}" + +# ABI flags +TUNEVALID[o32] = "MIPS o32 ABI" +TUNECONFLICTS[o32] = "n32 n64" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "o32", "-mabi=32", "", d)}" + +TUNEVALID[n32] = "MIPS64 n32 ABI" +TUNECONFLICTS[n32] = "o32 n64" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "n32", "-mabi=n32", "", d)}" + +TUNEVALID[n64] = "MIPS64 n64 ABI" +TUNECONFLICTS[n64] = "o32 n32" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "n64", "-mabi=64", "", d)}" + +# Floating point +TUNEVALID[fpu-hard] = "Use hardware FPU" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard", "-mhard-float", "-msoft-float", d)}" +TARGET_FPU = "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard", "", "soft", d)}" + +# Package naming +MIPSPKGSFX_ENDIAN = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "", "el", d)}" +MIPSPKGSFX_BYTE = "${@bb.utils.contains("TUNE_FEATURES", "n64" , "64", "", d)}" +MIPSPKGSFX_BYTE .= "${@bb.utils.contains("TUNE_FEATURES", "n32" , "64", "", d)}" +MIPSPKGSFX_FPU = "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard" , "", "-nf", d)}" +MIPSPKGSFX_ABI = "${@bb.utils.contains("TUNE_FEATURES", "n32", "-n32", "", d)}" + +TUNE_ARCH = "mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN}" +TUNE_PKGARCH = "${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}" + +# Base tunes +AVAILTUNES += "mips mips64-n32 mips64 mipsel mips64el-n32 mips64el mips-nf mips64-nf-n32 mips64-nf mipsel-nf mips64el-nf-n32 mips64el-nf" +TUNE_FEATURES_tune-mips = "o32 bigendian fpu-hard" +BASE_LIB_tune-mips = "lib" +MIPSPKGSFX_VARIANT_tune-mips = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips = "mips" + +TUNE_FEATURES_tune-mips64-n32 = "n32 bigendian fpu-hard" +BASE_LIB_tune-mips64-n32 = "lib32" +MIPSPKGSFX_VARIANT_tune-mips64-n32 = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64-n32 = "mips64-n32" + +TUNE_FEATURES_tune-mips64 = "n64 bigendian fpu-hard" +BASE_LIB_tune-mips64 = "lib64" +MIPSPKGSFX_VARIANT_tune-mips64 = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64 = "mips64" + +TUNE_FEATURES_tune-mipsel = "o32 fpu-hard" +BASE_LIB_tune-mipsel = "lib" +MIPSPKGSFX_VARIANT_tune-mipsel = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mipsel = "mipsel" + +TUNE_FEATURES_tune-mips64el-n32 = "n32 fpu-hard" +BASE_LIB_tune-mips64el-n32 = "lib32" +MIPSPKGSFX_VARIANT_tune-mips64el-n32 = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64el-n32 = "mips64el-n32" + +TUNE_FEATURES_tune-mips64el = "n64 fpu-hard" +BASE_LIB_tune-mips64el = "lib64" +MIPSPKGSFX_VARIANT_tune-mips64el = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64el = "mips64el" + +TUNE_FEATURES_tune-mips-nf = "o32 bigendian" +BASE_LIB_tune-mips-nf = "lib" +MIPSPKGSFX_VARIANT_tune-mips-nf = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips-nf = "mips-nf" + +TUNE_FEATURES_tune-mips64-nf-n32 = "n32 bigendian" +BASE_LIB_tune-mips64-nf-n32 = "lib32" +MIPSPKGSFX_VARIANT_tune-mips64-nf-n32 = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64-nf-n32 = "mips64-nf-n32" + +TUNE_FEATURES_tune-mips64-nf = "n64 bigendian" +BASE_LIB_tune-mips64-nf = "lib64" +MIPSPKGSFX_VARIANT_tune-mips64-nf = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64-nf = "mips64-nf" + +TUNE_FEATURES_tune-mipsel-nf = "o32" +BASE_LIB_tune-mipsel-nf = "lib" +MIPSPKGSFX_VARIANT_tune-mipsel-nf = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mipsel-nf = "mipsel-nf" + +TUNE_FEATURES_tune-mips64el-nf-n32 = "n32" +BASE_LIB_tune-mips64el-nf-n32 = "lib32" +MIPSPKGSFX_VARIANT_tune-mips64el-nf-n32 = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64el-nf-n32 = "mips64el-nf-n32" + +TUNE_FEATURES_tune-mips64el-nf = "n64" +BASE_LIB_tune-mips64el-nf = "lib64" +MIPSPKGSFX_VARIANT_tune-mips64el-nf = "${TUNE_ARCH}" +PACKAGE_EXTRA_ARCHS_tune-mips64el-nf = "mips64el-nf" diff --git a/meta/conf/machine/include/powerpc/README b/meta/conf/machine/include/powerpc/README new file mode 100644 index 000000000..e87fb5082 --- /dev/null +++ b/meta/conf/machine/include/powerpc/README @@ -0,0 +1,17 @@ +2012/03/30 - Mark Hatle <mark.hatle@windriver.com> + - Initial revision + +There are 4 primary PowerPC ABIs. +# *) Hard/Soft Floating Point +# *) 32-bit/64-bit + +TUNE_ARCH is defined as either "powerpc" or "powerpc64" based on the m32 +or m64 feature. + +May of the PowerPC package archictures are based on legacy Linux names. +However, a general naming scheme should be similar to: ppc[64][<family>][-nf]. +(Note: the default package architectures are "powerpc" and "powerpc64".) + +TUNE_PKGARCH is defined as TUNE_PKGARCH_tune-${DEFAULTTUNE}. All +PowerPC tunings are required to define TUNE_PKGARCH_tune-<tune>. + diff --git a/meta/conf/machine/include/powerpc/arch-powerpc.inc b/meta/conf/machine/include/powerpc/arch-powerpc.inc new file mode 100644 index 000000000..12909d965 --- /dev/null +++ b/meta/conf/machine/include/powerpc/arch-powerpc.inc @@ -0,0 +1,32 @@ +# Power Architecture definition +# Four defined ABIs, all combinations of: +# *) Hard/Soft Floating Point +# *) 32-bit/64-bit + +DEFAULTTUNE ?= "powerpc" + +TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" +ABIEXTENSION ?= "" + +TUNEVALID[m32] = "Power ELF32 standard ABI" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "m32", "-m32", "", d)}" +TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m32", "powerpc", "", d)}" + +TUNEVALID[fpu-hard] = "Use hardware FPU." +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard", "-mhard-float", "", d)}" + +TUNEVALID[fpu-soft] = "Use software FPU." +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft", "-msoft-float", "", d)}" +TARGET_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft", "soft", "", d)}" + +# Basic tune definitions +AVAILTUNES += "powerpc powerpc-nf" +TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft" +BASE_LIB_tune-powerpc-nf = "lib" +TUNE_PKGARCH_tune-powerpc-nf = "powerpc-nf" +PACKAGE_EXTRA_ARCHS_tune-powerpc-nf = "powerpc-nf" + +TUNE_FEATURES_tune-powerpc = "m32 fpu-hard" +BASE_LIB_tune-powerpc = "lib" +TUNE_PKGARCH_tune-powerpc = "powerpc" +PACKAGE_EXTRA_ARCHS_tune-powerpc = "powerpc" diff --git a/meta/conf/machine/include/powerpc/arch-powerpc64.inc b/meta/conf/machine/include/powerpc/arch-powerpc64.inc new file mode 100644 index 000000000..a5e975574 --- /dev/null +++ b/meta/conf/machine/include/powerpc/arch-powerpc64.inc @@ -0,0 +1,14 @@ +DEFAULTTUNE ?= "powerpc64" + +require conf/machine/include/powerpc/arch-powerpc.inc + +TUNEVALID[m64] = "Power ELF64 standard ABI" +TUNE_CONFLICTS[m64] = "m32 nf" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "m64", "-m64", "", d)}" +TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", [ "m64" ], "powerpc64", "", d)}" + +AVAILTUNES += "powerpc64" +TUNE_FEATURES_tune-powerpc64 ?= "m64 fpu-hard" +BASE_LIB_tune-powerpc64 = "lib64" +TUNE_PKGARCH_tune-powerpc64 = "powerpc64" +PACKAGE_EXTRA_ARCHS_tune-powerpc64 = "powerpc64" diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc index 005472b17..421a14925 100644 --- a/meta/conf/machine/include/qemu.inc +++ b/meta/conf/machine/include/qemu.inc @@ -1,15 +1,17 @@ PCMCIA_MANAGER = "pcmciautils" -PREFERRED_PROVIDER_xserver = "xserver-kdrive" -GUI_MACHINE_CLASS = "bigscreen" -GPE_EXTRA_INSTALL += "gaim sylpheed" +PREFERRED_PROVIDER_virtual/xserver ?= "xserver-kdrive" +PREFERRED_PROVIDER_virtual/libgl ?= "mesa-xlib" -MACHINE_FEATURES = "kernel26 apm alsa pcmcia bluetooth irda usbgadget screen" +MACHINE_FEATURES = "apm alsa pcmcia bluetooth irda usbgadget screen" -IMAGE_FSTYPES ?= "tar.bz2 ext3" +IMAGE_FSTYPES += "tar.bz2 ext3" ROOT_FLASH_SIZE = "280" -IMAGE_ROOTFS_SIZE_ext2 ?= "280000" -IMAGE_ROOTFS_SIZE_ext3 ?= "280000" # Don't include kernels in standard images RDEPENDS_kernel-base = "" + +# Use a common kernel recipe for all QEMU machines +PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" + +EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native" diff --git a/meta/conf/machine/include/sh/README b/meta/conf/machine/include/sh/README new file mode 100644 index 000000000..b351acdd2 --- /dev/null +++ b/meta/conf/machine/include/sh/README @@ -0,0 +1,11 @@ +2012/03/30 - Mark Hatle <mark.hatle@windriver.com> + - Initial Revision + +Both big endian and little endian are defined for SH. + +Experimental -- SH tunings have not been validated. + +The TUNE_ARCH is defined as ${TUNE_ARCH_tune-${DEFAULTTUNE}}. + +The TUNE_PKGARCH is defind as ${TUNE_PKGARCH_tune-${DEFAULTTUNE}}. + diff --git a/meta/conf/machine/include/sh/arch-sh.inc b/meta/conf/machine/include/sh/arch-sh.inc new file mode 100644 index 000000000..cde59fed8 --- /dev/null +++ b/meta/conf/machine/include/sh/arch-sh.inc @@ -0,0 +1,9 @@ +# SH Architecture definition + +DEFAULTTUNE ?= "sh" + +TUNE_ARCH = "${TUNE_ARCH_tune-${DEFAULTTUNE}}" +TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" + +TUNEVALID[bigendian] = "Enabled big-endian mode." +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "-mb", "-ml", d)}" diff --git a/meta/conf/machine/include/soc-family.inc b/meta/conf/machine/include/soc-family.inc new file mode 100644 index 000000000..612039cb8 --- /dev/null +++ b/meta/conf/machine/include/soc-family.inc @@ -0,0 +1,2 @@ +# Add SOC_FAMILY to machine overrides so we get access to e.g. 'omap3' and 'ti335x' +MACHINEOVERRIDES .= "${@['', ':${SOC_FAMILY}']['${SOC_FAMILY}' != '']}" diff --git a/meta/conf/machine/include/tune-arm1136jf-s.inc b/meta/conf/machine/include/tune-arm1136jf-s.inc index be5aedc50..4f4a2eba0 100644 --- a/meta/conf/machine/include/tune-arm1136jf-s.inc +++ b/meta/conf/machine/include/tune-arm1136jf-s.inc @@ -1,8 +1,10 @@ -TARGET_CC_ARCH = "-march=armv6j -mtune=arm1136jf-s" -TARGET_CC_ARCH += "${@['', '-mfloat-abi=softfp -mfpu=vfp'][(bb.data.getVar('TARGET_FPU', d, 1) == 'soft') and (bb.data.getVar('CPU_FEATURES', d, 1).find('vfp') != -1)]}" -FEED_ARCH = "armv6" -BASE_PACKAGE_ARCH = "armv6" +DEFAULTTUNE ?= "arm1136jfs" -ARM_INSTRUCTION_SET = "${@['thumb','arm'][bb.data.getVar('CPU_FEATURES', d, 1).find('thumb') == -1]}" +require conf/machine/include/arm/arch-armv6.inc -require conf/machine/include/tune-thumb.inc +TUNEVALID[arm1136jfs] = "Enable arm1136jfs specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "arm1136jfs", "-mtune=arm1136jf-s", "", d)}" + +AVAILTUNES += "arm1136jfs" +TUNE_FEATURES_tune-arm1136jfs = "${TUNE_FEATURES_tune-armv6} arm1136jfs" +PACKAGE_EXTRA_ARCHS_tune-arm1136jfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6}" diff --git a/meta/conf/machine/include/tune-arm920t.inc b/meta/conf/machine/include/tune-arm920t.inc index 1f7a04bb3..b7584ab2d 100644 --- a/meta/conf/machine/include/tune-arm920t.inc +++ b/meta/conf/machine/include/tune-arm920t.inc @@ -1,4 +1,11 @@ -FEED_ARCH = "armv4t" -BASE_PACKAGE_ARCH = "armv4t" -TARGET_CC_ARCH = "-march=armv4t -mtune=arm920t" +DEFAULTTUNE ?= "arm920t" + +require conf/machine/include/arm/arch-armv4.inc + +TUNEVALID[arm920t] = "Enable arm920t specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "arm920t", "-mtune=arm920t", "", d)}" + +AVAILTUNES += "arm920t" +TUNE_FEATURES_tune-arm920t = "${TUNE_FEATURES_tune-armv4t} arm920t" +PACKAGE_EXTRA_ARCHS_tune-arm920t = "${PACKAGE_EXTRA_ARCHS_tune-armv4t}" diff --git a/meta/conf/machine/include/tune-arm926ejs.inc b/meta/conf/machine/include/tune-arm926ejs.inc index e80ef1049..7f2cc4e65 100644 --- a/meta/conf/machine/include/tune-arm926ejs.inc +++ b/meta/conf/machine/include/tune-arm926ejs.inc @@ -1,7 +1,11 @@ -FEED_ARCH = "armv5te" +DEFAULTTUNE ?= "arm926ejs" + +require conf/machine/include/arm/arch-armv5-dsp.inc + +TUNEVALID[arm926ejs] = "Enable arm926ejs specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "arm926ejs", "-mtune=arm926ej-s", "", d)}" + +AVAILTUNES += "arm926ejs" +TUNE_FEATURES_tune-arm926ejs = "${TUNE_FEATURES_tune-armv5te} arm926ejs" +PACKAGE_EXTRA_ARCHS_tune-arm926ejs = "${PACKAGE_EXTRA_ARCHS_tune-armv5te}" -# For gcc 3.x you need: -#TARGET_CC_ARCH = "-march=armv5te -mtune=arm926ejs" -# For gcc 4.x you need: -TARGET_CC_ARCH = "-march=armv5te -mtune=arm926ej-s" -BASE_PACKAGE_ARCH = "armv5te" diff --git a/meta/conf/machine/include/tune-arm9tdmi.inc b/meta/conf/machine/include/tune-arm9tdmi.inc index 39e449301..0dc5c2612 100644 --- a/meta/conf/machine/include/tune-arm9tdmi.inc +++ b/meta/conf/machine/include/tune-arm9tdmi.inc @@ -1,2 +1,11 @@ -BASE_PACKAGE_ARCH = "armv4t" -TARGET_CC_ARCH = "-mcpu=arm9tdmi -mtune=arm9tdmi" +DEFAULTTUNE ?= "arm9tdmi" + +require conf/machine/include/arm/arch-armv4.inc + +TUNEVALID[arm9tdmi] = "Enable arm9tdmi specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "arm9tdmi", "-mtune=arm9tdmi", "", d)}" + +AVAILTUNES += "arm9tdmi" +TUNE_FEATURES_tune-arm9tdmi = "${TUNE_FEATURES_tune-armv4t} arm9tdmi" +PACKAGE_EXTRA_ARCHS_tune-arm9tdmi = "${PACKAGE_EXTRA_ARCHS_tune-armv4t}" + diff --git a/meta/conf/machine/include/tune-armv7.inc b/meta/conf/machine/include/tune-armv7.inc deleted file mode 100644 index 96c8c6490..000000000 --- a/meta/conf/machine/include/tune-armv7.inc +++ /dev/null @@ -1,6 +0,0 @@ -# valid options for -march: `armv7', `armv7-a', `armv7-r', `armv7-m' -# valid option for -mtune: `cortex-a8', `cortex-r4', `cortex-m3', `cortex-m1' -# This will NOT compile programs in 'ARM' mode, which is what you really want -TARGET_CC_ARCH = "-march=armv7 -mfpu=vfp -mfloat-abi=softfp" -FEED_ARCH = "armv7" -BASE_PACKAGE_ARCH = "armv7" diff --git a/meta/conf/machine/include/tune-atom.inc b/meta/conf/machine/include/tune-atom.inc index 607054674..5e1bb74c6 100644 --- a/meta/conf/machine/include/tune-atom.inc +++ b/meta/conf/machine/include/tune-atom.inc @@ -1 +1,2 @@ -TARGET_CC_ARCH = "-march=i586" +# Atom tunings are the same as core2 for now... +require conf/machine/include/tune-core2.inc diff --git a/meta/conf/machine/include/tune-c3.inc b/meta/conf/machine/include/tune-c3.inc index 107341eb6..79bb67b45 100644 --- a/meta/conf/machine/include/tune-c3.inc +++ b/meta/conf/machine/include/tune-c3.inc @@ -1,3 +1,12 @@ -TARGET_CC_ARCH = "-march=c3 -mtune=c3" -BASE_PACKAGE_ARCH = "i586" +require conf/machine/include/ia32/arch-ia32.inc +TUNEVALID[c3] = "VIA Cyrix III or VIA C3 specific optimizations" +TUNECONFLICTS[c3] = "m64 mx32" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "c3", "-march=c3 -mtune=c3", "", d)}" + +AVAILTUNES += "c3" +TUNE_FEATURES_tune-c3 = "${TUNE_FEATURES_tune-x86} c3" +BASE_LIBS_tune-c3 = "${BASE_LIB_tune-x86}" +# The following should likely be something other then i586... +TUNE_PKGARCH_tune-c3 = "i586" +PACKAGE_EXTRA_ARCHS_tune-c3 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i386 i486 i586" diff --git a/meta/conf/machine/include/tune-core2.inc b/meta/conf/machine/include/tune-core2.inc new file mode 100644 index 000000000..338ba7333 --- /dev/null +++ b/meta/conf/machine/include/tune-core2.inc @@ -0,0 +1,26 @@ +DEFAULTTUNE ?= "core2" + +require conf/machine/include/tune-i586.inc + +# Extra tune features +TUNEVALID[core2] = "Enable core2 specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "core2", "-march=core2 -msse3 -mtune=generic -mfpmath=sse", "", d)}" + +# Extra tune selections +AVAILTUNES += "core2" +TUNE_FEATURES_tune-core2 = "${TUNE_FEATURES_tune-x86} core2" +BASE_LIB_tune-core2 = "lib" +TUNE_PKGARCH_tune-core2 = "core2" +PACKAGE_EXTRA_ARCHS_tune-core2 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i386 i486 i586 i686 core2" + +AVAILTUNES += "core2-64" +TUNE_FEATURES_tune-core2-64 = "${TUNE_FEATURES_tune-x86-64} core2" +BASE_LIB_tune-core2-64 = "lib64" +TUNE_PKGARCH_tune-core2-64 = "core2_64" +PACKAGE_EXTRA_ARCHS_tune-core2-64 = "${PACKAGE_EXTRA_ARCHS_tune-x86-64} core2_64" + +AVAILTUNES += "core2-64-x32" +TUNE_FEATURES_tune-core2-64-x32 = "${TUNE_FEATURES_tune-x86-64-x32} core2" +BASE_LIB_tune-core2-64-x32 = "libx32" +TUNE_PKGARCH_tune-core2-64-x32 = "core2_64_x32" +PACKAGE_EXTRA_ARCHS_tune-core2-64-x32 = "${PACKAGE_EXTRA_ARCHS_tune-x86-64-x32} core2_64_x32" diff --git a/meta/conf/machine/include/tune-cortexa8.inc b/meta/conf/machine/include/tune-cortexa8.inc index 489a9b980..9d79a58c5 100644 --- a/meta/conf/machine/include/tune-cortexa8.inc +++ b/meta/conf/machine/include/tune-cortexa8.inc @@ -1,13 +1,24 @@ -# Instead of using -mfpu=vfp[2] we can use -mfpu=neon to make use of gcc intrinsics[1] and vectorize loops with -ftree-vectorize[3] -# [1] http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html -# [2] http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html -# [3] https://support.codesourcery.com/GNUToolchain/kbentry29 +DEFAULTTUNE ?= "cortexa8-neon" -TARGET_CC_ARCH = "-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp" -# Override the options for some packages -TARGET_CC_ARCH_pn-liba52 = "-march=armv7-a -mtune=cortex-a8 -mfloat-abi=softfp" -TARGET_CC_ARCH_pn-libmad = "-mfpu=neon -mfloat-abi=softfp" -# Other potentially useful options -#-ftree-vectorize -ffast-math -fno-omit-frame-pointer -FEED_ARCH = "armv7a" -BASE_PACKAGE_ARCH = "armv7a" +require conf/machine/include/arm/arch-armv7a.inc + +TUNEVALID[cortexa8] = "Enable Cortex-A8 specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexa8", "-mtune=cortex-a8", "", d)}" + +# Little Endian base configs +AVAILTUNES += "cortexa8 cortexa8t cortexa8-neon" +TUNE_FEATURES_tune-cortexa8 = "${TUNE_FEATURES_tune-armv7a} cortexa8" +TUNE_FEATURES_tune-cortexa8t = "${TUNE_FEATURES_tune-armv7at} cortexa8" +TUNE_FEATURES_tune-cortexa8-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa8" +PACKAGE_EXTRA_ARCHS_tune-cortexa8 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a}" +PACKAGE_EXTRA_ARCHS_tune-cortexa8t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at}" +PACKAGE_EXTRA_ARCHS_tune-cortexa8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon}" + +# VFP Tunes +AVAILTUNES += "cortexa8hf cortexa8thf cortexa8hf-neon" +TUNE_FEATURES_tune-cortexa8hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa8" +TUNE_FEATURES_tune-cortexa8thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa8" +TUNE_FEATURES_tune-cortexa8hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa8" +PACKAGE_EXTRA_ARCHS_tune-cortexa8hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf}" +PACKAGE_EXTRA_ARCHS_tune-cortexa8thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf}" +PACKAGE_EXTRA_ARCHS_tune-cortexa8hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon}" diff --git a/meta/conf/machine/include/tune-cortexa9.inc b/meta/conf/machine/include/tune-cortexa9.inc new file mode 100644 index 000000000..a8e27ca87 --- /dev/null +++ b/meta/conf/machine/include/tune-cortexa9.inc @@ -0,0 +1,24 @@ +DEFAULTTUNE ?= "cortexa9-neon" + +require conf/machine/include/arm/arch-armv7a.inc + +TUNEVALID[cortexa9] = "Enable Cortex-A9 specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexa9", "-mtune=cortex-a9", "", d)}" + +# Little Endian base configs +AVAILTUNES += "cortexa9 cortexa9t cortexa9-neon" +TUNE_FEATURES_tune-cortexa9 = "${TUNE_FEATURES_tune-armv7a} cortexa9" +TUNE_FEATURES_tune-cortexa9t = "${TUNE_FEATURES_tune-armv7at} cortexa9" +TUNE_FEATURES_tune-cortexa9-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa9" +PACKAGE_EXTRA_ARCHS_tune-cortexa9 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a}" +PACKAGE_EXTRA_ARCHS_tune-cortexa9t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at}" +PACKAGE_EXTRA_ARCHS_tune-cortexa9-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon}" + +# VFP Tunes +AVAILTUNES += "cortexa9hf cortexa9thf cortexa9hf-neon" +TUNE_FEATURES_tune-cortexa9hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa9" +TUNE_FEATURES_tune-cortexa9thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa9" +TUNE_FEATURES_tune-cortexa9hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa9" +PACKAGE_EXTRA_ARCHS_tune-cortexa9hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf}" +PACKAGE_EXTRA_ARCHS_tune-cortexa9thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf}" +PACKAGE_EXTRA_ARCHS_tune-cortexa9hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon}" diff --git a/meta/conf/machine/include/tune-cortexm1.inc b/meta/conf/machine/include/tune-cortexm1.inc index 6c4a70a24..3eecd5bfc 100644 --- a/meta/conf/machine/include/tune-cortexm1.inc +++ b/meta/conf/machine/include/tune-cortexm1.inc @@ -1,3 +1,11 @@ -TARGET_CC_ARCH = "-march=armv7 -mtune=cortex-m1 -mfpu=vfp -mfloat-abi=softfp" -FEED_ARCH = "armv6" -BASE_PACKAGE_ARCH = "armv6" +DEFAULTTUNE ?= "cortexm1" + +require conf/machine/include/arm/arch-armv7a.inc + +TUNEVALID[cortexm1] = "Enable Cortex-M1 specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexm1", "-mtune=cortex-m1", "", d)}" + +AVAILTUNES += "cortexm1" +TUNE_FEATURES_tune-cortexm1 = "${TUNE_FEATURES_tune-armv7a} cortexm1" +PACKAGE_EXTRA_ARCHS_tune-cortexm1 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at}" + diff --git a/meta/conf/machine/include/tune-cortexm3.inc b/meta/conf/machine/include/tune-cortexm3.inc index 6da9aeedd..20a3c655c 100644 --- a/meta/conf/machine/include/tune-cortexm3.inc +++ b/meta/conf/machine/include/tune-cortexm3.inc @@ -1,4 +1,15 @@ -# valid options for -march: `armv7', `armv7-m' -TARGET_CC_ARCH = "-march=armv7-m -mtune=cortex-m3 -mfpu=vfp -mfloat-abi=softfp" -FEED_ARCH = "armv7" -BASE_PACKAGE_ARCH = "armv7" +DEFAULTTUNE ?= "cortexm3" +ARMPKGARCH ?= "armv7m" + +require conf/machine/include/arm/arch-armv7a.inc + +TUNEVALID[cortexm3] = "Enable Cortex-M3 specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexm3", "-mtune=cortex-m3", "", d)}" + +TUNEVALID[armv7m] = "Enable Cortex-M3 specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "armv7m", "-march=armv7-m", "", d)}" + +AVAILTUNES += "cortexm3" +TUNE_FEATURES_tune-cortexm3 = "armv7m vfp cortexm3" +PACKAGE_EXTRA_ARCHS_tune-cortexm3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7m-vfp" + diff --git a/meta/conf/machine/include/tune-cortexr4.inc b/meta/conf/machine/include/tune-cortexr4.inc index b8bb7f50a..d1fc60701 100644 --- a/meta/conf/machine/include/tune-cortexr4.inc +++ b/meta/conf/machine/include/tune-cortexr4.inc @@ -1,4 +1,14 @@ -# valid options for -march: `armv7', `armv7-r' -TARGET_CC_ARCH = "-march=armv7-r -mtune=cortex-r4 -mfpu=vfp -mfloat-abi=softfp" -FEED_ARCH = "armv7" -BASE_PACKAGE_ARCH = "armv7" +DEFAULTTUNE ?= "cortexr4" +ARMPKGARCH ?= "armv7r" + +require conf/machine/include/arm/arch-armv7a.inc + +TUNEVALID[cortexr4] = "Enable Cortex-R4 specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexr4", "-mtune=cortex-r4", "", d)}" + +TUNEVALID[armv7r] = "Enable Cortex-R4 specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "armv7r", "-march=armv7-m", "", d)}" + +AVAILTUNES += "cortexr4" +TUNE_FEATURES_tune-cortexr4 = "armv7r vfp cortexr4" +PACKAGE_EXTRA_ARCHS_tune-cortexr4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7r-vfp" diff --git a/meta/conf/machine/include/tune-ep9312.inc b/meta/conf/machine/include/tune-ep9312.inc index 2cfdf5270..f10123f0d 100644 --- a/meta/conf/machine/include/tune-ep9312.inc +++ b/meta/conf/machine/include/tune-ep9312.inc @@ -1,6 +1,13 @@ -TARGET_CC_ARCH = "-march=ep9312 -mtune=ep9312 -mcpu=ep9312" -# add "-mfp=maverick" for newer gcc versions > 4.0 +DEFAULTTUNE ?= "ep9312" +ARMPKGARCH ?= "ep9312" + +require conf/machine/include/arm/arch-armv4.inc + +TUNEVALID[ep9312] = "Enable Intel PXA27x specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ep9312", "-march=ep9312 -mtune=ep9312", "", d)}" + +AVAILTUNES += "ep9312" +TUNE_FEATURES_tune-ep9312 = "thumb ep9312" +PACKAGE_EXTRA_ARCHS_tune-ep9312 = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} ep9312" -#set arch to ep9312 for all generated packages -BASE_PACKAGE_ARCH = "ep9312" diff --git a/meta/conf/machine/include/tune-i586.inc b/meta/conf/machine/include/tune-i586.inc new file mode 100644 index 000000000..afa9c92fd --- /dev/null +++ b/meta/conf/machine/include/tune-i586.inc @@ -0,0 +1,14 @@ +DEFAULTTUNE ?= "i586" + +require conf/machine/include/ia32/arch-ia32.inc + +# Extra tune features +TUNEVALID[i586] = "Enable i586 specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "i586", "-march=i586", "", d)}" + +# Extra tune selections +AVAILTUNES += "i586" +TUNE_FEATURES_tune-i586 = "${TUNE_FEATURES_tune-x86} i586" +BASE_LIB_tune-i586 = "lib" +TUNE_PKGARCH_tune-i586 = "i586" +PACKAGE_EXTRA_ARCHS_tune-i586 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i386 i486 i586" diff --git a/meta/conf/machine/include/tune-iwmmxt.inc b/meta/conf/machine/include/tune-iwmmxt.inc index 49e560ea1..14f59555a 100644 --- a/meta/conf/machine/include/tune-iwmmxt.inc +++ b/meta/conf/machine/include/tune-iwmmxt.inc @@ -1,6 +1,16 @@ # Configurations for the Intel PXA27x Appications Processor Family. # Please use tune-xscale for PXA255/PXA26x based processors. -TARGET_CC_ARCH = "-march=iwmmxt -mcpu=iwmmxt -mtune=iwmmxt" -BASE_PACKAGE_ARCH = "iwmmxt" -PACKAGE_EXTRA_ARCHS += "iwmmxt" + +DEFAULTTUNE ?= "iwmmxt" +ARMPKGARCH ?= "iwmmxt" + +require conf/machine/include/arm/arch-armv5-dsp.inc + +TUNEVALID[iwmmxt] = "Enable Intel PXA27x specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "iwmmxt", "-march=iwmmxt -mtune=iwmmxt", "", d)}" + +AVAILTUNES += "iwmmxt" +TUNE_FEATURES_tune-iwmmxt = "thumb iwmmxt" +PACKAGE_EXTRA_ARCHS_tune-iwmmxt = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} iwmmxt" + diff --git a/meta/conf/machine/include/tune-mips32.inc b/meta/conf/machine/include/tune-mips32.inc new file mode 100644 index 000000000..93ed5ee79 --- /dev/null +++ b/meta/conf/machine/include/tune-mips32.inc @@ -0,0 +1,25 @@ +DEFAULTTUNE ?= "mips32" + +require conf/machine/include/mips/arch-mips.inc + +TUNEVALID[mips32] = "Enable mips32 specific processor optimizations" +TUNE_CONFLICTS[mips32] = "n64 n32" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "mips32", "-march=mips32", "", d)}" + +AVAILTUNES += "mips32 mips32el mips32-nf mips32el-nf" + +TUNE_FEATURES_tune-mips32 = "${TUNE_FEATURES_tune-mips} mips32" +MIPSPKGSFX_VARIANT_tune-mips32 = "mips32" +PACKAGE_EXTRA_ARCHS_tune-mips32 = "mips mips32" + +TUNE_FEATURES_tune-mips32el = "${TUNE_FEATURES_tune-mipsel} mips32" +MIPSPKGSFX_VARIANT_tune-mips32el = "mips32el" +PACKAGE_EXTRA_ARCHS_tune-mips32el = "mipsel mips32el" + +TUNE_FEATURES_tune-mips32-nf = "${TUNE_FEATURES_tune-mips-nf} mips32" +MIPSPKGSFX_VARIANT_tune-mips32-nf = "mips32" +PACKAGE_EXTRA_ARCHS_tune-mips32-nf = "mips-nf mips32-nf" + +TUNE_FEATURES_tune-mips32el-nf = "${TUNE_FEATURES_tune-mipsel-nf} mips32" +MIPSPKGSFX_VARIANT_tune-mips32el-nf = "mips32el" +PACKAGE_EXTRA_ARCHS_tune-mips32el-nf = "mipsel-nf mips32el-nf" diff --git a/meta/conf/machine/include/tune-ppc603e.inc b/meta/conf/machine/include/tune-ppc603e.inc index a4a68d60e..6557c1d69 100644 --- a/meta/conf/machine/include/tune-ppc603e.inc +++ b/meta/conf/machine/include/tune-ppc603e.inc @@ -1,2 +1,14 @@ -TARGET_CC_ARCH = "-mcpu=603e -mhard-float" -BASE_PACKAGE_ARCH = "ppc603e" +DEFAULTTUNE ?= "ppc603e" + +require conf/machine/include/powerpc/arch-powerpc.inc + +TUNEVALID[ppc603e] = "Enable ppc603e specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppc603e", "-mcpu=603e", "", d)}" + +AVAILTUNES += "ppc603e" +TUNE_FEATURES_tune-ppc603e = "m32 fpu-hard ppc603e" +TUNE_PKGARCH_tune-ppc603e = "ppc603e" +PACKAGE_EXTRA_ARCHS_tune-ppc603e = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc603e" + +# glibc configure options to get 603e specific library (for sqrt) +GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppc603e", "-with-cpu=603e", "", d)}" diff --git a/meta/conf/machine/include/tune-ppce300c2.inc b/meta/conf/machine/include/tune-ppce300c2.inc new file mode 100644 index 000000000..aae8ac08b --- /dev/null +++ b/meta/conf/machine/include/tune-ppce300c2.inc @@ -0,0 +1,11 @@ +DEFAULTTUNE ?= "ppce300c2" + +require conf/machine/include/powerpc/arch-powerpc.inc + +TUNEVALID[ppce300c2] = "Enable ppce300c2 specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppce300c2", "-mcpu=e300c2", "", d)}" + +AVAILTUNES += "ppce300c2" +TUNE_FEATURES_tune-ppce300c2 = "m32 fpu-soft ppce300c2" +TUNE_PKGARCH_tune-ppce300c2 = "ppce300c2" +PACKAGE_EXTRA_ARCHS_tune-ppce300c2 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc-nf} ppce300c2" diff --git a/meta/conf/machine/include/tune-ppce500.inc b/meta/conf/machine/include/tune-ppce500.inc index 248219642..be4372235 100644 --- a/meta/conf/machine/include/tune-ppce500.inc +++ b/meta/conf/machine/include/tune-ppce500.inc @@ -1,2 +1,20 @@ -TARGET_CC_ARCH = "-mcpu=8540" -BASE_PACKAGE_ARCH = "ppce500" +DEFAULTTUNE ?= "ppce500" + +require conf/machine/include/powerpc/arch-powerpc.inc + +TUNEVALID[ppce500] = "Enable ppce500 specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppce500", "-mcpu=8540", "", d)}" + +TUNEVALID[spe] = "Enable SPE ABI extensions" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", [ "ppce500", "spe" ], "-mabi=spe -mspe -mfloat-gprs=single", "", d)}" +TARGET_FPU .= "${@bb.utils.contains("TUNE_FEATURES", [ "ppce500" , "spe" ], "ppc-efs", "", d)}" + +# spe is defined potentially in two places, so we want to be sure it will +# only write spe once to the ABIEXTENSIONS field. +SPEABIEXTENSION = "${@bb.utils.contains("TUNE_FEATURES", "spe", "spe", "", d)}" +ABIEXTENSION .= "${SPEABIEXTENSION}" + +AVAILTUNES += "ppce500" +TUNE_FEATURES_tune-ppce500 = "m32 spe ppce500" +TUNE_PKGARCH_tune-ppce500 = "ppce500" +PACKAGE_EXTRA_ARCHS_tune-ppce500 = "ppce500" diff --git a/meta/conf/machine/include/tune-ppce500mc.inc b/meta/conf/machine/include/tune-ppce500mc.inc new file mode 100644 index 000000000..0e0938462 --- /dev/null +++ b/meta/conf/machine/include/tune-ppce500mc.inc @@ -0,0 +1,14 @@ +DEFAULTTUNE ?= "ppce500mc" + +require conf/machine/include/powerpc/arch-powerpc.inc + +TUNEVALID[ppce500mc] = "Enable ppce500mc specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", "-mcpu=e500mc", "", d)}" + +AVAILTUNES += "ppce500mc" +TUNE_FEATURES_tune-ppce500mc = "m32 fpu-hard ppce500mc" +TUNE_PKGARCH_tune-ppce500mc = "ppce500mc" +PACKAGE_EXTRA_ARCHS_tune-ppce500mc = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce500mc" + +# glibc configure options to get e500mc specific library (for sqrt) +GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", "-with-cpu=e500mc", "", d)}" diff --git a/meta/conf/machine/include/tune-ppce500v2.inc b/meta/conf/machine/include/tune-ppce500v2.inc new file mode 100644 index 000000000..3fe47da58 --- /dev/null +++ b/meta/conf/machine/include/tune-ppce500v2.inc @@ -0,0 +1,20 @@ +DEFAULTTUNE ?= "ppce500v2" + +require conf/machine/include/powerpc/arch-powerpc.inc + +TUNEVALID[ppce500v2] = "Enable ppce500v2 specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppce500v2", "-mcpu=8548", "", d)}" + +TUNEVALID[spe] = "Enable SPE ABI extensions" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", [ "ppce500v2", "spe" ], "-mabi=spe -mspe -mfloat-gprs=double", "", d)}" +TARGET_FPU .= "${@bb.utils.contains("TUNE_FEATURES", [ "ppce500v2" , "spe" ], "ppc-efd", "", d)}" + +# spe is defined potentially in two places, so we want to be sure it will +# only write spe once to the ABIEXTENSIONS field. +SPEABIEXTENSION = "${@bb.utils.contains("TUNE_FEATURES", "spe", "spe", "", d)}" +ABIEXTENSION .= "${SPEABIEXTENSION}" + +AVAILTUNES += "ppce500v2" +TUNE_FEATURES_tune-ppce500v2 = "m32 spe ppce500v2" +TUNE_PKGARCH_tune-ppce500v2 = "ppce500v2" +PACKAGE_EXTRA_ARCHS_tune-ppce500v2 = "ppce500v2" diff --git a/meta/conf/machine/include/tune-ppce5500.inc b/meta/conf/machine/include/tune-ppce5500.inc new file mode 100644 index 000000000..8ab0fc5b8 --- /dev/null +++ b/meta/conf/machine/include/tune-ppce5500.inc @@ -0,0 +1,20 @@ +DEFAULTTUNE ?= "ppce5500" + +require conf/machine/include/powerpc/arch-powerpc64.inc + +TUNEVALID[e5500] = "Enable Freescale e5500 specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "e5500", "-mcpu=e5500", "", d)}" + +AVAILTUNES += "ppce5500 ppc64e5500" +TUNE_FEATURES_tune-ppce5500 = "m32 fpu-hard e5500" +BASE_LIB_tune-ppce5500 = "lib" +TUNE_PKGARCH_tune-ppce5500 = "ppce5500" +PACKAGE_EXTRA_ARCHS_tune-ppce5500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce5500" + +TUNE_FEATURES_tune-ppc64e5500 = "m64 fpu-hard e5500" +BASE_LIB_tune-ppc64e5500 = "lib64" +TUNE_PKGARCH_tune-ppc64e5500 = "ppc64e5500" +PACKAGE_EXTRA_ARCHS_tune-ppc64e5500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64e5500" + +# glibc configure options to get e5500 specific library (for sqrt) +GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "e5500", "--with-cpu=e5500", "", d)}" diff --git a/meta/conf/machine/include/tune-sh3.inc b/meta/conf/machine/include/tune-sh3.inc index 192dd8fd2..70bb10b04 100644 --- a/meta/conf/machine/include/tune-sh3.inc +++ b/meta/conf/machine/include/tune-sh3.inc @@ -1 +1,17 @@ -TARGET_CC_ARCH = "-ml -m3" +DEFAULTTUNE ?= "sh3" + +require conf/machine/include/sh/arch-sh.inc + +TUNEVALID[sh3] = "Enable SH3 optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "sh3", "-m3", "", d)}" + +AVAILTUNES += "sh3 sh3eb" +TUNE_FEATURES_tune-sh3 = "sh3" +TUNE_ARCH_tune-sh3 = "sh3" +TUNE_PKGARCH_tune-sh3 = "sh3" +PACKAGE_EXTRA_ARCHS_tune-sh3 = "sh sh3" + +TUNE_FEATURES_tune-sh3eb = "sh3 bigendian" +TUNE_ARCH_tune-sh3eb = "sh3eb" +TUNE_PKGARCH_tune-sh3eb = "sh3eb" +PACKAGE_EXTRA_ARCHS_tune-sh3eb = "sheb sh3eb" diff --git a/meta/conf/machine/include/tune-sh4.inc b/meta/conf/machine/include/tune-sh4.inc index 866f7f89d..00cfc3d03 100644 --- a/meta/conf/machine/include/tune-sh4.inc +++ b/meta/conf/machine/include/tune-sh4.inc @@ -1 +1,34 @@ -TARGET_CC_ARCH = "-ml -m4" +DEFAULTTUNE ?= "sh4" + +# Pull in sh4 for compatibility... +require conf/machine/include/sh/arch-sh.inc + +TUNEVALID[sh4] = "Enable SH4 optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "sh4", "-m4", "", d)}" + +# NOTE: If you want to optimize to sh4a, conf/machine/include/tune-sh4a.inc. +# But it is not compatible for sh4. +# The binary optimized by m4a doesn't operate on sh4. It works on sh4a only. +TUNEVALID[sh4a] = "Enable SH4a optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "sh4a", "-m4a", "", d)}" + +AVAILTUNES += "sh4 sh4eb sh4a sh4aeb" +TUNE_FEATURES_tune-sh4 = "sh4" +TUNE_ARCH_tune-sh4 = "sh4" +TUNE_PKGARCH_tune-sh4 = "sh4" +PACKAGE_EXTRA_ARCHS_tune-sh4 = "sh sh4" + +TUNE_FEATURES_tune-sh4eb = "sh4 bigendian" +TUNE_ARCH_tune-sh4eb = "sh4eb" +TUNE_PKGARCH_tune-sh4eb = "sh4eb" +PACKAGE_EXTRA_ARCHS_tune-sh4eb = "sheb sh4eb" + +TUNE_FEATURES_tune-sh4a = "sh4a" +TUNE_ARCH_tune-sh4a = "sh4" +TUNE_PKGARCH_tune-sh4a = "sh4a" +PACKAGE_EXTRA_ARCHS_tune-sh4a = "sh sh4 sh4a" + +TUNE_FEATURES_tune-sh4aeb = "sh4a bigendian" +TUNE_ARCH_tune-sh4aeb = "sh4eb" +TUNE_PKGARCH_tune-sh4aeb = "sh4aeb" +PACKAGE_EXTRA_ARCHS_tune-sh4aeb = "sheb sh4eb sh4aeb" diff --git a/meta/conf/machine/include/tune-strongarm1100.inc b/meta/conf/machine/include/tune-strongarm1100.inc index f13671040..66bab8e49 100644 --- a/meta/conf/machine/include/tune-strongarm1100.inc +++ b/meta/conf/machine/include/tune-strongarm1100.inc @@ -1,5 +1,12 @@ -# This machine lists common configuration options for Strongarm 1100 devices -# NOTE: The Zaurus Collie also has a Strongarm processor, but uses the 1110 type +DEFAULTTUNE ?= "strongarm" + +require conf/machine/include/arm/arch-armv4.inc + +TUNEVALID[strongarm] = "Enable Strongarm 1100 series processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "strongarm", "-mtune=strongarm1100", "", d)}" + +AVAILTUNES += "strongarm" +TUNE_FEATURES_tune-strongarm = "${TUNE_FEATURES_tune-armv4} strongarm" +PACKAGE_EXTRA_ARCHS_tune-strongarm = "${PACKAGE_EXTRA_ARCHS_tune-armv4}" -TARGET_CC_ARCH = "-march=armv4 -mtune=strongarm1100" diff --git a/meta/conf/machine/include/tune-supersparc.inc b/meta/conf/machine/include/tune-supersparc.inc index 10133c6c2..0faa361f1 100644 --- a/meta/conf/machine/include/tune-supersparc.inc +++ b/meta/conf/machine/include/tune-supersparc.inc @@ -1,2 +1,4 @@ -TARGET_CC_ARCH = "-mcpu=supersparc" -BASE_PACKAGE_ARCH = "supersparc" +TUNE_ARCH = "sparc" + +TUNE_CCARGS = "-mcpu=supersparc" +TUNE_PKGARCH = "supersparc" diff --git a/meta/conf/machine/include/tune-thumb.inc b/meta/conf/machine/include/tune-thumb.inc index a25cb5320..a2392c2d5 100644 --- a/meta/conf/machine/include/tune-thumb.inc +++ b/meta/conf/machine/include/tune-thumb.inc @@ -16,17 +16,17 @@ THUMB_INTERWORK ?= "yes" # arm system and vice versa. It is strongly recommended that DISTROs not # turn this off - the actual cost is very small. -OVERRIDE_THUMB = "${@['', ':thumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}" -OVERRIDE_INTERWORK = "${@['', ':thumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}" +OVERRIDE_THUMB = "${@['', ':thumb'][d.getVar('ARM_INSTRUCTION_SET', True) == 'thumb']}" +OVERRIDE_INTERWORK = "${@['', ':thumb-interwork'][d.getVar('THUMB_INTERWORK', True) == 'yes']}" OVERRIDES .= "${OVERRIDE_THUMB}${OVERRIDE_INTERWORK}" # Compiler and linker options for application code and kernel code. These # options ensure that the compiler has the correct settings for the selected # instruction set and interworking. -ARM_INTERWORK_M_OPT = "${@['-mno-thumb-interwork', '-mthumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}" -ARM_THUMB_M_OPT = "${@['-mno-thumb', '-mthumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}" +ARM_INTERWORK_M_OPT = "${@['-mno-thumb-interwork', '-mthumb-interwork'][d.getVar('THUMB_INTERWORK', True) == 'yes']}" +ARM_THUMB_M_OPT = "${@['-marm', '-mthumb'][d.getVar('ARM_INSTRUCTION_SET', True) == 'thumb']}" # -TARGET_CC_ARCH += "${ARM_INTERWORK_M_OPT} ${ARM_THUMB_M_OPT}" -TARGET_CC_KERNEL_ARCH += "-mno-thumb-interwork -mno-thumb" +TUNE_CCARGS += "${ARM_INTERWORK_M_OPT} ${ARM_THUMB_M_OPT}" +TARGET_CC_KERNEL_ARCH += "-mno-thumb-interwork -marm" diff --git a/meta/conf/machine/include/tune-x86_64.inc b/meta/conf/machine/include/tune-x86_64.inc new file mode 100644 index 000000000..31e06da5e --- /dev/null +++ b/meta/conf/machine/include/tune-x86_64.inc @@ -0,0 +1,4 @@ +DEFAULTTUNE ?= "x86-64" + +require conf/machine/include/ia32/arch-ia32.inc + diff --git a/meta/conf/machine/include/tune-xscale.inc b/meta/conf/machine/include/tune-xscale.inc index 134758621..80a368366 100644 --- a/meta/conf/machine/include/tune-xscale.inc +++ b/meta/conf/machine/include/tune-xscale.inc @@ -1,10 +1,19 @@ -FEED_ARCH = "armv5te" +DEFAULTTUNE ?= "xscale" -TARGET_CC_ARCH = "-march=armv5te -mtune=xscale" -TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale" -BASE_PACKAGE_ARCH = "${@['armv5teb', 'armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}" +require conf/machine/include/arm/arch-armv5-dsp.inc + +TUNEVALID[xscale] = "Enable PXA255/PXA26x Xscale specific processor optimizations" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "xscale", "-mtune=xscale", "", d)}" + +AVAILTUNES += "xscale" +TUNE_FEATURES_tune-xscale = "${TUNE_FEATURES_tune-armv5te} xscale" +PACKAGE_EXTRA_ARCHS_tune-xscale = "${PACKAGE_EXTRA_ARCHS_tune-armv5te}" + +AVAILTUNES += "xscale-be" +TUNE_FEATURES_tune-xscale-be = "${TUNE_FEATURES_tune-armv5teb} xscale bigendian" +PACKAGE_EXTRA_ARCHS_tune-xscale-be = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb}" # webkit-gtk has alignment issues with double instructions on armv5 so # disable them here -TARGET_CC_ARCH_pn-webkit-gtk = "-march=armv4t" -TARGET_CC_ARCH_pn-cairo = "-march=armv4t" +TUNE_CCARGS_pn-webkit-gtk = "-march=armv4t" +TUNE_CCARGS_pn-cairo = "-march=armv4t" diff --git a/meta/conf/machine/include/zaurus-2.6.inc b/meta/conf/machine/include/zaurus-2.6.inc deleted file mode 100644 index aec61c7cf..000000000 --- a/meta/conf/machine/include/zaurus-2.6.inc +++ /dev/null @@ -1,72 +0,0 @@ -# Zaurus specific configuration for kernel 2.6 -# Additionally, clamshell specific stuff in zaurus-clamshell.inc - -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te" -PACKAGE_EXTRA_ARCHS_collie = "" - -MACHINE_KERNEL_VERSION = "2.6" - -ERASEBLOCKSIZE = "0x4000" -ERASEBLOCKSIZE_akita = "0x20000" - -EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=${ERASEBLOCKSIZE} --pad --faketime -n" -IMAGE_CMD_jffs2 = "mkfs.jffs2 -x lzo --root=${IMAGE_ROOTFS} --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 ${EXTRA_IMAGECMD}" -EXTRA_IMAGEDEPENDS += "zaurus-updater" - -SERIAL_CONSOLE = "115200 ttyS0" -SERIAL_CONSOLE_collie = "115200 ttySA0" - -PREFERRED_PROVIDER_virtual/kernel = "linux-rp" -PREFERRED_PROVIDER_xserver = "xserver-kdrive" - -PCMCIA_MANAGER ?= "pcmciautils" - -MACHINE_FEATURES = "kernel26 apm alsa pcmcia irda usbgadget keyboard touchscreen screen vfat" -MACHINE_FEATURES_append_tosa = " usbhost wifi " -MACHINE_FEATURES_append_akita = " usbhost " -MACHINE_FEATURES_append_spitz = " usbhost ext2 " - -MACHINE_EXTRA_RDEPENDS = "zaurusd" -MACHINE_EXTRA_RRECOMMENDS_c7x0 = "kernel-module-snd-soc-corgi kernel-module-pxa2xx-cs kernel-module-pcmcia" -MACHINE_EXTRA_RRECOMMENDS_akita = "kernel-module-snd-soc-spitz kernel-module-pxa2xx-cs kernel-module-pcmcia" -MACHINE_EXTRA_RRECOMMENDS_spitz = "kernel-module-snd-soc-spitz" -MACHINE_EXTRA_RRECOMMENDS_poodle = "kernel-module-snd-soc-poodle" - -GUI_MACHINE_CLASS = "bigscreen" -GUI_MACHINE_CLASS_collie = "smallscreen" -GUI_MACHINE_CLASS_poodle = "smallscreen" - -KERNEL_IMAGE_MAXSIZE = "1294336" -KERNEL_IMAGE_MAXSIZE_collie = "1048576" - -MACHINE_POSTPROCESS_COMMAND = "zaurus_make_installkit" - -zaurus_make_installkit () { - cd ${DEPLOY_DIR_IMAGE} - rm -rf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-installkit/ - mkdir ${IMAGE_NAME}-installkit/ - - # Get the latest kernel using the zImage-<machine>.bin symlink - cp zImage-${MACHINE}.bin ${IMAGE_NAME}-installkit/zImage - - if [ "${MACHINE}" = "spitz" ]; then - cp gnu-tar ${IMAGE_NAME}-installkit/ - cp ${IMAGE_NAME}.rootfs.tar.gz ${IMAGE_NAME}-installkit/hdimage1.tgz - else - [ -f ${IMAGE_NAME}.rootfs.jffs2 ] && cp ${IMAGE_NAME}.rootfs.jffs2 ${IMAGE_NAME}-installkit/initrd.bin - fi - - # All zaurus machines except collie need updater.sh - if [ "${MACHINE}" != "collie" ]; then - cp updater.sh.${MACHINE} ${IMAGE_NAME}-installkit/updater.sh - fi - - tar czf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-installkit.tgz ${IMAGE_NAME}-installkit/ - md5sum ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-installkit.tgz > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-installkit.tgz.md5 - rm -rf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-installkit/ -} - -# Don't include kernels in standard images for Zaurus machines -RDEPENDS_kernel-base = "" -KERNEL_IMAGETYPE = "zImage" diff --git a/meta/conf/machine/include/zaurus-clamshell.inc b/meta/conf/machine/include/zaurus-clamshell.inc deleted file mode 100644 index 4fa9f75eb..000000000 --- a/meta/conf/machine/include/zaurus-clamshell.inc +++ /dev/null @@ -1,15 +0,0 @@ -include conf/machine/include/tune-xscale.inc - -EXTRA_IMAGEDEPENDS += "sharp-flash-header-c700" - -IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime -m favourlzo \ - --output=${T}/${IMAGE_NAME}.rootfs.jffs2 --pad --little-endian --eraseblock=${ERASEBLOCKSIZE} -n \ - && sumtool -i ${T}/${IMAGE_NAME}.rootfs.jffs2 \ - -o ${T}/${IMAGE_NAME}.rootfs.jffs2.summary \ - --eraseblock=${ERASEBLOCKSIZE} -l -p; \ - cat ${STAGING_LIBDIR}/sharp-flash-header/header-c700.bin \ - ${T}/${IMAGE_NAME}.rootfs.jffs2 > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2; \ - rm ${T}/${IMAGE_NAME}.rootfs.jffs2; \ - cat ${STAGING_LIBDIR}/sharp-flash-header/header-c700.bin \ - ${T}/${IMAGE_NAME}.rootfs.jffs2.summary > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.summary.jffs2; \ - rm ${T}/${IMAGE_NAME}.rootfs.jffs2.summary;" diff --git a/meta/conf/machine/mx31ads.conf b/meta/conf/machine/mx31ads.conf deleted file mode 100644 index 04a238d60..000000000 --- a/meta/conf/machine/mx31ads.conf +++ /dev/null @@ -1,16 +0,0 @@ -#@TYPE: Machine -#@NAME: Freescale imx31 ADS Board -#@DESCRIPTION: Machine configuration for the imx31 based Freescale ADS Board -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6" - -PREFERRED_PROVIDER_virtual/kernel = "linux-mx31" - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth irda screen touchscreen" - -IMAGE_FSTYPES ?= "tar.gz jffs2" -SERIAL_CONSOLE = "-L 115200 ttymxc0" - -EXTRA_IMAGECMD_jffs2_mx31ads = "--pad --little-endian --eraseblock=0x20000 -n" - -require conf/machine/include/tune-arm1136jf-s.inc diff --git a/meta/conf/machine/mx31litekit.conf b/meta/conf/machine/mx31litekit.conf deleted file mode 100644 index 2dc288375..000000000 --- a/meta/conf/machine/mx31litekit.conf +++ /dev/null @@ -1,14 +0,0 @@ -#@TYPE: Machine -#@NAME: imx31 Lite Kit -#@DESCRIPTION: Machine configuration for the imx31 based Lite Kit -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6" - -PREFERRED_PROVIDER_virtual/kernel = "linux-mx31" - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth irda screen touchscreen" - -IMAGE_FSTYPES ?= "tar.gz" -SERIAL_CONSOLE = "-L 115200 ttymxc0" - -require conf/machine/include/tune-arm1136jf-s.inc diff --git a/meta/conf/machine/mx31phy.conf b/meta/conf/machine/mx31phy.conf deleted file mode 100644 index 28b255cce..000000000 --- a/meta/conf/machine/mx31phy.conf +++ /dev/null @@ -1,17 +0,0 @@ -#@TYPE: Machine -#@NAME: Phytec phyCORE-iMX31 Board -#@DESCRIPTION: Machine configuration for the imx31 based Phytec phyCORE-iMX31 -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6" - -PREFERRED_PROVIDER_virtual/kernel = "linux-mx31" - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth irda screen touchscreen" - -IMAGE_FSTYPES ?= "tar.gz jffs2" -KERNEL_IMAGETYPE = "uImage" -UBOOT_ENTRYPOINT = "80008000" -SERIAL_CONSOLE = "-L 115200 ttymxc0" -EXTRA_IMAGECMD_jffs2_mx31phy = "--pad --little-endian --eraseblock=0x20000 -n" - -require conf/machine/include/tune-arm1136jf-s.inc diff --git a/meta/conf/machine/nokia770.conf b/meta/conf/machine/nokia770.conf deleted file mode 100644 index c8b4c3c91..000000000 --- a/meta/conf/machine/nokia770.conf +++ /dev/null @@ -1,35 +0,0 @@ -#@TYPE: Machine -#@NAME: Nokia 770 internet tablet -#@DESCRIPTION: Machine configuration for the Nokia 770, an omap 1710 based tablet -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te" - -PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-xomap" -PREFERRED_PROVIDER_virtual/bootloader = "" - -XSERVER = "xserver-kdrive-xomap" - -# 800x480 is big enough for me -GUI_MACHINE_CLASS = "bigscreen" - -require conf/machine/include/tune-arm926ejs.inc - -#size of the root partition (yes, it is 123 MB) -ROOT_FLASH_SIZE = "123" -EXTRA_IMAGECMD_jffs2_nokia770 = "--pad --little-endian --eraseblock=0x20000 -n" - -IMAGE_FSTYPES ?= "jffs2" - -# serial console port on devboard rev. B3 -SERIAL_CONSOLE = "115200 ttyS0" - -PREFERRED_PROVIDER_virtual/kernel = "linux-nokia800" - -#use this if you are using the nokia initfs -ROOTFS_POSTPROCESS_COMMAND += " remove_init_link; " - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth usbgadget usbhost screen vfat" -MACHINE_EXTRA_RDEPENDS = "usbinit" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "nokia770-init" - -KERNEL_IMAGE_MAXSIZE = "2097152" diff --git a/meta/conf/machine/nokia800.conf b/meta/conf/machine/nokia800.conf deleted file mode 100644 index fb2cd02b0..000000000 --- a/meta/conf/machine/nokia800.conf +++ /dev/null @@ -1,30 +0,0 @@ -#@TYPE: Machine -#@NAME: Nokia 800/810 internet tablet -#@DESCRIPTION: Machine configuration for the Nokia 800/810 -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6" - -PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-xomap" -XSERVER = "xserver-kdrive-xomap" - -GUI_MACHINE_CLASS = "bigscreen" - -require conf/machine/include/tune-arm1136jf-s.inc - -ROOT_FLASH_SIZE = "174" -EXTRA_IMAGECMD_jffs2_nokia800 = "--pad --little-endian --eraseblock=0x20000 -n" - -IMAGE_FSTYPES ?= "jffs2" - -SERIAL_CONSOLE = "-L 115200 ttyS0" - -PREFERRED_PROVIDER_virtual/kernel = "linux-nokia800" - -#use this if you are using the nokia initfs -ROOTFS_POSTPROCESS_COMMAND += " remove_init_link; " - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth usbgadget usbhost vfat" -MACHINE_EXTRA_RDEPENDS = "cx3110x usbinit" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "nokia770-init" - -KERNEL_IMAGE_MAXSIZE = "2097152" diff --git a/meta/conf/machine/om-gta01.conf b/meta/conf/machine/om-gta01.conf deleted file mode 100644 index f40457e22..000000000 --- a/meta/conf/machine/om-gta01.conf +++ /dev/null @@ -1,48 +0,0 @@ -#----------------------------------------------------------------------------- -#@TYPE: Machine -#@NAME: FIC GTA01 (Neo1973) -#@DESCRIPTION: Machine configuration for the FIC Neo1973/1 GSM phone -#----------------------------------------------------------------------------- - -TARGET_ARCH = "arm" -MACHINE_CLASS = "neo1973" -PACKAGE_EXTRA_ARCHS = "armv4t fic-gta01 ${MACHINE_CLASS}" - -PREFERRED_PROVIDER_virtual/kernel = "linux-openmoko" -UBOOT_ENTRYPOINT = "30008000" - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth gps usbgadget usbhost phone vfat ext2" -MACHINE_DISPLAY_WIDTH_PIXELS = "480" -MACHINE_DISPLAY_HEIGHT_PIXELS = "640" -MACHINE_DISPLAY_ORIENTATION = "0" -MACHINE_DISPLAY_PPI = "285" -XSERVER = "xserver-kdrive-fbdev" - -MACHINE_EXTRA_RDEPENDS = "usbinit" -# package machine specific modules -MACHINE_EXTRA_RRECOMMENDS = "\ - kernel-module-gta01-pm-bt \ - kernel-module-gta01-pm-gps \ - kernel-module-gta01-pm-gsm \ - kernel-module-gta01kbd \ - kernel-module-s3cmci \ - kernel-module-snd-soc-neo1973-wm8753 \ - kernel-module-snd-soc-smdk2440 \ -" - -# do not outcomment, we bypass the sysvinit.bb logic here -- see FIC GTA01 inittab -#SERIAL_CONSOLE = "115200 ttySAC0" - -# used by some images -ROOT_FLASH_SIZE = "60" - -# extra jffs2 tweaks -IMAGE_FSTYPES ?= "jffs2" -EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x4000 --pad -n" - -# build / upload tools -#EXTRA_IMAGEDEPENDS += "dfu-util-native" - -# tune for S3C24x0 -include conf/machine/include/tune-arm920t.inc - diff --git a/meta/conf/machine/om-gta02.conf b/meta/conf/machine/om-gta02.conf deleted file mode 100644 index 55f4bec21..000000000 --- a/meta/conf/machine/om-gta02.conf +++ /dev/null @@ -1,49 +0,0 @@ -#----------------------------------------------------------------------------- -#@TYPE: Machine -#@NAME: FIC GTA02 (Neo1973) -#@DESCRIPTION: Machine configuration for the FIC Neo1973/2 GSM phone -#----------------------------------------------------------------------------- - -TARGET_ARCH = "arm" -MACHINE_CLASS = "neo1973" -PACKAGE_EXTRA_ARCHS = "armv4t fic-gta02 ${MACHINE_CLASS}" - -PREFERRED_PROVIDER_virtual/kernel = "linux-openmoko" -PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-glamo" -UBOOT_ENTRYPOINT = "30008000" - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth gps usbgadget usbhost phone wifi vfat ext2" -MACHINE_DISPLAY_WIDTH_PIXELS = "480" -MACHINE_DISPLAY_HEIGHT_PIXELS = "640" -MACHINE_DISPLAY_ORIENTATION = "0" -MACHINE_DISPLAY_PPI = "285" -XSERVER = "xserver-kdrive-glamo xserver-kdrive-fbdev" - -# package machine specific modules -MACHINE_EXTRA_RRECOMMENDS = "\ - kernel-module-gta01-pm-bt \ - kernel-module-gta01-pm-gps \ - kernel-module-gta01-pm-gsm \ - kernel-module-gta01kbd \ - kernel-module-s3cmci \ - kernel-module-snd-soc-neo1973-gta02-wm8753 \ -" - -SERIAL_CONSOLE = "115200 ttySAC2" - -# used by some images -ROOT_FLASH_SIZE = "256" - -# extra jffs2 tweaks -IMAGE_FSTYPES ?= "jffs2" -EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 --pagesize=0x800 \ - --no-cleanmarkers --pad -n ; sumtool --eraseblock=0x20000 --no-cleanmarkers \ - --littleendian --pad \ - -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \ - -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2.summary" - -# build / upload tools -#EXTRA_IMAGEDEPENDS += "sjf2410-linux-native dfu-util-native" - -# tune for S3C24x0 -include conf/machine/include/tune-arm920t.inc diff --git a/meta/conf/machine/omap-3430ldp.conf b/meta/conf/machine/omap-3430ldp.conf deleted file mode 100644 index 0be0546b8..000000000 --- a/meta/conf/machine/omap-3430ldp.conf +++ /dev/null @@ -1,27 +0,0 @@ -#@TYPE: Machine -#@NAME: TI OMAP 3430 LDP -#@DESCRIPTION: Machine configuration for the TI OMAP 3430 LDP (aka OMAP Zoom) -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6 armv7a" - -PREFERRED_PROVIDER_virtual/kernel = "linux-omap" - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth screen touchscreen phone" -KERNEL_IMAGETYPE = "uImage" -IMAGE_FSTYPES ?= "tar.gz jffs2" -EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 -n" -SERIAL_CONSOLE = "-L 115200 ttyS2" - -require conf/machine/include/tune-cortexa8.inc -#require conf/machine/include/tune-arm1136jf-s.inc - -MACHINE_EXTRA_RRECOMMENDS = "\ - kernel-module-ads7846 \ - kernel-module-atkbd \ - kernel-module-g-ether \ - kernel-module-musb-hdrc \ - kernel-module-omap24xxlib \ - kernel-module-omap24xxvout \ - kernel-module-omap-hsmmc \ - kernel-module-snd-omap2-audio \ - " diff --git a/meta/conf/machine/omap-3430sdp.conf b/meta/conf/machine/omap-3430sdp.conf deleted file mode 100644 index 5d87bd148..000000000 --- a/meta/conf/machine/omap-3430sdp.conf +++ /dev/null @@ -1,16 +0,0 @@ -#@TYPE: Machine -#@NAME: TI OMAP 3430 SDP -#@DESCRIPTION: Machine configuration for the TI OMAP 3430 SDP -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6 armv7a" - -PREFERRED_PROVIDER_virtual/kernel = "linux-omap" - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth irda screen touchscreen" -KERNEL_IMAGETYPE = "uImage" -IMAGE_FSTYPES ?= "tar.gz jffs2" -EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 -n" -SERIAL_CONSOLE = "-L 115200 ttyS0" - -require conf/machine/include/tune-cortexa8.inc -#require conf/machine/include/tune-arm1136jf-s.inc diff --git a/meta/conf/machine/overo.conf b/meta/conf/machine/overo.conf deleted file mode 100644 index dde4bff47..000000000 --- a/meta/conf/machine/overo.conf +++ /dev/null @@ -1,37 +0,0 @@ -#@TYPE: Machine -#@NAME: overo machine -#@DESCRIPTION: Machine configuration for the overo - -include conf/machine/include/tune-cortexa8.inc - -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6 armv7 armv7a" -MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat alsa" - -PREFERRED_VERSION_u-boot = "git" -UBOOT_ENTRYPOINT = "0x80008000" -UBOOT_LOADADDRESS = "0x80008000" - -PREFERRED_PROVIDER_virtual/kernel = "linux-omap3" -KERNEL_IMAGETYPE = "uImage" -MACHINE_EXTRA_RRECOMMENDS = " kernel-modules" -SERIAL_CONSOLE = "115200 ttyS2" - -IMAGE_FSTYPES += "tar.bz2 jffs2" -EXTRA_IMAGECMD_jffs2 = "-lnp " -EXTRA_IMAGEDEPENDS += "u-boot-omap3 x-load" - -PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive" -#XSERVER = "xserver-xorg \ -# xf86-input-evdev \ -# xf86-input-mouse \ -# xf86-video-fbdev \ -# xf86-input-keyboard" - -XSERVER = "xserver-kdrive-fbdev" - -GUI_MACHINE_CLASS = "bigscreen" - -ANGSTROM_URI = "http://www.gumstix.net" - - diff --git a/meta/conf/machine/qemuarm.conf b/meta/conf/machine/qemuarm.conf index 4ea8371ef..d07084bcf 100644 --- a/meta/conf/machine/qemuarm.conf +++ b/meta/conf/machine/qemuarm.conf @@ -1,9 +1,6 @@ #@TYPE: Machine -#@NAME: qemu ARM Emulator setup -#@DESCRIPTION: Machine configuration for running an ARM system under qemu emulation - -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te" +#@NAME: arm_versatile_926ejs +#@DESCRIPTION: arm_versatile_926ejs require conf/machine/include/qemu.inc require conf/machine/include/tune-arm926ejs.inc @@ -13,4 +10,3 @@ KERNEL_IMAGETYPE = "zImage" SERIAL_CONSOLE = "115200 ttyAMA0" -PREFERRED_PROVIDER_virtual/kernel = "linux-rp" diff --git a/meta/conf/machine/qemumips.conf b/meta/conf/machine/qemumips.conf new file mode 100644 index 000000000..ce1c419d1 --- /dev/null +++ b/meta/conf/machine/qemumips.conf @@ -0,0 +1,13 @@ +#@TYPE: Machine +#@NAME: mti_malta32_be MIPS +#@DESCRIPTION: mti_malta32_be + +require conf/machine/include/qemu.inc +require conf/machine/include/tune-mips32.inc + +KERNEL_IMAGETYPE = "vmlinux" +KERNEL_ALT_IMAGETYPE = "vmlinux.bin" + +SERIAL_CONSOLE = "115200 ttyS0" + +MACHINE_EXTRA_RRECOMMENDS = " kernel-modules" diff --git a/meta/conf/machine/qemuppc.conf b/meta/conf/machine/qemuppc.conf new file mode 100644 index 000000000..48eecb73b --- /dev/null +++ b/meta/conf/machine/qemuppc.conf @@ -0,0 +1,11 @@ +#@TYPE: Machine +#@NAME: qemu PPC Emulator setup +#@DESCRIPTION: Machine configuration for running an PPC system under qemu emulation + +require conf/machine/include/qemu.inc +require conf/machine/include/tune-ppc603e.inc + +KERNEL_IMAGETYPE = "vmlinux" + +SERIAL_CONSOLE = "115200 ttyS0" + diff --git a/meta/conf/machine/qemux86-64.conf b/meta/conf/machine/qemux86-64.conf new file mode 100644 index 000000000..129fe9f28 --- /dev/null +++ b/meta/conf/machine/qemux86-64.conf @@ -0,0 +1,29 @@ +#@TYPE: Machine +#@NAME: common_pc +#@DESCRIPTION: Machine configuration for running a common x86 + +PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" +PREFERRED_PROVIDER_virtual/libgl ?= "mesa-dri" + +require conf/machine/include/tune-x86_64.inc +require conf/machine/include/qemu.inc + +MACHINE_FEATURES += "x86" + +KERNEL_IMAGETYPE = "bzImage" + +SERIAL_CONSOLE = "115200 ttyS0" + +# We bypass swrast but we need it to be present for X to load correctly +XSERVER ?= "xserver-xorg \ + mesa-dri-driver-swrast \ + xf86-input-vmmouse \ + xf86-input-keyboard \ + xf86-input-evdev \ + xf86-video-vmware \ + qemugl" + +GLIBC_ADDONS = "nptl" +GLIBC_EXTRA_OECONF = "--with-tls" + +MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d" diff --git a/meta/conf/machine/qemux86.conf b/meta/conf/machine/qemux86.conf index c7ed4b87d..246d5a0c8 100644 --- a/meta/conf/machine/qemux86.conf +++ b/meta/conf/machine/qemux86.conf @@ -1,10 +1,11 @@ #@TYPE: Machine -#@NAME: qemu x86 Emulator setup -#@DESCRIPTION: Machine configuration for running an x86 system under qemu emulation +#@NAME: common_pc +#@DESCRIPTION: Machine configuration for running a common x86 -TARGET_ARCH = "i586" -PACKAGE_EXTRA_ARCHS = "x86" +PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" +PREFERRED_PROVIDER_virtual/libgl ?= "mesa-dri" +require conf/machine/include/tune-i586.inc require conf/machine/include/qemu.inc MACHINE_FEATURES += "x86" @@ -13,23 +14,17 @@ KERNEL_IMAGETYPE = "bzImage" SERIAL_CONSOLE = "115200 ttyS0" -PREFERRED_PROVIDER_virtual/kernel = "linux-rp" -PREFERRED_PROVIDER_virtual/libgl = "qemugl" -PREFERRED_PROVIDER_virtual/kernel ?= "linux-moblin" -PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-trim" -PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86-dri-lite" -PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xf86-dri-lite" -XSERVER ?= "xserver-xf86-dri-lite \ - xf86-input-mouse \ +# We bypass swrast but we need it to be present for X to load correctly +XSERVER ?= "xserver-xorg \ + mesa-dri-driver-swrast \ + xf86-input-vmmouse \ xf86-input-keyboard \ xf86-input-evdev \ - xf86-input-synaptics \ xf86-video-vmware \ qemugl" GLIBC_ADDONS = "nptl" GLIBC_EXTRA_OECONF = "--with-tls" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "v86d" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d" -TARGET_CC_ARCH = "-march=i586" diff --git a/meta/conf/machine/spitz.conf b/meta/conf/machine/spitz.conf deleted file mode 100644 index 4a794331e..000000000 --- a/meta/conf/machine/spitz.conf +++ /dev/null @@ -1,16 +0,0 @@ -#@TYPE: Machine -#@NAME: Sharp Zaurus SL-C3000 -#@DESCRIPTION: Machine configuration for the Sharp Zaurus SL-C3000 device - -require conf/machine/include/zaurus-2.6.inc -require conf/machine/include/zaurus-clamshell.inc - -MACHINE_FEATURES += "iwmmxt" - -PIVOTBOOT_EXTRA_RDEPENDS += "pivotinit ${PCMCIA_MANAGER}" - -PACKAGE_EXTRA_ARCHS += "iwmmxt" -IMAGE_FSTYPES ?= "tar.gz ext3" -IMAGE_ROOTFS_SIZE_ext3 = "250000" - -ROOT_FLASH_SIZE = "100" diff --git a/meta/conf/machine/zylonite.conf b/meta/conf/machine/zylonite.conf deleted file mode 100644 index 644675e84..000000000 --- a/meta/conf/machine/zylonite.conf +++ /dev/null @@ -1,24 +0,0 @@ -#@TYPE: Machine -#@NAME: Marvel PXA3xx Monahans Zylonite -#@DESCRIPTION: Machine configuration for the Zylonite Development board - -require conf/machine/include/tune-xscale.inc - -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te iwmmxt" - -EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 -n -x lzo -p" - -IMAGE_CMD_jffs2 = "mkdir -p ${DEPLOY_DIR_IMAGE}; \ - mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime \ - --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 ${EXTRA_IMAGECMD}; " - -IMAGE_FSTYPES ?= "tar.bz2 jffs2" - -SERIAL_CONSOLE = "38400 ttyS0" - -PREFERRED_PROVIDER_virtual/kernel = "linux-rp" -PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive" -XSERVER = "xserver-kdrive-fbdev" - -MACHINE_FEATURES = "kernel26 apm usbgadget" |
