summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-bsp/classes
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@xilinx.com>2020-01-30 12:17:59 -0800
committerMark Hatle <mark.hatle@xilinx.com>2020-01-31 16:05:01 -0800
commit669b0410a23d61417d52ba50bf24a751436c0a21 (patch)
treef67ad917529325e0888e764ceda08d8c40482c17 /meta-xilinx-bsp/classes
parent3a6f68ef34561ae3003cfbfd82d8b175e33e830a (diff)
downloadmeta-xilinx-669b0410a23d61417d52ba50bf24a751436c0a21.tar.gz
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=<value> 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 <mark.hatle@xilinx.com> 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:
Diffstat (limited to 'meta-xilinx-bsp/classes')
-rw-r--r--meta-xilinx-bsp/classes/xlnx-standalone.bbclass16
1 files changed, 16 insertions, 0 deletions
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 @@
1# Only enabled when ilp32 is enabled.
2def xlnx_ilp32_dict(machdata, d):
3 machdata["elf"] = {
4 "aarch64" : (183, 0, 0, True, 32),
5 "aarch64_be" :(183, 0, 0, False, 32),
6 }
7 return machdata
8
9# Only enabled when microblaze64 is enabled.
10def xlnx_mb64_dict(machdata, d):
11 machdata["elf"] = {
12 "microblaze": (189, 0, 0, False, 64),
13 "microblazeeb":(189, 0, 0, False, 64),
14 "microblazeel":(189, 0, 0, True, 64),
15 }
16 return machdata