From 669b0410a23d61417d52ba50bf24a751436c0a21 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 30 Jan 2020 12:17:59 -0800 Subject: Create new baremetal toolchain machines Baremetal toolchain machines are specific to creating a very specific Xilinx multilib toolchain configuration. These are not expected to be functional MACHINE parameters for anything except SDK building. The expected usage is: MACHINE= DISTRO=xilinx-standalone bitbake meta-toolchain Add aarch32-tc Multilibs: base: (none) arm/v5te/softfp: -marm -march=armv5te+fp -mfloat-abi=softfp arm/v5te/hard: -marm -march=armv5te+fp -mfloat-abi=hard thumb/nofp: -mthumb -mfloat-abi=soft thumb/v7/nofp: -mthumb -march=armv7 -mfloat-abi=soft thumb/v7+fp/softfp: -mthumb -march=armv7+fp -mfloat-abi=softfp thumb/v7+fp/hard: -mthumb -march=armv7+fp -mfloat-abi=hard thumb/v7-a/nofp: -mthumb -march=armv7-a -mfloat-abi=soft thumb/v7-a+fp/softfp: -mthumb -march=armv7-a+fp -mfloat-abi=softfp thumb/v7-a+fp/hard: -mthumb -march=armv7-a+fp -mfloat-abi=hard thumb/v7-a+simd/softfp: -mthumb -march=armv7-a+simd -mfloat-abi=softfp thumb/v7-a+simd/hard: -mthumb -march=armv7-a+simd -mfloat-abi=hard thumb/v7ve+simd/softfp: -mthumb -march=armv7ve+simd -mfloat-abi=softfp thumb/v7ve+simd/hard: -mthumb -march=armv7ve+simd -mfloat-abi=hard thumb/v8-a/nofp: -mthumb -march=armv8-a -mfloat-abi=soft thumb/v8-a+simd/softfp: -mthumb -march=armv8-a+simd -mfloat-abi=softfp thumb/v8-a+simd/hard: -mthumb -march=armv8-a+simd -mfloat-abi=hard Add aarch64-tc Multilibs: Base: (none) ilp32: -mabi=ilp32 - ilp32 requires a custom machine dict - Add xlnx-standalone.bbclass - Enable with PACKAGEQA_EXTRA_MACHDEFFUNCS Add arm-rm-tc Multilibs: Base: (none) arm/v5te/softfp: -marm -march=armv5te+fp -mfloat-abi=softfp arm/v5te/hard: -marm -march=armv5te+fp -mfloat-abi=hard thumb/nofp: -mthumb -mfloat-abi=soft thumb/v7/nofp: -mthumb -march=armv7 -mfloat-abi=soft thumb/v7+fp/softfp: -mthumb -march=armv7+fp -mfloat-abi=softfp thumb/v7+fp/hard: -mthumb -march=armv7+fp -mfloat-abi=hard thumb/v6-m/nofp: -mthumb -march=armv6s-m -mfloat-abi=soft thumb/v7-m/nofp: -mthumb -march=armv7-m -mfloat-abi=soft thumb/v7e-m/nofp: -mthumb -march=armv7e-m -mfloat-abi=soft thumb/v7e-m+fp/softfp: -mthumb -march=armv7e-m+fp -mfloat-abi=softfp thumb/v7e-m+fp/hard: -mthumb -march=armv7e-m+fp -mfloat-abi=hard thumb/v7e-m+dp/softfp: -mthumb -march=armv7e-m+fp.dp -mfloat-abi=softfp thumb/v7e-m+dp/hard: -mthumb -march=armv7e-m+fp.dp -mfloat-abi=hard thumb/v8-m.base/nofp: -mthumb -march=armv8-m.base -mfloat-abi=soft thumb/v8-m.main/nofp: -mthumb -march=armv8-m.main -mfloat-abi=soft thumb/v8-m.main+fp/softfp: -mthumb -march=armv8-m.main+fp -mfloat-abi=softfp thumb/v8-m.main+fp/hard: -mthumb -march=armv8-m.main+fp -mfloat-abi=hard thumb/v8-m.main+dp/softfp: -mthumb -march=armv8-m.main+fp.dp -mfloat-abi=softfp thumb/v8-m.main+dp/hard: -mthumb -march=armv8-m.main+fp.dp -mfloat-abi=hard Add microblaze-tc Multilibs: base: (none) bs: -mxl-barrel-shift le: -mlittle-endian m: -mno-xl-soft-mul m/mh: -mno-xl-soft-mul -mxl-multiply-high le/m: -mlittle-endian -mno-xl-soft-mul le/m/mh: -mlittle-endian -mno-xl-soft-mul -mxl-multiply-high bs/le: -mxl-barrel-shift -mlittle-endian bs/m: -mxl-barrel-shift -mno-xl-soft-mul bs/m/mh: -mxl-barrel-shift -mno-xl-soft-mul -mxl-multiply-high bs/le/m: -mxl-barrel-shift -mlittle-endian -mno-xl-soft-mul bs/le/m/mh: -mxl-barrel-shift -mlittle-endian -mno-xl-soft-mul -mxl-multiply-high m64/le: -m64 -mlittle-endian m64/le/m: -m64 -mlittle-endian -mno-xl-soft-mul m64/le/m/mh: -m64 -mlittle-endian -mno-xl-soft-mul -mxl-multiply-high m64/bs/le: -m64 -mxl-barrel-shift -mlittle-endian m64/bs/le/m: -m64 -mxl-barrel-shift -mlittle-endian -mno-xl-soft-mul m64/bs/le/m/mh: -m64 -mxl-barrel-shift -mlittle-endian -mno-xl-soft-mul -mxl-multiply-high - 64-bit MicroBlaze requires a custom machine dict - Add xlnx-standalone.bbclass - Enable with PACKAGEQA_EXTRA_MACHDEFFUNCS Signed-off-by: Mark Hatle Please enter the commit message for your changes. Lines starting with '#' will be ignored, and an empty message aborts the commit. Date: Thu Jan 30 12:17:59 2020 -0800 On branch multilib-baremetal Your branch is ahead of 'xilinx/master-next' by 2 commits. (use "git push" to publish your local commits) Changes to be committed: --- meta-xilinx-bsp/classes/xlnx-standalone.bbclass | 16 ++ meta-xilinx-bsp/conf/machine/aarch32-tc.conf | 220 +++++++++++++++++ meta-xilinx-bsp/conf/machine/aarch64-tc.conf | 29 +++ meta-xilinx-bsp/conf/machine/arm-rm-tc.conf | 264 +++++++++++++++++++++ .../conf/machine/include/baremetal-tc.conf | 7 + meta-xilinx-bsp/conf/machine/microblaze-tc.conf | 214 +++++++++++++++++ 6 files changed, 750 insertions(+) create mode 100644 meta-xilinx-bsp/classes/xlnx-standalone.bbclass create mode 100644 meta-xilinx-bsp/conf/machine/aarch32-tc.conf create mode 100644 meta-xilinx-bsp/conf/machine/aarch64-tc.conf create mode 100644 meta-xilinx-bsp/conf/machine/arm-rm-tc.conf create mode 100644 meta-xilinx-bsp/conf/machine/include/baremetal-tc.conf create mode 100644 meta-xilinx-bsp/conf/machine/microblaze-tc.conf diff --git a/meta-xilinx-bsp/classes/xlnx-standalone.bbclass b/meta-xilinx-bsp/classes/xlnx-standalone.bbclass new file mode 100644 index 00000000..9232b1ef --- /dev/null +++ b/meta-xilinx-bsp/classes/xlnx-standalone.bbclass @@ -0,0 +1,16 @@ +# Only enabled when ilp32 is enabled. +def xlnx_ilp32_dict(machdata, d): + machdata["elf"] = { + "aarch64" : (183, 0, 0, True, 32), + "aarch64_be" :(183, 0, 0, False, 32), + } + return machdata + +# Only enabled when microblaze64 is enabled. +def xlnx_mb64_dict(machdata, d): + machdata["elf"] = { + "microblaze": (189, 0, 0, False, 64), + "microblazeeb":(189, 0, 0, False, 64), + "microblazeel":(189, 0, 0, True, 64), + } + return machdata diff --git a/meta-xilinx-bsp/conf/machine/aarch32-tc.conf b/meta-xilinx-bsp/conf/machine/aarch32-tc.conf new file mode 100644 index 00000000..72fbc80f --- /dev/null +++ b/meta-xilinx-bsp/conf/machine/aarch32-tc.conf @@ -0,0 +1,220 @@ +require conf/multilib.conf +require conf/machine/include/tune-cortexa9.inc +require conf/machine/include/baremetal-tc.conf + +# Define all of the multilibs supproted by this configuration +MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}" + +MULTILIBS = "multilib:libarmv5tesoftfp multilib:libarmv5tehard" +MULTILIBS += "multilib:libnofp" +MULTILIBS += "multilib:libv7nofp multilib:libv7fpsoftfp multilib:libv7fphard" +MULTILIBS += "multilib:libv7anofp" +MULTILIBS += "multilib:libv7afpsoftfp" +MULTILIBS += "multilib:libv7afpthf multilib:libv7asimdsoftfp" +MULTILIBS += "multilib:libv7asimdhard multilib:libv7vesimdsoftfp" +MULTILIBS += "multilib:libvtvesimdhf" +MULTILIBS += "multilib:libv8anofp" +MULTILIBS += "multilib:libv8asimdsoftfp multilib:libv8asimdhard" + +TUNE_CCARGS = "${TUNE_CCARGS_tune-${DEFAULTTUNE}}" +TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" + +# Base configuration +# CFLAGS: +DEFAULTTUNE = "aarch32" + +AVAILTUNES += "aarch32" +PACKAGE_EXTRA_ARCHS_tune-aarch32 = "${TUNE_PKGARCH_tune-aarch32}" +BASE_LIB_tune-aarch32 = "lib" +TUNE_FEATURES_tune-aarch32 = "arm" +TUNE_CCARGS_tune-aarch32 = "" +TUNE_PKGARCH_tune-aarch32 = "aarch32" + + +# arm/v5te/softfp +# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libarmv5tesoftfp = "armv5tesoftfp" + +AVAILTUNES += "armv5tesoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv5tesoftfp = "${TUNE_PKGARCH_tune-armv5tesoftfp}" +BASE_LIB_tune-armv5tesoftfp = "lib/arm/v5te/softfp" +TUNE_FEATURES_tune-armv5tesoftfp = "arm" +TUNE_CCARGS_tune-armv5tesoftfp = "-marm -march=armv5te+fp -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv5tesoftfp = "armv5tefp" + + +# arm/v5te/hard +# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libarmv5tehard = "armv5tehard" + +AVAILTUNES += "armv5tehard" +PACKAGE_EXTRA_ARCHS_tune-armv5tehard = "${TUNE_PKGARCH_tune-armv5tehard}" +BASE_LIB_tune-armv5tehard = "lib/arm/v5te/hard" +TUNE_FEATURES_tune-armv5tehard = "arm" +TUNE_CCARGS_tune-armv5tehard = "-marm -march=armv5te+fp -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv5tehard = "armv5tefphf" + + +# thumb/nofp +# CFLAGS: -mthumb -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libnofp = "armnofp" + +AVAILTUNES += "armnofp" +PACKAGE_EXTRA_ARCHS_tune-armnofp = "${TUNE_PKGARCH_tune-armnofp}" +BASE_LIB_tune-armnofp = "lib/thumb/nofp" +TUNE_FEATURES_tune-armnofp = "arm" +TUNE_CCARGS_tune-armnofp = "-mthumb -mfloat-abi=soft" +TUNE_PKGARCH_tune-armnofp = "armt" + + +# thumb/v7/nofp +# CFLAGS: -mthumb -march=armv7 -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libv7nofp = "armv7nofp" + +AVAILTUNES += "armv7nofp" +PACKAGE_EXTRA_ARCHS_tune-armv7nofp = "${TUNE_PKGARCH_tune-armv7nofp}" +BASE_LIB_tune-armv7nofp = "lib/thumb/v7/nofp" +TUNE_FEATURES_tune-armv7nofp = "arm" +TUNE_CCARGS_tune-armv7nofp = "-mthumb -march=armv7 -mfloat-abi=soft" +TUNE_PKGARCH_tune-armv7nofp = "armv7t" + + +# thumb/v7+fp/softfp +# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv7fpsoftfp = "armv7fpsoftfp" + +AVAILTUNES += "armv7fpsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv7fpsoftfp = "${TUNE_PKGARCH_tune-armv7fpsoftfp}" +BASE_LIB_tune-armv7fpsoftfp = "lib/thumb/v7+fp/softfp" +TUNE_FEATURES_tune-armv7fpsoftfp = "arm" +TUNE_CCARGS_tune-armv7fpsoftfp = "-mthumb -march=armv7+fp -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv7fpsoftfp = "armv7fpt" + + +# thumb/v7+fp/hard +# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libv7fphard = "armv7fphard" + +AVAILTUNES += "armv7fphard" +PACKAGE_EXTRA_ARCHS_tune-armv7fphard = "${TUNE_PKGARCH_tune-armv7fphard}" +BASE_LIB_tune-armv7fphard = "lib/thumb/v7+fp/hard" +TUNE_FEATURES_tune-armv7fphard = "arm" +TUNE_CCARGS_tune-armv7fphard = "-mthumb -march=armv7+fp -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv7fphard = "armv7fpthf" + + +# thumb/v7-a/nofp +# CFLAGS: -mthumb -march=armv7-a -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libv7anofp = "armv7anofp" + +AVAILTUNES += "armv7anofp" +PACKAGE_EXTRA_ARCHS_tune-armv7anofp = "${TUNE_PKGARCH_tune-armv7anofp}" +BASE_LIB_tune-armv7anofp = "lib/thumb/v7-a/nofp" +TUNE_FEATURES_tune-armv7anofp = "arm" +TUNE_CCARGS_tune-armv7anofp = "-mthumb -march=armv7-a -mfloat-abi=soft" +TUNE_PKGARCH_tune-armv7anofp = "armv7at" + + +# thumb/v7-a+fp/softfp +# CFLAGS: -mthumb -march=armv7-a+fp -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv7afpsoftfp = "armv7afpsoftfp" + +AVAILTUNES += "armv7afpsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv7afpsoftfp = "${TUNE_PKGARCH_tune-armv7afpsoftfp}" +BASE_LIB_tune-armv7afpsoftfp = "lib/thumb/v7-a+fp/softfp" +TUNE_FEATURES_tune-armv7afpsoftfp = "arm" +TUNE_CCARGS_tune-armv7afpsoftfp = "-mthumb -march=armv7-a+fp -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv7afpsoftfp = "armv7afpt" + + +# thumb/v7-a+fp/hard +# CFLAGS: -mthumb -march=armv7-a+fp -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libv7afpthf = "armv7afpthf" + +AVAILTUNES += "armv7afpthf" +PACKAGE_EXTRA_ARCHS_tune-armv7afpthf = "${TUNE_PKGARCH_tune-armv7afpthf}" +BASE_LIB_tune-armv7afpthf = "lib/thumb/v7-a+fp/hard" +TUNE_FEATURES_tune-armv7afpthf = "arm" +TUNE_CCARGS_tune-armv7afpthf = "-mthumb -march=armv7-a+fp -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv7afpthf = "armv7afpthf" + +# thumb/v7-a+simd/softfp +# CFLAGS: -mthumb -march=armv7-a+simd -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv7asimdsoftfp = "armv7asimdsoftfp" + +AVAILTUNES += "armv7asimdsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv7asimdsoftfp = "${TUNE_PKGARCH_tune-armv7asimdsoftfp}" +BASE_LIB_tune-armv7asimdsoftfp = "lib/thumb/v7-a+simd/softfp" +TUNE_FEATURES_tune-armv7asimdsoftfp = "arm" +TUNE_CCARGS_tune-armv7asimdsoftfp = "-mthumb -march=armv7-a+simd -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv7asimdsoftfp = "armv7asimdt" + + +# thumb/v7-a+simd/hard +# CFLAGS: -mthumb -march=armv7-a+simd -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libv7asimdhard = "armv7asimdhard" + +AVAILTUNES += "armv7asimdhard" +PACKAGE_EXTRA_ARCHS_tune-armv7asimdhard = "${TUNE_PKGARCH_tune-armv7asimdhard}" +BASE_LIB_tune-armv7asimdhard = "lib/thumb/v7-a+simd/hard" +TUNE_FEATURES_tune-armv7asimdhard = "arm" +TUNE_CCARGS_tune-armv7asimdhard = "-mthumb -march=armv7-a+simd -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv7asimdhard = "armv7asimdthf" + + +# thumb/v7ve+simd/softfp +# CFLAGS: -mthumb -march=armv7ve+simd -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv7vesimdsoftfp = "armv7vesimdsoftfp" + +AVAILTUNES += "armv7vesimdsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv7vesimdsoftfp = "${TUNE_PKGARCH_tune-armv7vesimdsoftfp}" +BASE_LIB_tune-armv7vesimdsoftfp = "lib/thumb/v7ve+simd/softfp" +TUNE_FEATURES_tune-armv7vesimdsoftfp = "arm" +TUNE_CCARGS_tune-armv7vesimdsoftfp = "-mthumb -march=armv7ve+simd -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv7vesimdsoftfp = "armv7vesimdt" + +# thumb/v7ve+simd/hard +# CFLAGS: -mthumb -march=armv7ve+simd -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libvtvesimdhf = "armvtvesimdhf" + +AVAILTUNES += "armvtvesimdhf" +PACKAGE_EXTRA_ARCHS_tune-armvtvesimdhf = "${TUNE_PKGARCH_tune-armvtvesimdhf}" +BASE_LIB_tune-armvtvesimdhf = "lib/thumb/v7ve+simd/hard" +TUNE_FEATURES_tune-armvtvesimdhf = "arm" +TUNE_CCARGS_tune-armvtvesimdhf = "-mthumb -march=armv7ve+simd -mfloat-abi=hard" +TUNE_PKGARCH_tune-armvtvesimdhf = "armv7vesimdthf" + + +# thumb/v8-a/nofp +# CFLAGS: -mthumb -march=armv8-a -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libv8anofp = "armv8anofp" + +AVAILTUNES += "armv8anofp" +PACKAGE_EXTRA_ARCHS_tune-armv8anofp = "${TUNE_PKGARCH_tune-armv8anofp}" +BASE_LIB_tune-armv8anofp = "lib/thumb/v8-a/nofp" +TUNE_FEATURES_tune-armv8anofp = "arm" +TUNE_CCARGS_tune-armv8anofp = "-mthumb -march=armv8-a -mfloat-abi=soft" +TUNE_PKGARCH_tune-armv8anofp = "armv8at" + +# thumb/v8-a+simd/softfp +# CFLAGS: -mthumb -march=armv8-a+simd -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv8asimdsoftfp = "armv8asimdsoftfp" + +AVAILTUNES += "armv8asimdsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv8asimdsoftfp = "${TUNE_PKGARCH_tune-armv8asimdsoftfp}" +BASE_LIB_tune-armv8asimdsoftfp = "lib/thumb/v8-a+simd/softfp" +TUNE_FEATURES_tune-armv8asimdsoftfp = "arm" +TUNE_CCARGS_tune-armv8asimdsoftfp = "-mthumb -march=armv8-a+simd -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv8asimdsoftfp = "armv8asimdt" + + +# thumb/v8-a+simd/hard +# CFLAGS: -mthumb -march=armv8-a+simd -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libv8asimdhard = "armv8asimdhard" + +AVAILTUNES += "armv8asimdhard" +PACKAGE_EXTRA_ARCHS_tune-armv8asimdhard = "${TUNE_PKGARCH_tune-armv8asimdhard}" +BASE_LIB_tune-armv8asimdhard = "lib/thumb/v8-a+simd/hard" +TUNE_FEATURES_tune-armv8asimdhard = "arm" +TUNE_CCARGS_tune-armv8asimdhard = "-mthumb -march=armv8-a+simd -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv8asimdhard = "armv8asimdthf" diff --git a/meta-xilinx-bsp/conf/machine/aarch64-tc.conf b/meta-xilinx-bsp/conf/machine/aarch64-tc.conf new file mode 100644 index 00000000..e9e0412b --- /dev/null +++ b/meta-xilinx-bsp/conf/machine/aarch64-tc.conf @@ -0,0 +1,29 @@ +require conf/multilib.conf +require conf/machine/include/tune-cortexa72-cortexa53.inc +require conf/machine/include/baremetal-tc.conf + +# Define ilp32 variant (not in tune files) +TUNEVALID[ilp32] = "ilp32 ABI" + +TUNE_CCARGS .= '${@bb.utils.contains("TUNE_FEATURES", "ilp32", " -mabi=ilp32", "", d)}' + +# ILP request an alternative machine dictionary +INHERIT += "xlnx-standalone" +PACKAGEQA_EXTRA_MACHDEFFUNCS .= '${@bb.utils.contains("TUNE_FEATURES", "ilp32", " xlnx_ilp32_dict", "", d)}' + +# Define all of the multilibs supported by this configuration +MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}" +MULTILIBS = "multilib:libilp32" + +# Base configuration +# CFLAGS: +DEFAULTTUNE = "cortexa72-cortexa53" + +# CFLAGS: -mabi=ilp32 +DEFAULTTUNE_virtclass-multilib-libilp32 = "cortexa72-cortexa53-ilp32" + +AVAILTUNES += "cortexa72-cortexa53-ilp32" +ARMPKGARCH_tune-cortexa72-cortexa53-ilp32 = "${ARMPKGARCH_tune-cortexa72-cortexa53}_ilp32" +TUNE_FEATURES_tune-cortexa72-cortexa53-ilp32 = "${TUNE_FEATURES_tune-cortexa72-cortexa53} ilp32" +PACKAGE_EXTRA_ARCHS_tune-cortexa72-cortexa53-ilp32 = "${PACKAGE_EXTRA_ARCHS_tune-cortexa72-cortexa53} cortexa72-cortexa53-ilp32" +BASE_LIB_tune-cortexa72-cortexa53-ilp32 = "lib/ilp32" diff --git a/meta-xilinx-bsp/conf/machine/arm-rm-tc.conf b/meta-xilinx-bsp/conf/machine/arm-rm-tc.conf new file mode 100644 index 00000000..c9b7480e --- /dev/null +++ b/meta-xilinx-bsp/conf/machine/arm-rm-tc.conf @@ -0,0 +1,264 @@ +require conf/multilib.conf +require conf/machine/include/arm/arch-armv8a.inc +require conf/machine/include/baremetal-tc.conf + +# Define all of the multilibs supproted by this configuration +MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}" + +MULTILIBS = "multilib:libarmv5tesoftfp multilib:libarmv5tehard" +MULTILIBS += "multilib:libnofp" +MULTILIBS += "multilib:libv7nofp multilib:libv7fpsoftfp multilib:libv7fphard" +MULTILIBS += "multilib:libv6mnofp" +MULTILIBS += "multilib:libv7mnofp" +MULTILIBS += "multilib:libv7emnofp multilib:libv7emfpsoftfp" +MULTILIBS += "multilib:libv7emfphard multilib:libv7emdpsoftfp" +MULTILIBS += "multilib:libv7emdphard" +MULTILIBS += "multilib:libv8mbasenofp" +MULTILIBS += "multilib:libv8mmainnofp multilib:libv8mmainfpsoftfp multilib:libv8mmainfphard multilib:libv8mmaindpsoftfp multilib:libv8mmaindphard" + +TUNE_CCARGS = "${TUNE_CCARGS_tune-${DEFAULTTUNE}}" +TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" + +# Base configuration +# CFLAGS: +DEFAULTTUNE = "armrm" + +AVAILTUNES += "armrm" +PACKAGE_EXTRA_ARCHS_tune-armrm = "${TUNE_PKGARCH_tune-armrm}" +BASE_LIB_tune-armrm = "lib" +TUNE_FEATURES_tune-armrm = "arm" +TUNE_CCARGS_tune-armrm = "" +TUNE_PKGARCH_tune-armrm = "armrm" + + +# arm/v5te/softfp +# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libarmv5tesoftfp = "armv5tesoftfp" + +AVAILTUNES += "armv5tesoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv5tesoftfp = "${TUNE_PKGARCH_tune-armv5tesoftfp}" +BASE_LIB_tune-armv5tesoftfp = "lib/arm/v5te/softfp" +TUNE_FEATURES_tune-armv5tesoftfp = "arm" +TUNE_CCARGS_tune-armv5tesoftfp = "-marm -march=armv5te+fp -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv5tesoftfp = "armv5tefp" + + +# arm/v5te/hard +# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libarmv5tehard = "armv5tehard" + +AVAILTUNES += "armv5tehard" +PACKAGE_EXTRA_ARCHS_tune-armv5tehard = "${TUNE_PKGARCH_tune-armv5tehard}" +BASE_LIB_tune-armv5tehard = "lib/arm/v5te/hard" +TUNE_FEATURES_tune-armv5tehard = "arm" +TUNE_CCARGS_tune-armv5tehard = "-marm -march=armv5te+fp -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv5tehard = "armv5tefphf" + + +# thumb/nofp +# CFLAGS: -mthumb -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libnofp = "armnofp" + +AVAILTUNES += "armnofp" +PACKAGE_EXTRA_ARCHS_tune-armnofp = "${TUNE_PKGARCH_tune-armnofp}" +BASE_LIB_tune-armnofp = "lib/thumb/nofp" +TUNE_FEATURES_tune-armnofp = "arm" +TUNE_CCARGS_tune-armnofp = "-mthumb -mfloat-abi=soft" +TUNE_PKGARCH_tune-armnofp = "armt" + + +# thumb/v7/nofp +# CFLAGS: -mthumb -march=armv7 -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libv7nofp = "armv7nofp" + +AVAILTUNES += "armv7nofp" +PACKAGE_EXTRA_ARCHS_tune-armv7nofp = "${TUNE_PKGARCH_tune-armv7nofp}" +BASE_LIB_tune-armv7nofp = "lib/thumb/v7/nofp" +TUNE_FEATURES_tune-armv7nofp = "arm" +TUNE_CCARGS_tune-armv7nofp = "-mthumb -march=armv7 -mfloat-abi=soft" +TUNE_PKGARCH_tune-armv7nofp = "armv7t" + + +# thumb/v7+fp/softfp +# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv7fpsoftfp = "armv7fpsoftfp" + +AVAILTUNES += "armv7fpsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv7fpsoftfp = "${TUNE_PKGARCH_tune-armv7fpsoftfp}" +BASE_LIB_tune-armv7fpsoftfp = "lib/thumb/v7+fp/softfp" +TUNE_FEATURES_tune-armv7fpsoftfp = "arm" +TUNE_CCARGS_tune-armv7fpsoftfp = "-mthumb -march=armv7+fp -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv7fpsoftfp = "armv7fpt" + + +# thumb/v7+fp/hard +# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libv7fphard = "armv7fphard" + +AVAILTUNES += "armv7fphard" +PACKAGE_EXTRA_ARCHS_tune-armv7fphard = "${TUNE_PKGARCH_tune-armv7fphard}" +BASE_LIB_tune-armv7fphard = "lib/thumb/v7+fp/hard" +TUNE_FEATURES_tune-armv7fphard = "arm" +TUNE_CCARGS_tune-armv7fphard = "-mthumb -march=armv7+fp -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv7fphard = "armv7fpthf" + + +# thumb/v6-m/nofp +# CFLAGS: -mthumb -march=armv6s-m -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libv6mnofp = "armv6mnofp" + +# Workaround for this multilib in newlib +# newlib/libc/sys/arm/trap.S:88: Error: lo register required -- `sub ip,sp,ip +EXTRA_OECONF_append_pn-libv6mnofp-newlib = " --disable-newlib-supplied-syscalls" + +AVAILTUNES += "armv6mnofp" +PACKAGE_EXTRA_ARCHS_tune-armv6mnofp = "${TUNE_PKGARCH_tune-armv6mnofp}" +BASE_LIB_tune-armv6mnofp = "lib/thumb/v6-m/nofp" +TUNE_FEATURES_tune-armv6mnofp = "arm" +TUNE_CCARGS_tune-armv6mnofp = "-mthumb -march=armv6s-m -mfloat-abi=soft" +TUNE_PKGARCH_tune-armv6mnofp = "armv6smt" + + +# thumb/v7-m/nofp +# CFLAGS: -mthumb -march=armv7-m -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libv7mnofp = "armv7mnofp" + +AVAILTUNES += "armv7mnofp" +PACKAGE_EXTRA_ARCHS_tune-armv7mnofp = "${TUNE_PKGARCH_tune-armv7mnofp}" +BASE_LIB_tune-armv7mnofp = "lib/thumb/v7-m/nofp" +TUNE_FEATURES_tune-armv7mnofp = "arm" +TUNE_CCARGS_tune-armv7mnofp = "-mthumb -march=armv7-m -mfloat-abi=soft" +TUNE_PKGARCH_tune-armv7mnofp = "armv7mt" + + +# thumb/v7e-m/nofp +# CFLAGS: -mthumb -march=armv7e-m -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libv7emnofp = "armv7emnofp" + +AVAILTUNES += "armv7emnofp" +PACKAGE_EXTRA_ARCHS_tune-armv7emnofp = "${TUNE_PKGARCH_tune-armv7emnofp}" +BASE_LIB_tune-armv7emnofp = "lib/thumb/v7e-m/nofp" +TUNE_FEATURES_tune-armv7emnofp = "arm" +TUNE_CCARGS_tune-armv7emnofp = "-mthumb -march=armv7e-m -mfloat-abi=soft" +TUNE_PKGARCH_tune-armv7emnofp = "armv7emt" + + +# thumb/v7e-m+fp/softfp +# CFLAGS: -mthumb -march=armv7e-m+fp -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv7emfpsoftfp = "armv7emfpsoftfp" + +AVAILTUNES += "armv7emfpsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv7emfpsoftfp = "${TUNE_PKGARCH_tune-armv7emfpsoftfp}" +BASE_LIB_tune-armv7emfpsoftfp = "lib/thumb/v7e-m+fp/softfp" +TUNE_FEATURES_tune-armv7emfpsoftfp = "arm" +TUNE_CCARGS_tune-armv7emfpsoftfp = "-mthumb -march=armv7e-m+fp -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv7emfpsoftfp = "armv7emfpt" + + +# thumb/v7e-m+fp/hard +# CFLAGS: -mthumb -march=armv7e-m+fp -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libv7emfphard = "armv7emfphard" + +AVAILTUNES += "armv7emfphard" +PACKAGE_EXTRA_ARCHS_tune-armv7emfphard = "${TUNE_PKGARCH_tune-armv7emfphard}" +BASE_LIB_tune-armv7emfphard = "lib/thumb/v7e-m+fp/hard" +TUNE_FEATURES_tune-armv7emfphard = "arm" +TUNE_CCARGS_tune-armv7emfphard = "-mthumb -march=armv7e-m+fp -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv7emfphard = "armv7emfpthf" + + +# thumb/v7e-m+dp/softfp +# CFLAGS: -mthumb -march=armv7e-m+fp.dp -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv7emdpsoftfp = "armv7emdpsoftfp" + +AVAILTUNES += "armv7emdpsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv7emdpsoftfp = "${TUNE_PKGARCH_tune-armv7emdpsoftfp}" +BASE_LIB_tune-armv7emdpsoftfp = "lib/thumb/v7e-m+dp/softfp" +TUNE_FEATURES_tune-armv7emdpsoftfp = "arm" +TUNE_CCARGS_tune-armv7emdpsoftfp = "-mthumb -march=armv7e-m+fp.dp -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv7emdpsoftfp = "armv7emdp" + +# thumb/v7e-m+dp/hard +# CFLAGS: -mthumb -march=armv7e-m+fp.dp -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libv7emdphard = "armv7emdphard" + +AVAILTUNES += "armv7emdphard" +PACKAGE_EXTRA_ARCHS_tune-armv7emdphard = "${TUNE_PKGARCH_tune-armv7emdphard}" +BASE_LIB_tune-armv7emdphard = "lib/thumb/v7e-m+dp/hard" +TUNE_FEATURES_tune-armv7emdphard = "arm" +TUNE_CCARGS_tune-armv7emdphard = "-mthumb -march=armv7e-m+fp.dp -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv7emdphard = "armv7emdpthf" + + +# thumb/v8-m.base/nofp +# CFLAGS: -mthumb -march=armv8-m.base -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libv8mbasenofp = "armv8mbasenofp" + +# Workaround for this multilib in newlib +# newlib/libc/sys/arm/trap.S:88: Error: lo register required -- `sub ip,sp,ip' +EXTRA_OECONF_append_pn-libv8mbasenofp-newlib = " --disable-newlib-supplied-syscalls" + +AVAILTUNES += "armv8mbasenofp" +PACKAGE_EXTRA_ARCHS_tune-armv8mbasenofp = "${TUNE_PKGARCH_tune-armv8mbasenofp}" +BASE_LIB_tune-armv8mbasenofp = "lib/thumb/v8-m.base/nofp" +TUNE_FEATURES_tune-armv8mbasenofp = "arm" +TUNE_CCARGS_tune-armv8mbasenofp = "-mthumb -march=armv8-m.base -mfloat-abi=soft" +TUNE_PKGARCH_tune-armv8mbasenofp = "armv8mbaset" + +# thumb/v8-m.main/nofp +# CFLAGS: -mthumb -march=armv8-m.main -mfloat-abi=soft +DEFAULTTUNE_virtclass-multilib-libv8mmainnofp = "armv8mmainnofp" + +AVAILTUNES += "armv8mmainnofp" +PACKAGE_EXTRA_ARCHS_tune-armv8mmainnofp = "${TUNE_PKGARCH_tune-armv8mmainnofp}" +BASE_LIB_tune-armv8mmainnofp = "lib/thumb/v8-m.main/nofp" +TUNE_FEATURES_tune-armv8mmainnofp = "arm" +TUNE_CCARGS_tune-armv8mmainnofp = "-mthumb -march=armv8-m.main -mfloat-abi=soft" +TUNE_PKGARCH_tune-armv8mmainnofp = "armv8mmaint" + + +# thumb/v8-m.main+fp/softfp +# CFLAGS: -mthumb -march=armv8-m.main+fp -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv8mmainfpsoftfp = "armv8mmainfpsoftfp" + +AVAILTUNES += "armv8mmainfpsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv8mmainfpsoftfp = "${TUNE_PKGARCH_tune-armv8mmainfpsoftfp}" +BASE_LIB_tune-armv8mmainfpsoftfp = "lib/thumb/v8-m.main+fp/softfp" +TUNE_FEATURES_tune-armv8mmainfpsoftfp = "arm" +TUNE_CCARGS_tune-armv8mmainfpsoftfp = "-mthumb -march=armv8-m.main+fp -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv8mmainfpsoftfp = "armv8mmainfpt" + +# thumb/v8-m.main+fp/hard +# CFLAGS: -mthumb -march=armv8-m.main+fp -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libv8mmainfphard = "armv8mmainfphard" + +AVAILTUNES += "armv8mmainfphard" +PACKAGE_EXTRA_ARCHS_tune-armv8mmainfphard = "${TUNE_PKGARCH_tune-armv8mmainfphard}" +BASE_LIB_tune-armv8mmainfphard = "lib/thumb/v8-m.main+fp/hard" +TUNE_FEATURES_tune-armv8mmainfphard = "arm" +TUNE_CCARGS_tune-armv8mmainfphard = "-mthumb -march=armv8-m.main+fp -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv8mmainfphard = "armv8mmainfpthf" + + +# thumb/v8-m.main+dp/softfp +# CFLAGS: -mthumb -march=armv8-m.main+fp.dp -mfloat-abi=softfp +DEFAULTTUNE_virtclass-multilib-libv8mmaindpsoftfp = "armv8mmaindpsoftfp" + +AVAILTUNES += "armv8mmaindpsoftfp" +PACKAGE_EXTRA_ARCHS_tune-armv8mmaindpsoftfp = "${TUNE_PKGARCH_tune-armv8mmaindpsoftfp}" +BASE_LIB_tune-armv8mmaindpsoftfp = "lib/thumb/v8-m.main+dp/softfp" +TUNE_FEATURES_tune-armv8mmaindpsoftfp = "arm" +TUNE_CCARGS_tune-armv8mmaindpsoftfp = "-mthumb -march=armv8-m.main+fp.dp -mfloat-abi=softfp" +TUNE_PKGARCH_tune-armv8mmaindpsoftfp = "armv8mmainfpdpt" + + +# thumb/v8-m.main+dp/hard +# CFLAGS: -mthumb -march=armv8-m.main+fp.dp -mfloat-abi=hard +DEFAULTTUNE_virtclass-multilib-libv8mmaindphard = "armv8mmaindphard" + +AVAILTUNES += "armv8mmaindphard" +PACKAGE_EXTRA_ARCHS_tune-armv8mmaindphard = "${TUNE_PKGARCH_tune-armv8mmaindphard}" +BASE_LIB_tune-armv8mmaindphard = "lib/thumb/v8-m.main+dp/hard" +TUNE_FEATURES_tune-armv8mmaindphard = "arm" +TUNE_CCARGS_tune-armv8mmaindphard = "-mthumb -march=armv8-m.main+fp.dp -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv8mmaindphard = "armv8mmainfpdpthf" diff --git a/meta-xilinx-bsp/conf/machine/include/baremetal-tc.conf b/meta-xilinx-bsp/conf/machine/include/baremetal-tc.conf new file mode 100644 index 00000000..a53ceac2 --- /dev/null +++ b/meta-xilinx-bsp/conf/machine/include/baremetal-tc.conf @@ -0,0 +1,7 @@ +# This is specific to baremetal toolchains only. +# +# Some of the operations we want to do are different then regular Yocto +# Project SDK workflows, so wrap baremetal toolchain items in a custom +# override: + +MACHINEOVERRIDES_append = ":baremetal-multilib-tc" diff --git a/meta-xilinx-bsp/conf/machine/microblaze-tc.conf b/meta-xilinx-bsp/conf/machine/microblaze-tc.conf new file mode 100644 index 00000000..ce1c81a8 --- /dev/null +++ b/meta-xilinx-bsp/conf/machine/microblaze-tc.conf @@ -0,0 +1,214 @@ +require conf/multilib.conf +require conf/machine/include/microblaze/arch-microblaze.inc +require conf/machine/include/baremetal-tc.conf + +# ILP request an alternative machine dictionary +INHERIT += "xlnx-standalone" +PACKAGEQA_EXTRA_MACHDEFFUNCS .= '${@bb.utils.contains("TUNE_FEATURES", "64-bit", " xlnx_mb64_dict", "", d)}' + +# GNU hash style not supported +TARGET_LINK_HASH_STYLE = "" + +# Define all of the multilibs supproted by this configuration +MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}" + +MULTILIBS += "multilib:libbs" +MULTILIBS += "multilib:lible" +# Can't be 'libm...' or failures happen +MULTILIBS += "multilib:libmbm" +MULTILIBS += "multilib:libmbmmh" + +MULTILIBS += "multilib:liblem" +MULTILIBS += "multilib:liblemmh" +MULTILIBS += "multilib:libbsle" +MULTILIBS += "multilib:libbsm" +MULTILIBS += "multilib:libbsmmh" +MULTILIBS += "multilib:libbslem" +MULTILIBS += "multilib:libbslemmh" +MULTILIBS += "multilib:lib64le" +MULTILIBS += "multilib:lib64lem" +MULTILIBS += "multilib:lib64lemmh" +MULTILIBS += "multilib:lib64bsle" +MULTILIBS += "multilib:lib64bslem" +MULTILIBS += "multilib:lib64bslemmh" + +# Base configuration +# CFLAGS: +DEFAULTTUNE = "microblaze" + +AVAILTUNES += "microblaze" +BASE_LIB_tune-microblaze = "lib" +TUNE_FEATURES_tune-microblaze = "microblaze bigendian" +PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}" + + +# bs +# CFLAGS: -mxl-barrel-shift +DEFAULTTUNE_virtclass-multilib-libbs = "microblazebs" + +AVAILTUNES += "microblazebs" +BASE_LIB_tune-microblazebs = "lib/bs" +TUNE_FEATURES_tune-microblazebs = "microblaze bigendian barrel-shift" +PACKAGE_EXTRA_ARCHS_tune-microblazebs = "${TUNE_PKGARCH}" + + +# le +# CFLAGS: -mlittle-endian +DEFAULTTUNE_virtclass-multilib-lible = "microblazele" + +AVAILTUNES += "microblazele" +BASE_LIB_tune-microblazele = "lib/le" +TUNE_FEATURES_tune-microblazele = "microblaze" +PACKAGE_EXTRA_ARCHS_tune-microblazele = "${TUNE_PKGARCH}" + + +# m +# CFLAGS: -mno-xl-soft-mul +# Can't be 'libm...' or failures happen +DEFAULTTUNE_virtclass-multilib-libmbm = "microblazem" + +AVAILTUNES += "microblazem" +BASE_LIB_tune-microblazem = "lib/m" +TUNE_FEATURES_tune-microblazem = "microblaze bigendian multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazem = "${TUNE_PKGARCH}" + + +# m/mh +# CFLAGS: -mno-xl-soft-mul -mxl-multiply-high +# Can't be 'libm...' or failures happen +DEFAULTTUNE_virtclass-multilib-libmbmmh = "microblazemmh" + +AVAILTUNES += "microblazemmh" +BASE_LIB_tune-microblazemmh = "lib/m/mh" +TUNE_FEATURES_tune-microblazemmh = "microblaze bigendian multiply-high" +PACKAGE_EXTRA_ARCHS_tune-microblazemmh = "${TUNE_PKGARCH}" + + +# le/m +# CFLAGS: -mlittle-endian -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-liblem = "microblazelem" + +AVAILTUNES += "microblazelem" +BASE_LIB_tune-microblazelem = "lib/le/m" +TUNE_FEATURES_tune-microblazelem = "microblaze multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazelem = "${TUNE_PKGARCH}" + + +# le/m/mh +# CFLAGS: -mlittle-endian -mno-xl-soft-mul -mxl-multiply-high +DEFAULTTUNE_virtclass-multilib-liblemmh = "microblazelemmh" + +AVAILTUNES += "microblazelemmh" +BASE_LIB_tune-microblazelemmh = "lib/le/m/mh" +TUNE_FEATURES_tune-microblazelemmh = "microblaze multiply-high" +PACKAGE_EXTRA_ARCHS_tune-microblazelemmh = "${TUNE_PKGARCH}" + + +# bs/le +# CFLAGS: -mxl-barrel-shift -mlittle-endian +DEFAULTTUNE_virtclass-multilib-libbsle = "microblazebsle" + +AVAILTUNES += "microblazebsle" +BASE_LIB_tune-microblazebsle = "lib/bs/le" +TUNE_FEATURES_tune-microblazebsle = "microblaze bigendian barrel-shift" +PACKAGE_EXTRA_ARCHS_tune-microblazebsle = "${TUNE_PKGARCH}" + +# bs/m +# CFLAGS: -mxl-barrel-shift -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libbsm = "microblazebsm" + +AVAILTUNES += "microblazebsm" +BASE_LIB_tune-microblazebsm = "lib/bs/m" +TUNE_FEATURES_tune-microblazebsm = "microblaze bigendian barrel-shift multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazebsm = "${TUNE_PKGARCH}" + + +# bs/m/mh +# CFLAGS: -mxl-barrel-shift -mno-xl-soft-mul -mxl-multiply-high +DEFAULTTUNE_virtclass-multilib-libbsmmh = "microblazebsmmh" + +AVAILTUNES += "microblazebsmmh" +BASE_LIB_tune-microblazebsmmh = "lib/bs/m/mh" +TUNE_FEATURES_tune-microblazebsmmh = "microblaze bigendian barrel-shift multiply-high" +PACKAGE_EXTRA_ARCHS_tune-microblazebsmmh = "${TUNE_PKGARCH}" + + +# bs/le/m +# CFLAGS: -mxl-barrel-shift -mlittle-endian -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libbslem = "microblazebslem" + +AVAILTUNES += "microblazebslem" +BASE_LIB_tune-microblazebslem = "lib/bs/le/m" +TUNE_FEATURES_tune-microblazebslem = "microblaze barrel-shift multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazebslem = "${TUNE_PKGARCH}" + + +# bs/le/m/mh +# CFLAGS: -mxl-barrel-shift -mlittle-endian -mno-xl-soft-mul -mxl-multiply-high +DEFAULTTUNE_virtclass-multilib-libbslemmh = "microblazebslemmh" + +AVAILTUNES += "microblazebslemmh" +BASE_LIB_tune-microblazebslemmh = "lib/bs/le/m/mh" +TUNE_FEATURES_tune-microblazebslemmh = "microblaze barrel-shift multiply-high" +PACKAGE_EXTRA_ARCHS_tune-microblazebslemmh = "${TUNE_PKGARCH}" + + +# m64/le +# CFLAGS: -m64 -mlittle-endian +DEFAULTTUNE_virtclass-multilib-lib64le = "microblaze64le" + +AVAILTUNES += "microblaze64le" +BASE_LIB_tune-microblaze64le = "lib/m64/le" +TUNE_FEATURES_tune-microblaze64le = "microblaze 64-bit" +PACKAGE_EXTRA_ARCHS_tune-microblaze64le = "${TUNE_PKGARCH}" + + +# m64/le/m +# CFLAGS: -m64 -mlittle-endian -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-lib64lem = "microblaze64lem" + +AVAILTUNES += "microblaze64lem" +BASE_LIB_tune-microblaze64lem = "lib/m64/le/m" +TUNE_FEATURES_tune-microblaze64lem = "microblaze 64-bit multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblaze64lem = "${TUNE_PKGARCH}" + + +# m64/le/m/mh +# CFLAGS: -m64 -mlittle-endian -mno-xl-soft-mul -mxl-multiply-high +DEFAULTTUNE_virtclass-multilib-lib64lemmh = "microblaze64lemmh" + +AVAILTUNES += "microblaze64lemmh" +BASE_LIB_tune-microblaze64lemmh = "lib/m64/le/m/mh" +TUNE_FEATURES_tune-microblaze64lemmh = "microblaze 64-bit multiply-high" +PACKAGE_EXTRA_ARCHS_tune-microblaze64lemmh = "${TUNE_PKGARCH}" + + +# m64/bs/le +# CFLAGS: -m64 -mxl-barrel-shift -mlittle-endian +DEFAULTTUNE_virtclass-multilib-lib64bsle = "microblaze64bsle" + +AVAILTUNES += "microblaze64bsle" +BASE_LIB_tune-microblaze64bsle = "lib/m64/bs/le" +TUNE_FEATURES_tune-microblaze64bsle = "microblaze 64-bit barrel-shift" +PACKAGE_EXTRA_ARCHS_tune-microblaze64bsle = "${TUNE_PKGARCH}" + + +# m64/bs/le/m +# CFLAGS: -m64 -mxl-barrel-shift -mlittle-endian -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-lib64bslem = "microblaze64bslem" + +AVAILTUNES += "microblaze64bslem" +BASE_LIB_tune-microblaze64bslem = "lib/m64/bs/le/m" +TUNE_FEATURES_tune-microblaze64bslem = "microblaze 64-bit barrel-shift multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblaze64bslem = "${TUNE_PKGARCH}" + + +# m64/bs/le/m/mh +# CFLAGS: -m64 -mxl-barrel-shift -mlittle-endian -mno-xl-soft-mul -mxl-multiply-high +DEFAULTTUNE_virtclass-multilib-lib64bslemmh = "microblaze64bslemmh" + +AVAILTUNES += "microblaze64bslemmh" +BASE_LIB_tune-microblaze64bslemmh = "lib/m64/bs/le/m/mh" +TUNE_FEATURES_tune-microblaze64bslemmh = "microblaze 64-bit barrel-shift multiply-high" +PACKAGE_EXTRA_ARCHS_tune-microblaze64bslemmh = "${TUNE_PKGARCH}" + -- cgit v1.2.3-54-g00ecf