From 40d304b9534ce9912f9027c14bf97842daccb4ad Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Sat, 23 Jan 2021 16:35:15 -0600 Subject: Reorganize the various layer components Machines: Move baremetal machines to meta-xilinx-standalone Layers: - Add new meta-xilinx-standalone-experimental This layer may require components that may not yet be available to the general public. It will contain various experiemntal integration work. - meta-xilinx-standalone This layer should be functional and contain the necessary items to build a baremetal toolchain that can use libxil (replacement to libgloss) from the Xilinx embeddedsw components. (Note, libxil is NOT built as part of this work!) The layer also contains the buildable components for the various firmware components required to startup various Xilinx FPGAs. Signed-off-by: Mark Hatle --- .../conf/distro/xilinx-freertos.conf | 9 - .../conf/machine/aarch32-tc.conf | 220 +++++++++ .../conf/machine/aarch64-tc.conf | 29 ++ meta-xilinx-standalone/conf/machine/arm-rm-tc.conf | 264 ++++++++++ .../conf/machine/cortexa53-zynqmp.conf | 3 + .../conf/machine/cortexa72-versal.conf | 3 + .../conf/machine/cortexa9-zynq.conf | 1 + .../conf/machine/cortexr5-versal.conf | 3 + .../conf/machine/cortexr5-zynqmp.conf | 3 + .../conf/machine/microblaze-plm.conf | 10 + .../conf/machine/microblaze-pmu.conf | 10 + .../conf/machine/microblaze-tc.conf | 541 +++++++++++++++++++++ meta-xilinx-standalone/conf/machine/versal-mb.conf | 10 + 13 files changed, 1097 insertions(+), 9 deletions(-) delete mode 100644 meta-xilinx-standalone/conf/distro/xilinx-freertos.conf create mode 100644 meta-xilinx-standalone/conf/machine/aarch32-tc.conf create mode 100644 meta-xilinx-standalone/conf/machine/aarch64-tc.conf create mode 100644 meta-xilinx-standalone/conf/machine/arm-rm-tc.conf create mode 100644 meta-xilinx-standalone/conf/machine/cortexa53-zynqmp.conf create mode 100644 meta-xilinx-standalone/conf/machine/cortexa72-versal.conf create mode 100644 meta-xilinx-standalone/conf/machine/cortexa9-zynq.conf create mode 100644 meta-xilinx-standalone/conf/machine/cortexr5-versal.conf create mode 100644 meta-xilinx-standalone/conf/machine/cortexr5-zynqmp.conf create mode 100644 meta-xilinx-standalone/conf/machine/microblaze-plm.conf create mode 100644 meta-xilinx-standalone/conf/machine/microblaze-pmu.conf create mode 100644 meta-xilinx-standalone/conf/machine/microblaze-tc.conf create mode 100644 meta-xilinx-standalone/conf/machine/versal-mb.conf (limited to 'meta-xilinx-standalone/conf') diff --git a/meta-xilinx-standalone/conf/distro/xilinx-freertos.conf b/meta-xilinx-standalone/conf/distro/xilinx-freertos.conf deleted file mode 100644 index cba5fd90..00000000 --- a/meta-xilinx-standalone/conf/distro/xilinx-freertos.conf +++ /dev/null @@ -1,9 +0,0 @@ -require conf/distro/xilinx-standalone.inc - -DISTRO_NAME_append = " (freertos)" - -XLNX_CMAKE_SYSTEM_NAME = "FreeRTOS" - -# We need to pass FREERTOS_BSP compliler flag it is consumed -# esw components. -ESW_CFLAGS += " -DFREERTOS_BSP" diff --git a/meta-xilinx-standalone/conf/machine/aarch32-tc.conf b/meta-xilinx-standalone/conf/machine/aarch32-tc.conf new file mode 100644 index 00000000..72fbc80f --- /dev/null +++ b/meta-xilinx-standalone/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-standalone/conf/machine/aarch64-tc.conf b/meta-xilinx-standalone/conf/machine/aarch64-tc.conf new file mode 100644 index 00000000..08c2d1c6 --- /dev/null +++ b/meta-xilinx-standalone/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-standalone/conf/machine/arm-rm-tc.conf b/meta-xilinx-standalone/conf/machine/arm-rm-tc.conf new file mode 100644 index 00000000..c1313339 --- /dev/null +++ b/meta-xilinx-standalone/conf/machine/arm-rm-tc.conf @@ -0,0 +1,264 @@ +require conf/multilib.conf +require conf/machine/include/tune-cortexrm.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 armrm" +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 armrm" +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 armrm" +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 armrm" +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 armrm" +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 armrm" +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 armrm" +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 armrm" +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 armrm" +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 armrm" +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 armrm" +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 armrm" +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 armrm" +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 armrm" +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 armrm" +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 armrm" +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 armrm" +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 armrm" +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 armrm" +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 armrm" +TUNE_CCARGS_tune-armv8mmaindphard = "-mthumb -march=armv8-m.main+fp.dp -mfloat-abi=hard" +TUNE_PKGARCH_tune-armv8mmaindphard = "armv8mmainfpdpthf" diff --git a/meta-xilinx-standalone/conf/machine/cortexa53-zynqmp.conf b/meta-xilinx-standalone/conf/machine/cortexa53-zynqmp.conf new file mode 100644 index 00000000..d2bbab0d --- /dev/null +++ b/meta-xilinx-standalone/conf/machine/cortexa53-zynqmp.conf @@ -0,0 +1,3 @@ +DEFAULTTUNE ?= "cortexa53" + +require conf/machine/include/soc-zynqmp.inc diff --git a/meta-xilinx-standalone/conf/machine/cortexa72-versal.conf b/meta-xilinx-standalone/conf/machine/cortexa72-versal.conf new file mode 100644 index 00000000..27e109c0 --- /dev/null +++ b/meta-xilinx-standalone/conf/machine/cortexa72-versal.conf @@ -0,0 +1,3 @@ +DEFAULTTUNE ?= "cortexa72" + +require conf/machine/include/soc-versal.inc diff --git a/meta-xilinx-standalone/conf/machine/cortexa9-zynq.conf b/meta-xilinx-standalone/conf/machine/cortexa9-zynq.conf new file mode 100644 index 00000000..02568109 --- /dev/null +++ b/meta-xilinx-standalone/conf/machine/cortexa9-zynq.conf @@ -0,0 +1 @@ +require conf/machine/include/soc-zynq.inc diff --git a/meta-xilinx-standalone/conf/machine/cortexr5-versal.conf b/meta-xilinx-standalone/conf/machine/cortexr5-versal.conf new file mode 100644 index 00000000..fa58dc00 --- /dev/null +++ b/meta-xilinx-standalone/conf/machine/cortexr5-versal.conf @@ -0,0 +1,3 @@ +DEFAULTTUNE ?= "cortexr5f" + +require conf/machine/include/soc-versal.inc diff --git a/meta-xilinx-standalone/conf/machine/cortexr5-zynqmp.conf b/meta-xilinx-standalone/conf/machine/cortexr5-zynqmp.conf new file mode 100644 index 00000000..817150f8 --- /dev/null +++ b/meta-xilinx-standalone/conf/machine/cortexr5-zynqmp.conf @@ -0,0 +1,3 @@ +DEFAULTTUNE ?= "cortexr5f" + +require conf/machine/include/soc-zynqmp.inc diff --git a/meta-xilinx-standalone/conf/machine/microblaze-plm.conf b/meta-xilinx-standalone/conf/machine/microblaze-plm.conf new file mode 100644 index 00000000..9ab8a46b --- /dev/null +++ b/meta-xilinx-standalone/conf/machine/microblaze-plm.conf @@ -0,0 +1,10 @@ +DEFAULTTUNE ?= "microblaze" + +require conf/machine/include/soc-versal.inc + +# Endianess, multiplier, barrel shift, pattern compare, floating point double or single, are the possibilities +AVAILTUNES += "microblaze" +TUNE_FEATURES_tune-microblaze = "microblaze v11.0 barrel-shift pattern-compare" +PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}" + +LINKER_HASH_STYLE_microblaze = "sysv" diff --git a/meta-xilinx-standalone/conf/machine/microblaze-pmu.conf b/meta-xilinx-standalone/conf/machine/microblaze-pmu.conf new file mode 100644 index 00000000..09fd3c80 --- /dev/null +++ b/meta-xilinx-standalone/conf/machine/microblaze-pmu.conf @@ -0,0 +1,10 @@ +DEFAULTTUNE ?= "microblaze" + +require conf/machine/include/soc-zynqmp.inc + +# Endianess, multiplier, barrel shift, pattern compare, floating point double or single, are the possibilities +AVAILTUNES += "microblaze" +TUNE_FEATURES_tune-microblaze = "microblaze v11.0 barrel-shift pattern-compare" +PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}" + +LINKER_HASH_STYLE_microblaze = "sysv" diff --git a/meta-xilinx-standalone/conf/machine/microblaze-tc.conf b/meta-xilinx-standalone/conf/machine/microblaze-tc.conf new file mode 100644 index 00000000..bc80ad75 --- /dev/null +++ b/meta-xilinx-standalone/conf/machine/microblaze-tc.conf @@ -0,0 +1,541 @@ +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 +LINKER_HASH_STYLE_microblaze = "" + +# Define all of the multilibs supproted by this configuration +MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}" + +MULTILIBS += "multilib:libmble" +MULTILIBS += "multilib:libmbbs" +MULTILIBS += "multilib:libmbp" +MULTILIBS += "multilib:libmbm" +MULTILIBS += "multilib:libmbfpd" +MULTILIBS += "multilib:libmbmfpd" +MULTILIBS += "multilib:libmbpm" +MULTILIBS += "multilib:libmbpfpd" +MULTILIBS += "multilib:libmbpmfpd" +MULTILIBS += "multilib:libmbbsp" +MULTILIBS += "multilib:libmbbsm" +MULTILIBS += "multilib:libmbbsfpd" +MULTILIBS += "multilib:libmbbsmfpd" +MULTILIBS += "multilib:libmbbspm" +MULTILIBS += "multilib:libmbbspfpd" +MULTILIBS += "multilib:libmbbspmfpd" +MULTILIBS += "multilib:libmblem64" +MULTILIBS += "multilib:libmblebs" +MULTILIBS += "multilib:libmblep" +MULTILIBS += "multilib:libmblem" +MULTILIBS += "multilib:libmblefpd" +MULTILIBS += "multilib:libmblemfpd" +MULTILIBS += "multilib:libmblepm" +MULTILIBS += "multilib:libmblepfpd" +MULTILIBS += "multilib:libmblepmfpd" +MULTILIBS += "multilib:libmblebsp" +MULTILIBS += "multilib:libmblebsm" +MULTILIBS += "multilib:libmblebsfpd" +MULTILIBS += "multilib:libmblebsmfpd" +MULTILIBS += "multilib:libmblebspm" +MULTILIBS += "multilib:libmblebspfpd" +MULTILIBS += "multilib:libmblebspmfpd" +MULTILIBS += "multilib:libmblem64bs" +MULTILIBS += "multilib:libmblem64p" +MULTILIBS += "multilib:libmblem64m" +MULTILIBS += "multilib:libmblem64fpd" +MULTILIBS += "multilib:libmblem64mfpd" +MULTILIBS += "multilib:libmblem64pm" +MULTILIBS += "multilib:libmblem64pfpd" +MULTILIBS += "multilib:libmblem64pmfpd" +MULTILIBS += "multilib:libmblem64bsp" +MULTILIBS += "multilib:libmblem64bsm" +MULTILIBS += "multilib:libmblem64bsfpd" +MULTILIBS += "multilib:libmblem64bsmfpd" +MULTILIBS += "multilib:libmblem64bspm" +MULTILIBS += "multilib:libmblem64bspfpd" +MULTILIBS += "multilib:libmblem64bspmfpd" + + +# 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}" + + +# le +# CFLAGS: -mlittle-endian +DEFAULTTUNE_virtclass-multilib-libmble = "microblazele" + +AVAILTUNES += "microblazele" +BASE_LIB_tune-microblazele = "lib/le" +TUNE_FEATURES_tune-microblazele = "microblaze" +PACKAGE_EXTRA_ARCHS_tune-microblazele = "${TUNE_PKGARCH}" + + +# bs +# CFLAGS: -mxl-barrel-shift +DEFAULTTUNE_virtclass-multilib-libmbbs = "microblazebs" + +AVAILTUNES += "microblazebs" +BASE_LIB_tune-microblazebs = "lib/bs" +TUNE_FEATURES_tune-microblazebs = "microblaze bigendian barrel-shift" +PACKAGE_EXTRA_ARCHS_tune-microblazebs = "${TUNE_PKGARCH}" + + +# p +# CFLAGS: -mxl-pattern-compare +DEFAULTTUNE_virtclass-multilib-libmbp = "microblazep" + +AVAILTUNES += "microblazep" +BASE_LIB_tune-microblazep = "lib/p" +TUNE_FEATURES_tune-microblazep = "microblaze bigendian pattern-compare" +PACKAGE_EXTRA_ARCHS_tune-microblazep = "${TUNE_PKGARCH}" + + +# m +# CFLAGS: -mno-xl-soft-mul +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}" + + +# fpd +# CFLAGS: -mhard-float +DEFAULTTUNE_virtclass-multilib-libmbfpd = "microblazefpd" + +AVAILTUNES += "microblazefpd" +BASE_LIB_tune-microblazefpd = "lib/fpd" +TUNE_FEATURES_tune-microblazefpd = "microblaze bigendian fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazefpd = "${TUNE_PKGARCH}" + + +# m/fpd +# CFLAGS: -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmbmfpd = "microblazemfpd" + +AVAILTUNES += "microblazemfpd" +BASE_LIB_tune-microblazemfpd = "lib/m/fpd" +TUNE_FEATURES_tune-microblazemfpd = "microblaze bigendian multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazemfpd = "${TUNE_PKGARCH}" + + +# p/m +# CFLAGS: -mxl-pattern-compare -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmbpm = "microblazepm" + +AVAILTUNES += "microblazepm" +BASE_LIB_tune-microblazepm = "lib/p/m" +TUNE_FEATURES_tune-microblazepm = "microblaze bigendian pattern-compare multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazepm = "${TUNE_PKGARCH}" + + +# p/fpd +# CFLAGS: -mxl-pattern-compare -mhard-float +DEFAULTTUNE_virtclass-multilib-libmbpfpd = "microblazepfpd" + +AVAILTUNES += "microblazepfpd" +BASE_LIB_tune-microblazepfpd = "lib/p/fpd" +TUNE_FEATURES_tune-microblazepfpd = "microblaze bigendian pattern-compare fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazepfpd = "${TUNE_PKGARCH}" + + +# p/m/fpd +# CFLAGS: -mxl-pattern-compare -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmbpmfpd = "microblazepmfpd" + +AVAILTUNES += "microblazepmfpd" +BASE_LIB_tune-microblazepmfpd = "lib/p/m/fpd" +TUNE_FEATURES_tune-microblazepmfpd = "microblaze bigendian pattern-compare multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazepmfpd = "${TUNE_PKGARCH}" + + +# bs/p +# CFLAGS: -mxl-barrel-shift -mxl-pattern-compare +DEFAULTTUNE_virtclass-multilib-libmbbsp = "microblazebsp" + +AVAILTUNES += "microblazebsp" +BASE_LIB_tune-microblazebsp = "lib/bs/p" +TUNE_FEATURES_tune-microblazebsp = "microblaze bigendian barrel-shift pattern-compare" +PACKAGE_EXTRA_ARCHS_tune-microblazebsp = "${TUNE_PKGARCH}" + + +# bs/m +# CFLAGS: -mxl-barrel-shift -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmbbsm = "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/fpd +# CFLAGS: -mxl-barrel-shift -mhard-float +DEFAULTTUNE_virtclass-multilib-libmbbsfpd = "microblazebsfpd" + +AVAILTUNES += "microblazebsfpd" +BASE_LIB_tune-microblazebsfpd = "lib/bs/fpd" +TUNE_FEATURES_tune-microblazebsfpd = "microblaze bigendian barrel-shift fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazebsfpd = "${TUNE_PKGARCH}" + + +# bs/m/fpd +# CFLAGS: -mxl-barrel-shift -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmbbsmfpd = "microblazebsmfpd" + +AVAILTUNES += "microblazebsmfpd" +BASE_LIB_tune-microblazebsmfpd = "lib/bs/m/fpd" +TUNE_FEATURES_tune-microblazebsmfpd = "microblaze bigendian barrel-shift multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazebsmfpd = "${TUNE_PKGARCH}" + + +# bs/p/m +# CFLAGS: -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmbbspm = "microblazebspm" + +AVAILTUNES += "microblazebspm" +BASE_LIB_tune-microblazebspm = "lib/bs/p/m" +TUNE_FEATURES_tune-microblazebspm = "microblaze bigendian barrel-shift pattern-compare multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazebspm = "${TUNE_PKGARCH}" + + +# bs/p/fpd +# CFLAGS: -mxl-barrel-shift -mxl-pattern-compare -mhard-float +DEFAULTTUNE_virtclass-multilib-libmbbspfpd = "microblazebspfpd" + +AVAILTUNES += "microblazebspfpd" +BASE_LIB_tune-microblazebspfpd = "lib/bs/p/fpd" +TUNE_FEATURES_tune-microblazebspfpd = "microblaze bigendian barrel-shift pattern-compare fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazebspfpd = "${TUNE_PKGARCH}" + + +# bs/p/m/fpd +# CFLAGS: -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmbbspmfpd = "microblazebspmfpd" + +AVAILTUNES += "microblazebspmfpd" +BASE_LIB_tune-microblazebspmfpd = "lib/bs/p/m/fpd" +TUNE_FEATURES_tune-microblazebspmfpd = "microblaze bigendian barrel-shift pattern-compare multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazebspmfpd = "${TUNE_PKGARCH}" + + +# le/m64 +# CFLAGS: -mlittle-endian -m64 +DEFAULTTUNE_virtclass-multilib-libmblem64 = "microblazele64" + +AVAILTUNES += "microblazele64" +BASE_LIB_tune-microblazele64 = "lib/le/m64" +TUNE_FEATURES_tune-microblazele64 = "microblaze 64-bit" +PACKAGE_EXTRA_ARCHS_tune-microblazele64 = "${TUNE_PKGARCH}" + + +# le/bs +# CFLAGS: -mlittle-endian -mxl-barrel-shift +DEFAULTTUNE_virtclass-multilib-libmblebs = "microblazelebs" + +AVAILTUNES += "microblazelebs" +BASE_LIB_tune-microblazelebs = "lib/le/bs" +TUNE_FEATURES_tune-microblazelebs = "microblaze barrel-shift" +PACKAGE_EXTRA_ARCHS_tune-microblazelebs = "${TUNE_PKGARCH}" + + +# le/p +# CFLAGS: -mlittle-endian -mxl-pattern-compare +DEFAULTTUNE_virtclass-multilib-libmblep = "microblazelep" + +AVAILTUNES += "microblazelep" +BASE_LIB_tune-microblazelep = "lib/le/p" +TUNE_FEATURES_tune-microblazelep = "microblaze pattern-compare" +PACKAGE_EXTRA_ARCHS_tune-microblazelep = "${TUNE_PKGARCH}" + + +# le/m +# CFLAGS: -mlittle-endian -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmblem = "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/fpd +# CFLAGS: -mlittle-endian -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblefpd = "microblazelefpd" + +AVAILTUNES += "microblazelefpd" +BASE_LIB_tune-microblazelefpd = "lib/le/fpd" +TUNE_FEATURES_tune-microblazelefpd = "microblaze fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazelefpd = "${TUNE_PKGARCH}" + + +# le/m/fpd +# CFLAGS: -mlittle-endian -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblemfpd = "microblazelemfpd" + +AVAILTUNES += "microblazelemfpd" +BASE_LIB_tune-microblazelemfpd = "lib/le/m/fpd" +TUNE_FEATURES_tune-microblazelemfpd = "microblaze multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazelemfpd = "${TUNE_PKGARCH}" + + +# le/p/m +# CFLAGS: -mlittle-endian -mxl-pattern-compare -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmblepm = "microblazelepm" + +AVAILTUNES += "microblazelepm" +BASE_LIB_tune-microblazelepm = "lib/le/p/m" +TUNE_FEATURES_tune-microblazelepm = "microblaze pattern-compare multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazelepm = "${TUNE_PKGARCH}" + + +# le/p/fpd +# CFLAGS: -mlittle-endian -mxl-pattern-compare -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblepfpd = "microblazelepfpd" + +AVAILTUNES += "microblazelepfpd" +BASE_LIB_tune-microblazelepfpd = "lib/le/p/fpd" +TUNE_FEATURES_tune-microblazelepfpd = "microblaze pattern-compare fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazelepfpd = "${TUNE_PKGARCH}" + + +# le/p/m/fpd +# CFLAGS: -mlittle-endian -mxl-pattern-compare -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblepmfpd = "microblazelepmfpd" + +AVAILTUNES += "microblazelepmfpd" +BASE_LIB_tune-microblazelepmfpd = "lib/le/p/m/fpd" +TUNE_FEATURES_tune-microblazelepmfpd = "microblaze pattern-compare multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazelepmfpd = "${TUNE_PKGARCH}" + + +# le/bs/p +# CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare +DEFAULTTUNE_virtclass-multilib-libmblebsp = "microblazelebsp" + +AVAILTUNES += "microblazelebsp" +BASE_LIB_tune-microblazelebsp = "lib/le/bs/p" +TUNE_FEATURES_tune-microblazelebsp = "microblaze barrel-shift pattern-compare" +PACKAGE_EXTRA_ARCHS_tune-microblazelebsp = "${TUNE_PKGARCH}" + + +# le/bs/m +# CFLAGS: -mlittle-endian -mxl-barrel-shift -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmblebsm = "microblazelebsm" + +AVAILTUNES += "microblazelebsm" +BASE_LIB_tune-microblazelebsm = "lib/le/bs/m" +TUNE_FEATURES_tune-microblazelebsm = "microblaze barrel-shift multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazelebsm = "${TUNE_PKGARCH}" + + +# le/bs/fpd +# CFLAGS: -mlittle-endian -mxl-barrel-shift -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblebsfpd = "microblazelebsfpd" + +AVAILTUNES += "microblazelebsfpd" +BASE_LIB_tune-microblazelebsfpd = "lib/le/bs/fpd" +TUNE_FEATURES_tune-microblazelebsfpd = "microblaze barrel-shift fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazelebsfpd = "${TUNE_PKGARCH}" + + +# le/bs/m/fpd +# CFLAGS: -mlittle-endian -mxl-barrel-shift -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblebsmfpd = "microblazelebsmfpd" + +AVAILTUNES += "microblazelebsmfpd" +BASE_LIB_tune-microblazelebsmfpd = "lib/le/bs/m/fpd" +TUNE_FEATURES_tune-microblazelebsmfpd = "microblaze barrel-shift multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazelebsmfpd = "${TUNE_PKGARCH}" + + +# le/bs/p/m +# CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmblebspm = "microblazelebspm" + +AVAILTUNES += "microblazelebspm" +BASE_LIB_tune-microblazelebspm = "lib/le/bs/p/m" +TUNE_FEATURES_tune-microblazelebspm = "microblaze barrel-shift pattern-compare multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazelebspm = "${TUNE_PKGARCH}" + + +# le/bs/p/fpd +# CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblebspfpd = "microblazelebspfpd" + +AVAILTUNES += "microblazelebspfpd" +BASE_LIB_tune-microblazelebspfpd = "lib/le/bs/p/fpd" +TUNE_FEATURES_tune-microblazelebspfpd = "microblaze barrel-shift pattern-compare fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazelebspfpd = "${TUNE_PKGARCH}" + + +# le/bs/p/m/fpd +# CFLAGS: -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblebspmfpd = "microblazelebspmfpd" + +AVAILTUNES += "microblazelebspmfpd" +BASE_LIB_tune-microblazelebspmfpd = "lib/le/bs/p/m/fpd" +TUNE_FEATURES_tune-microblazelebspmfpd = "microblaze barrel-shift pattern-compare multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazelebspmfpd = "${TUNE_PKGARCH}" + + +# le/m64/bs +# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift +DEFAULTTUNE_virtclass-multilib-libmblem64bs = "microblazele64bs" + +AVAILTUNES += "microblazele64bs" +BASE_LIB_tune-microblazele64bs = "lib/le/m64/bs" +TUNE_FEATURES_tune-microblazele64bs = "microblaze 64-bit barrel-shift" +PACKAGE_EXTRA_ARCHS_tune-microblazele64bs = "${TUNE_PKGARCH}" + + +# le/m64/p +# CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare +DEFAULTTUNE_virtclass-multilib-libmblem64p = "microblazele64p" + +AVAILTUNES += "microblazele64p" +BASE_LIB_tune-microblazele64p = "lib/le/m64/p" +TUNE_FEATURES_tune-microblazele64p = "microblaze 64-bit pattern-compare" +PACKAGE_EXTRA_ARCHS_tune-microblazele64p = "${TUNE_PKGARCH}" + + +# le/m64/m +# CFLAGS: -mlittle-endian -m64 -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmblem64m = "microblazele64m" + +AVAILTUNES += "microblazele64m" +BASE_LIB_tune-microblazele64m = "lib/le/m64/m" +TUNE_FEATURES_tune-microblazele64m = "microblaze 64-bit multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazele64m = "${TUNE_PKGARCH}" + + +# le/m64/fpd +# CFLAGS: -mlittle-endian -m64 -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblem64fpd = "microblazele64fpd" + +AVAILTUNES += "microblazele64fpd" +BASE_LIB_tune-microblazele64fpd = "lib/le/m64/fpd" +TUNE_FEATURES_tune-microblazele64fpd = "microblaze 64-bit fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazele64fpd = "${TUNE_PKGARCH}" + + +# le/m64/m/fpd +# CFLAGS: -mlittle-endian -m64 -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblem64mfpd = "microblazele64mfpd" + +AVAILTUNES += "microblazele64mfpd" +BASE_LIB_tune-microblazele64mfpd = "lib/le/m64/m/fpd" +TUNE_FEATURES_tune-microblazele64mfpd = "microblaze 64-bit multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazele64mfpd = "${TUNE_PKGARCH}" + + +# le/m64/p/m +# CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmblem64pm = "microblazele64pm" + +AVAILTUNES += "microblazele64pm" +BASE_LIB_tune-microblazele64pm = "lib/le/m64/p/m" +TUNE_FEATURES_tune-microblazele64pm = "microblaze 64-bit pattern-compare multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazele64pm = "${TUNE_PKGARCH}" + + +# le/m64/p/fpd +# CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblem64pfpd = "microblazele64pfpd" + +AVAILTUNES += "microblazele64pfpd" +BASE_LIB_tune-microblazele64pfpd = "lib/le/m64/p/fpd" +TUNE_FEATURES_tune-microblazele64pfpd = "microblaze 64-bit pattern-compare fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazele64pfpd = "${TUNE_PKGARCH}" + + +# le/m64/p/m/fpd +# CFLAGS: -mlittle-endian -m64 -mxl-pattern-compare -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblem64pmfpd = "microblazele64pmfpd" + +AVAILTUNES += "microblazele64pmfpd" +BASE_LIB_tune-microblazele64pmfpd = "lib/le/m64/p/m/fpd" +TUNE_FEATURES_tune-microblazele64pmfpd = "microblaze 64-bit pattern-compare multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazele64pmfpd = "${TUNE_PKGARCH}" + + +# le/m64/bs/p +# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare +DEFAULTTUNE_virtclass-multilib-libmblem64bsp = "microblazele64bsp" + +AVAILTUNES += "microblazele64bsp" +BASE_LIB_tune-microblazele64bsp = "lib/le/m64/bs/p" +TUNE_FEATURES_tune-microblazele64bsp = "microblaze 64-bit barrel-shift pattern-compare" +PACKAGE_EXTRA_ARCHS_tune-microblazele64bsp = "${TUNE_PKGARCH}" + + +# le/m64/bs/m +# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmblem64bsm = "microblazele64bsm" + +AVAILTUNES += "microblazele64bsm" +BASE_LIB_tune-microblazele64bsm = "lib/le/m64/bs/m" +TUNE_FEATURES_tune-microblazele64bsm = "microblaze 64-bit barrel-shift multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazele64bsm = "${TUNE_PKGARCH}" + + +# le/m64/bs/fpd +# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblem64bsfpd = "microblazele64bsfpd" + +AVAILTUNES += "microblazele64bsfpd" +BASE_LIB_tune-microblazele64bsfpd = "lib/le/m64/bs/fpd" +TUNE_FEATURES_tune-microblazele64bsfpd = "microblaze 64-bit barrel-shift fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazele64bsfpd = "${TUNE_PKGARCH}" + + +# le/m64/bs/m/fpd +# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblem64bsmfpd = "microblazele64bsmfpd" + +AVAILTUNES += "microblazele64bsmfpd" +BASE_LIB_tune-microblazele64bsmfpd = "lib/le/m64/bs/m/fpd" +TUNE_FEATURES_tune-microblazele64bsmfpd = "microblaze 64-bit barrel-shift multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazele64bsmfpd = "${TUNE_PKGARCH}" + + +# le/m64/bs/p/m +# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul +DEFAULTTUNE_virtclass-multilib-libmblem64bspm = "microblazele64bspm" + +AVAILTUNES += "microblazele64bspm" +BASE_LIB_tune-microblazele64bspm = "lib/le/m64/bs/p/m" +TUNE_FEATURES_tune-microblazele64bspm = "microblaze 64-bit barrel-shift pattern-compare multiply-low" +PACKAGE_EXTRA_ARCHS_tune-microblazele64bspm = "${TUNE_PKGARCH}" + + +# le/m64/bs/p/fpd +# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblem64bspfpd = "microblazele64bspfpd" + +AVAILTUNES += "microblazele64bspfpd" +BASE_LIB_tune-microblazele64bspfpd = "lib/le/m64/bs/p/fpd" +TUNE_FEATURES_tune-microblazele64bspfpd = "microblaze 64-bit barrel-shift pattern-compare fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazele64bspfpd = "${TUNE_PKGARCH}" + + +# le/m64/bs/p/m/fpd +# CFLAGS: -mlittle-endian -m64 -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-mul -mhard-float +DEFAULTTUNE_virtclass-multilib-libmblem64bspmfpd = "microblazele64bspmfpd" + +AVAILTUNES += "microblazele64bspmfpd" +BASE_LIB_tune-microblazele64bspmfpd = "lib/le/m64/bs/p/m/fpd" +TUNE_FEATURES_tune-microblazele64bspmfpd = "microblaze 64-bit barrel-shift pattern-compare multiply-low fpu-hard" +PACKAGE_EXTRA_ARCHS_tune-microblazele64bspmfpd = "${TUNE_PKGARCH}" diff --git a/meta-xilinx-standalone/conf/machine/versal-mb.conf b/meta-xilinx-standalone/conf/machine/versal-mb.conf new file mode 100644 index 00000000..f40b8bca --- /dev/null +++ b/meta-xilinx-standalone/conf/machine/versal-mb.conf @@ -0,0 +1,10 @@ +DEFAULTTUNE ?= "microblaze" + +require conf/machine/include/soc-versal.inc + +# Endianess, multiplier, barrel shift, pattern compare, floating point double or single, are the possibilities +AVAILTUNES += "microblaze" +TUNE_FEATURES_tune-microblaze = "microblaze v11.0 barrel-shift pattern-compare" +PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}" + +LINKER_HASH_STYLE_microblaze = "" -- cgit v1.2.3-54-g00ecf