summaryrefslogtreecommitdiffstats
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
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:
-rw-r--r--meta-xilinx-bsp/classes/xlnx-standalone.bbclass16
-rw-r--r--meta-xilinx-bsp/conf/machine/aarch32-tc.conf220
-rw-r--r--meta-xilinx-bsp/conf/machine/aarch64-tc.conf29
-rw-r--r--meta-xilinx-bsp/conf/machine/arm-rm-tc.conf264
-rw-r--r--meta-xilinx-bsp/conf/machine/include/baremetal-tc.conf7
-rw-r--r--meta-xilinx-bsp/conf/machine/microblaze-tc.conf214
6 files changed, 750 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
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 @@
1require conf/multilib.conf
2require conf/machine/include/tune-cortexa9.inc
3require conf/machine/include/baremetal-tc.conf
4
5# Define all of the multilibs supproted by this configuration
6MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
7
8MULTILIBS = "multilib:libarmv5tesoftfp multilib:libarmv5tehard"
9MULTILIBS += "multilib:libnofp"
10MULTILIBS += "multilib:libv7nofp multilib:libv7fpsoftfp multilib:libv7fphard"
11MULTILIBS += "multilib:libv7anofp"
12MULTILIBS += "multilib:libv7afpsoftfp"
13MULTILIBS += "multilib:libv7afpthf multilib:libv7asimdsoftfp"
14MULTILIBS += "multilib:libv7asimdhard multilib:libv7vesimdsoftfp"
15MULTILIBS += "multilib:libvtvesimdhf"
16MULTILIBS += "multilib:libv8anofp"
17MULTILIBS += "multilib:libv8asimdsoftfp multilib:libv8asimdhard"
18
19TUNE_CCARGS = "${TUNE_CCARGS_tune-${DEFAULTTUNE}}"
20TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
21
22# Base configuration
23# CFLAGS:
24DEFAULTTUNE = "aarch32"
25
26AVAILTUNES += "aarch32"
27PACKAGE_EXTRA_ARCHS_tune-aarch32 = "${TUNE_PKGARCH_tune-aarch32}"
28BASE_LIB_tune-aarch32 = "lib"
29TUNE_FEATURES_tune-aarch32 = "arm"
30TUNE_CCARGS_tune-aarch32 = ""
31TUNE_PKGARCH_tune-aarch32 = "aarch32"
32
33
34# arm/v5te/softfp
35# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=softfp
36DEFAULTTUNE_virtclass-multilib-libarmv5tesoftfp = "armv5tesoftfp"
37
38AVAILTUNES += "armv5tesoftfp"
39PACKAGE_EXTRA_ARCHS_tune-armv5tesoftfp = "${TUNE_PKGARCH_tune-armv5tesoftfp}"
40BASE_LIB_tune-armv5tesoftfp = "lib/arm/v5te/softfp"
41TUNE_FEATURES_tune-armv5tesoftfp = "arm"
42TUNE_CCARGS_tune-armv5tesoftfp = "-marm -march=armv5te+fp -mfloat-abi=softfp"
43TUNE_PKGARCH_tune-armv5tesoftfp = "armv5tefp"
44
45
46# arm/v5te/hard
47# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=hard
48DEFAULTTUNE_virtclass-multilib-libarmv5tehard = "armv5tehard"
49
50AVAILTUNES += "armv5tehard"
51PACKAGE_EXTRA_ARCHS_tune-armv5tehard = "${TUNE_PKGARCH_tune-armv5tehard}"
52BASE_LIB_tune-armv5tehard = "lib/arm/v5te/hard"
53TUNE_FEATURES_tune-armv5tehard = "arm"
54TUNE_CCARGS_tune-armv5tehard = "-marm -march=armv5te+fp -mfloat-abi=hard"
55TUNE_PKGARCH_tune-armv5tehard = "armv5tefphf"
56
57
58# thumb/nofp
59# CFLAGS: -mthumb -mfloat-abi=soft
60DEFAULTTUNE_virtclass-multilib-libnofp = "armnofp"
61
62AVAILTUNES += "armnofp"
63PACKAGE_EXTRA_ARCHS_tune-armnofp = "${TUNE_PKGARCH_tune-armnofp}"
64BASE_LIB_tune-armnofp = "lib/thumb/nofp"
65TUNE_FEATURES_tune-armnofp = "arm"
66TUNE_CCARGS_tune-armnofp = "-mthumb -mfloat-abi=soft"
67TUNE_PKGARCH_tune-armnofp = "armt"
68
69
70# thumb/v7/nofp
71# CFLAGS: -mthumb -march=armv7 -mfloat-abi=soft
72DEFAULTTUNE_virtclass-multilib-libv7nofp = "armv7nofp"
73
74AVAILTUNES += "armv7nofp"
75PACKAGE_EXTRA_ARCHS_tune-armv7nofp = "${TUNE_PKGARCH_tune-armv7nofp}"
76BASE_LIB_tune-armv7nofp = "lib/thumb/v7/nofp"
77TUNE_FEATURES_tune-armv7nofp = "arm"
78TUNE_CCARGS_tune-armv7nofp = "-mthumb -march=armv7 -mfloat-abi=soft"
79TUNE_PKGARCH_tune-armv7nofp = "armv7t"
80
81
82# thumb/v7+fp/softfp
83# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=softfp
84DEFAULTTUNE_virtclass-multilib-libv7fpsoftfp = "armv7fpsoftfp"
85
86AVAILTUNES += "armv7fpsoftfp"
87PACKAGE_EXTRA_ARCHS_tune-armv7fpsoftfp = "${TUNE_PKGARCH_tune-armv7fpsoftfp}"
88BASE_LIB_tune-armv7fpsoftfp = "lib/thumb/v7+fp/softfp"
89TUNE_FEATURES_tune-armv7fpsoftfp = "arm"
90TUNE_CCARGS_tune-armv7fpsoftfp = "-mthumb -march=armv7+fp -mfloat-abi=softfp"
91TUNE_PKGARCH_tune-armv7fpsoftfp = "armv7fpt"
92
93
94# thumb/v7+fp/hard
95# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=hard
96DEFAULTTUNE_virtclass-multilib-libv7fphard = "armv7fphard"
97
98AVAILTUNES += "armv7fphard"
99PACKAGE_EXTRA_ARCHS_tune-armv7fphard = "${TUNE_PKGARCH_tune-armv7fphard}"
100BASE_LIB_tune-armv7fphard = "lib/thumb/v7+fp/hard"
101TUNE_FEATURES_tune-armv7fphard = "arm"
102TUNE_CCARGS_tune-armv7fphard = "-mthumb -march=armv7+fp -mfloat-abi=hard"
103TUNE_PKGARCH_tune-armv7fphard = "armv7fpthf"
104
105
106# thumb/v7-a/nofp
107# CFLAGS: -mthumb -march=armv7-a -mfloat-abi=soft
108DEFAULTTUNE_virtclass-multilib-libv7anofp = "armv7anofp"
109
110AVAILTUNES += "armv7anofp"
111PACKAGE_EXTRA_ARCHS_tune-armv7anofp = "${TUNE_PKGARCH_tune-armv7anofp}"
112BASE_LIB_tune-armv7anofp = "lib/thumb/v7-a/nofp"
113TUNE_FEATURES_tune-armv7anofp = "arm"
114TUNE_CCARGS_tune-armv7anofp = "-mthumb -march=armv7-a -mfloat-abi=soft"
115TUNE_PKGARCH_tune-armv7anofp = "armv7at"
116
117
118# thumb/v7-a+fp/softfp
119# CFLAGS: -mthumb -march=armv7-a+fp -mfloat-abi=softfp
120DEFAULTTUNE_virtclass-multilib-libv7afpsoftfp = "armv7afpsoftfp"
121
122AVAILTUNES += "armv7afpsoftfp"
123PACKAGE_EXTRA_ARCHS_tune-armv7afpsoftfp = "${TUNE_PKGARCH_tune-armv7afpsoftfp}"
124BASE_LIB_tune-armv7afpsoftfp = "lib/thumb/v7-a+fp/softfp"
125TUNE_FEATURES_tune-armv7afpsoftfp = "arm"
126TUNE_CCARGS_tune-armv7afpsoftfp = "-mthumb -march=armv7-a+fp -mfloat-abi=softfp"
127TUNE_PKGARCH_tune-armv7afpsoftfp = "armv7afpt"
128
129
130# thumb/v7-a+fp/hard
131# CFLAGS: -mthumb -march=armv7-a+fp -mfloat-abi=hard
132DEFAULTTUNE_virtclass-multilib-libv7afpthf = "armv7afpthf"
133
134AVAILTUNES += "armv7afpthf"
135PACKAGE_EXTRA_ARCHS_tune-armv7afpthf = "${TUNE_PKGARCH_tune-armv7afpthf}"
136BASE_LIB_tune-armv7afpthf = "lib/thumb/v7-a+fp/hard"
137TUNE_FEATURES_tune-armv7afpthf = "arm"
138TUNE_CCARGS_tune-armv7afpthf = "-mthumb -march=armv7-a+fp -mfloat-abi=hard"
139TUNE_PKGARCH_tune-armv7afpthf = "armv7afpthf"
140
141# thumb/v7-a+simd/softfp
142# CFLAGS: -mthumb -march=armv7-a+simd -mfloat-abi=softfp
143DEFAULTTUNE_virtclass-multilib-libv7asimdsoftfp = "armv7asimdsoftfp"
144
145AVAILTUNES += "armv7asimdsoftfp"
146PACKAGE_EXTRA_ARCHS_tune-armv7asimdsoftfp = "${TUNE_PKGARCH_tune-armv7asimdsoftfp}"
147BASE_LIB_tune-armv7asimdsoftfp = "lib/thumb/v7-a+simd/softfp"
148TUNE_FEATURES_tune-armv7asimdsoftfp = "arm"
149TUNE_CCARGS_tune-armv7asimdsoftfp = "-mthumb -march=armv7-a+simd -mfloat-abi=softfp"
150TUNE_PKGARCH_tune-armv7asimdsoftfp = "armv7asimdt"
151
152
153# thumb/v7-a+simd/hard
154# CFLAGS: -mthumb -march=armv7-a+simd -mfloat-abi=hard
155DEFAULTTUNE_virtclass-multilib-libv7asimdhard = "armv7asimdhard"
156
157AVAILTUNES += "armv7asimdhard"
158PACKAGE_EXTRA_ARCHS_tune-armv7asimdhard = "${TUNE_PKGARCH_tune-armv7asimdhard}"
159BASE_LIB_tune-armv7asimdhard = "lib/thumb/v7-a+simd/hard"
160TUNE_FEATURES_tune-armv7asimdhard = "arm"
161TUNE_CCARGS_tune-armv7asimdhard = "-mthumb -march=armv7-a+simd -mfloat-abi=hard"
162TUNE_PKGARCH_tune-armv7asimdhard = "armv7asimdthf"
163
164
165# thumb/v7ve+simd/softfp
166# CFLAGS: -mthumb -march=armv7ve+simd -mfloat-abi=softfp
167DEFAULTTUNE_virtclass-multilib-libv7vesimdsoftfp = "armv7vesimdsoftfp"
168
169AVAILTUNES += "armv7vesimdsoftfp"
170PACKAGE_EXTRA_ARCHS_tune-armv7vesimdsoftfp = "${TUNE_PKGARCH_tune-armv7vesimdsoftfp}"
171BASE_LIB_tune-armv7vesimdsoftfp = "lib/thumb/v7ve+simd/softfp"
172TUNE_FEATURES_tune-armv7vesimdsoftfp = "arm"
173TUNE_CCARGS_tune-armv7vesimdsoftfp = "-mthumb -march=armv7ve+simd -mfloat-abi=softfp"
174TUNE_PKGARCH_tune-armv7vesimdsoftfp = "armv7vesimdt"
175
176# thumb/v7ve+simd/hard
177# CFLAGS: -mthumb -march=armv7ve+simd -mfloat-abi=hard
178DEFAULTTUNE_virtclass-multilib-libvtvesimdhf = "armvtvesimdhf"
179
180AVAILTUNES += "armvtvesimdhf"
181PACKAGE_EXTRA_ARCHS_tune-armvtvesimdhf = "${TUNE_PKGARCH_tune-armvtvesimdhf}"
182BASE_LIB_tune-armvtvesimdhf = "lib/thumb/v7ve+simd/hard"
183TUNE_FEATURES_tune-armvtvesimdhf = "arm"
184TUNE_CCARGS_tune-armvtvesimdhf = "-mthumb -march=armv7ve+simd -mfloat-abi=hard"
185TUNE_PKGARCH_tune-armvtvesimdhf = "armv7vesimdthf"
186
187
188# thumb/v8-a/nofp
189# CFLAGS: -mthumb -march=armv8-a -mfloat-abi=soft
190DEFAULTTUNE_virtclass-multilib-libv8anofp = "armv8anofp"
191
192AVAILTUNES += "armv8anofp"
193PACKAGE_EXTRA_ARCHS_tune-armv8anofp = "${TUNE_PKGARCH_tune-armv8anofp}"
194BASE_LIB_tune-armv8anofp = "lib/thumb/v8-a/nofp"
195TUNE_FEATURES_tune-armv8anofp = "arm"
196TUNE_CCARGS_tune-armv8anofp = "-mthumb -march=armv8-a -mfloat-abi=soft"
197TUNE_PKGARCH_tune-armv8anofp = "armv8at"
198
199# thumb/v8-a+simd/softfp
200# CFLAGS: -mthumb -march=armv8-a+simd -mfloat-abi=softfp
201DEFAULTTUNE_virtclass-multilib-libv8asimdsoftfp = "armv8asimdsoftfp"
202
203AVAILTUNES += "armv8asimdsoftfp"
204PACKAGE_EXTRA_ARCHS_tune-armv8asimdsoftfp = "${TUNE_PKGARCH_tune-armv8asimdsoftfp}"
205BASE_LIB_tune-armv8asimdsoftfp = "lib/thumb/v8-a+simd/softfp"
206TUNE_FEATURES_tune-armv8asimdsoftfp = "arm"
207TUNE_CCARGS_tune-armv8asimdsoftfp = "-mthumb -march=armv8-a+simd -mfloat-abi=softfp"
208TUNE_PKGARCH_tune-armv8asimdsoftfp = "armv8asimdt"
209
210
211# thumb/v8-a+simd/hard
212# CFLAGS: -mthumb -march=armv8-a+simd -mfloat-abi=hard
213DEFAULTTUNE_virtclass-multilib-libv8asimdhard = "armv8asimdhard"
214
215AVAILTUNES += "armv8asimdhard"
216PACKAGE_EXTRA_ARCHS_tune-armv8asimdhard = "${TUNE_PKGARCH_tune-armv8asimdhard}"
217BASE_LIB_tune-armv8asimdhard = "lib/thumb/v8-a+simd/hard"
218TUNE_FEATURES_tune-armv8asimdhard = "arm"
219TUNE_CCARGS_tune-armv8asimdhard = "-mthumb -march=armv8-a+simd -mfloat-abi=hard"
220TUNE_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 @@
1require conf/multilib.conf
2require conf/machine/include/tune-cortexa72-cortexa53.inc
3require conf/machine/include/baremetal-tc.conf
4
5# Define ilp32 variant (not in tune files)
6TUNEVALID[ilp32] = "ilp32 ABI"
7
8TUNE_CCARGS .= '${@bb.utils.contains("TUNE_FEATURES", "ilp32", " -mabi=ilp32", "", d)}'
9
10# ILP request an alternative machine dictionary
11INHERIT += "xlnx-standalone"
12PACKAGEQA_EXTRA_MACHDEFFUNCS .= '${@bb.utils.contains("TUNE_FEATURES", "ilp32", " xlnx_ilp32_dict", "", d)}'
13
14# Define all of the multilibs supported by this configuration
15MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
16MULTILIBS = "multilib:libilp32"
17
18# Base configuration
19# CFLAGS:
20DEFAULTTUNE = "cortexa72-cortexa53"
21
22# CFLAGS: -mabi=ilp32
23DEFAULTTUNE_virtclass-multilib-libilp32 = "cortexa72-cortexa53-ilp32"
24
25AVAILTUNES += "cortexa72-cortexa53-ilp32"
26ARMPKGARCH_tune-cortexa72-cortexa53-ilp32 = "${ARMPKGARCH_tune-cortexa72-cortexa53}_ilp32"
27TUNE_FEATURES_tune-cortexa72-cortexa53-ilp32 = "${TUNE_FEATURES_tune-cortexa72-cortexa53} ilp32"
28PACKAGE_EXTRA_ARCHS_tune-cortexa72-cortexa53-ilp32 = "${PACKAGE_EXTRA_ARCHS_tune-cortexa72-cortexa53} cortexa72-cortexa53-ilp32"
29BASE_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 @@
1require conf/multilib.conf
2require conf/machine/include/arm/arch-armv8a.inc
3require conf/machine/include/baremetal-tc.conf
4
5# Define all of the multilibs supproted by this configuration
6MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
7
8MULTILIBS = "multilib:libarmv5tesoftfp multilib:libarmv5tehard"
9MULTILIBS += "multilib:libnofp"
10MULTILIBS += "multilib:libv7nofp multilib:libv7fpsoftfp multilib:libv7fphard"
11MULTILIBS += "multilib:libv6mnofp"
12MULTILIBS += "multilib:libv7mnofp"
13MULTILIBS += "multilib:libv7emnofp multilib:libv7emfpsoftfp"
14MULTILIBS += "multilib:libv7emfphard multilib:libv7emdpsoftfp"
15MULTILIBS += "multilib:libv7emdphard"
16MULTILIBS += "multilib:libv8mbasenofp"
17MULTILIBS += "multilib:libv8mmainnofp multilib:libv8mmainfpsoftfp multilib:libv8mmainfphard multilib:libv8mmaindpsoftfp multilib:libv8mmaindphard"
18
19TUNE_CCARGS = "${TUNE_CCARGS_tune-${DEFAULTTUNE}}"
20TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
21
22# Base configuration
23# CFLAGS:
24DEFAULTTUNE = "armrm"
25
26AVAILTUNES += "armrm"
27PACKAGE_EXTRA_ARCHS_tune-armrm = "${TUNE_PKGARCH_tune-armrm}"
28BASE_LIB_tune-armrm = "lib"
29TUNE_FEATURES_tune-armrm = "arm"
30TUNE_CCARGS_tune-armrm = ""
31TUNE_PKGARCH_tune-armrm = "armrm"
32
33
34# arm/v5te/softfp
35# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=softfp
36DEFAULTTUNE_virtclass-multilib-libarmv5tesoftfp = "armv5tesoftfp"
37
38AVAILTUNES += "armv5tesoftfp"
39PACKAGE_EXTRA_ARCHS_tune-armv5tesoftfp = "${TUNE_PKGARCH_tune-armv5tesoftfp}"
40BASE_LIB_tune-armv5tesoftfp = "lib/arm/v5te/softfp"
41TUNE_FEATURES_tune-armv5tesoftfp = "arm"
42TUNE_CCARGS_tune-armv5tesoftfp = "-marm -march=armv5te+fp -mfloat-abi=softfp"
43TUNE_PKGARCH_tune-armv5tesoftfp = "armv5tefp"
44
45
46# arm/v5te/hard
47# CFLAGS: -marm -march=armv5te+fp -mfloat-abi=hard
48DEFAULTTUNE_virtclass-multilib-libarmv5tehard = "armv5tehard"
49
50AVAILTUNES += "armv5tehard"
51PACKAGE_EXTRA_ARCHS_tune-armv5tehard = "${TUNE_PKGARCH_tune-armv5tehard}"
52BASE_LIB_tune-armv5tehard = "lib/arm/v5te/hard"
53TUNE_FEATURES_tune-armv5tehard = "arm"
54TUNE_CCARGS_tune-armv5tehard = "-marm -march=armv5te+fp -mfloat-abi=hard"
55TUNE_PKGARCH_tune-armv5tehard = "armv5tefphf"
56
57
58# thumb/nofp
59# CFLAGS: -mthumb -mfloat-abi=soft
60DEFAULTTUNE_virtclass-multilib-libnofp = "armnofp"
61
62AVAILTUNES += "armnofp"
63PACKAGE_EXTRA_ARCHS_tune-armnofp = "${TUNE_PKGARCH_tune-armnofp}"
64BASE_LIB_tune-armnofp = "lib/thumb/nofp"
65TUNE_FEATURES_tune-armnofp = "arm"
66TUNE_CCARGS_tune-armnofp = "-mthumb -mfloat-abi=soft"
67TUNE_PKGARCH_tune-armnofp = "armt"
68
69
70# thumb/v7/nofp
71# CFLAGS: -mthumb -march=armv7 -mfloat-abi=soft
72DEFAULTTUNE_virtclass-multilib-libv7nofp = "armv7nofp"
73
74AVAILTUNES += "armv7nofp"
75PACKAGE_EXTRA_ARCHS_tune-armv7nofp = "${TUNE_PKGARCH_tune-armv7nofp}"
76BASE_LIB_tune-armv7nofp = "lib/thumb/v7/nofp"
77TUNE_FEATURES_tune-armv7nofp = "arm"
78TUNE_CCARGS_tune-armv7nofp = "-mthumb -march=armv7 -mfloat-abi=soft"
79TUNE_PKGARCH_tune-armv7nofp = "armv7t"
80
81
82# thumb/v7+fp/softfp
83# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=softfp
84DEFAULTTUNE_virtclass-multilib-libv7fpsoftfp = "armv7fpsoftfp"
85
86AVAILTUNES += "armv7fpsoftfp"
87PACKAGE_EXTRA_ARCHS_tune-armv7fpsoftfp = "${TUNE_PKGARCH_tune-armv7fpsoftfp}"
88BASE_LIB_tune-armv7fpsoftfp = "lib/thumb/v7+fp/softfp"
89TUNE_FEATURES_tune-armv7fpsoftfp = "arm"
90TUNE_CCARGS_tune-armv7fpsoftfp = "-mthumb -march=armv7+fp -mfloat-abi=softfp"
91TUNE_PKGARCH_tune-armv7fpsoftfp = "armv7fpt"
92
93
94# thumb/v7+fp/hard
95# CFLAGS: -mthumb -march=armv7+fp -mfloat-abi=hard
96DEFAULTTUNE_virtclass-multilib-libv7fphard = "armv7fphard"
97
98AVAILTUNES += "armv7fphard"
99PACKAGE_EXTRA_ARCHS_tune-armv7fphard = "${TUNE_PKGARCH_tune-armv7fphard}"
100BASE_LIB_tune-armv7fphard = "lib/thumb/v7+fp/hard"
101TUNE_FEATURES_tune-armv7fphard = "arm"
102TUNE_CCARGS_tune-armv7fphard = "-mthumb -march=armv7+fp -mfloat-abi=hard"
103TUNE_PKGARCH_tune-armv7fphard = "armv7fpthf"
104
105
106# thumb/v6-m/nofp
107# CFLAGS: -mthumb -march=armv6s-m -mfloat-abi=soft
108DEFAULTTUNE_virtclass-multilib-libv6mnofp = "armv6mnofp"
109
110# Workaround for this multilib in newlib
111# newlib/libc/sys/arm/trap.S:88: Error: lo register required -- `sub ip,sp,ip
112EXTRA_OECONF_append_pn-libv6mnofp-newlib = " --disable-newlib-supplied-syscalls"
113
114AVAILTUNES += "armv6mnofp"
115PACKAGE_EXTRA_ARCHS_tune-armv6mnofp = "${TUNE_PKGARCH_tune-armv6mnofp}"
116BASE_LIB_tune-armv6mnofp = "lib/thumb/v6-m/nofp"
117TUNE_FEATURES_tune-armv6mnofp = "arm"
118TUNE_CCARGS_tune-armv6mnofp = "-mthumb -march=armv6s-m -mfloat-abi=soft"
119TUNE_PKGARCH_tune-armv6mnofp = "armv6smt"
120
121
122# thumb/v7-m/nofp
123# CFLAGS: -mthumb -march=armv7-m -mfloat-abi=soft
124DEFAULTTUNE_virtclass-multilib-libv7mnofp = "armv7mnofp"
125
126AVAILTUNES += "armv7mnofp"
127PACKAGE_EXTRA_ARCHS_tune-armv7mnofp = "${TUNE_PKGARCH_tune-armv7mnofp}"
128BASE_LIB_tune-armv7mnofp = "lib/thumb/v7-m/nofp"
129TUNE_FEATURES_tune-armv7mnofp = "arm"
130TUNE_CCARGS_tune-armv7mnofp = "-mthumb -march=armv7-m -mfloat-abi=soft"
131TUNE_PKGARCH_tune-armv7mnofp = "armv7mt"
132
133
134# thumb/v7e-m/nofp
135# CFLAGS: -mthumb -march=armv7e-m -mfloat-abi=soft
136DEFAULTTUNE_virtclass-multilib-libv7emnofp = "armv7emnofp"
137
138AVAILTUNES += "armv7emnofp"
139PACKAGE_EXTRA_ARCHS_tune-armv7emnofp = "${TUNE_PKGARCH_tune-armv7emnofp}"
140BASE_LIB_tune-armv7emnofp = "lib/thumb/v7e-m/nofp"
141TUNE_FEATURES_tune-armv7emnofp = "arm"
142TUNE_CCARGS_tune-armv7emnofp = "-mthumb -march=armv7e-m -mfloat-abi=soft"
143TUNE_PKGARCH_tune-armv7emnofp = "armv7emt"
144
145
146# thumb/v7e-m+fp/softfp
147# CFLAGS: -mthumb -march=armv7e-m+fp -mfloat-abi=softfp
148DEFAULTTUNE_virtclass-multilib-libv7emfpsoftfp = "armv7emfpsoftfp"
149
150AVAILTUNES += "armv7emfpsoftfp"
151PACKAGE_EXTRA_ARCHS_tune-armv7emfpsoftfp = "${TUNE_PKGARCH_tune-armv7emfpsoftfp}"
152BASE_LIB_tune-armv7emfpsoftfp = "lib/thumb/v7e-m+fp/softfp"
153TUNE_FEATURES_tune-armv7emfpsoftfp = "arm"
154TUNE_CCARGS_tune-armv7emfpsoftfp = "-mthumb -march=armv7e-m+fp -mfloat-abi=softfp"
155TUNE_PKGARCH_tune-armv7emfpsoftfp = "armv7emfpt"
156
157
158# thumb/v7e-m+fp/hard
159# CFLAGS: -mthumb -march=armv7e-m+fp -mfloat-abi=hard
160DEFAULTTUNE_virtclass-multilib-libv7emfphard = "armv7emfphard"
161
162AVAILTUNES += "armv7emfphard"
163PACKAGE_EXTRA_ARCHS_tune-armv7emfphard = "${TUNE_PKGARCH_tune-armv7emfphard}"
164BASE_LIB_tune-armv7emfphard = "lib/thumb/v7e-m+fp/hard"
165TUNE_FEATURES_tune-armv7emfphard = "arm"
166TUNE_CCARGS_tune-armv7emfphard = "-mthumb -march=armv7e-m+fp -mfloat-abi=hard"
167TUNE_PKGARCH_tune-armv7emfphard = "armv7emfpthf"
168
169
170# thumb/v7e-m+dp/softfp
171# CFLAGS: -mthumb -march=armv7e-m+fp.dp -mfloat-abi=softfp
172DEFAULTTUNE_virtclass-multilib-libv7emdpsoftfp = "armv7emdpsoftfp"
173
174AVAILTUNES += "armv7emdpsoftfp"
175PACKAGE_EXTRA_ARCHS_tune-armv7emdpsoftfp = "${TUNE_PKGARCH_tune-armv7emdpsoftfp}"
176BASE_LIB_tune-armv7emdpsoftfp = "lib/thumb/v7e-m+dp/softfp"
177TUNE_FEATURES_tune-armv7emdpsoftfp = "arm"
178TUNE_CCARGS_tune-armv7emdpsoftfp = "-mthumb -march=armv7e-m+fp.dp -mfloat-abi=softfp"
179TUNE_PKGARCH_tune-armv7emdpsoftfp = "armv7emdp"
180
181# thumb/v7e-m+dp/hard
182# CFLAGS: -mthumb -march=armv7e-m+fp.dp -mfloat-abi=hard
183DEFAULTTUNE_virtclass-multilib-libv7emdphard = "armv7emdphard"
184
185AVAILTUNES += "armv7emdphard"
186PACKAGE_EXTRA_ARCHS_tune-armv7emdphard = "${TUNE_PKGARCH_tune-armv7emdphard}"
187BASE_LIB_tune-armv7emdphard = "lib/thumb/v7e-m+dp/hard"
188TUNE_FEATURES_tune-armv7emdphard = "arm"
189TUNE_CCARGS_tune-armv7emdphard = "-mthumb -march=armv7e-m+fp.dp -mfloat-abi=hard"
190TUNE_PKGARCH_tune-armv7emdphard = "armv7emdpthf"
191
192
193# thumb/v8-m.base/nofp
194# CFLAGS: -mthumb -march=armv8-m.base -mfloat-abi=soft
195DEFAULTTUNE_virtclass-multilib-libv8mbasenofp = "armv8mbasenofp"
196
197# Workaround for this multilib in newlib
198# newlib/libc/sys/arm/trap.S:88: Error: lo register required -- `sub ip,sp,ip'
199EXTRA_OECONF_append_pn-libv8mbasenofp-newlib = " --disable-newlib-supplied-syscalls"
200
201AVAILTUNES += "armv8mbasenofp"
202PACKAGE_EXTRA_ARCHS_tune-armv8mbasenofp = "${TUNE_PKGARCH_tune-armv8mbasenofp}"
203BASE_LIB_tune-armv8mbasenofp = "lib/thumb/v8-m.base/nofp"
204TUNE_FEATURES_tune-armv8mbasenofp = "arm"
205TUNE_CCARGS_tune-armv8mbasenofp = "-mthumb -march=armv8-m.base -mfloat-abi=soft"
206TUNE_PKGARCH_tune-armv8mbasenofp = "armv8mbaset"
207
208# thumb/v8-m.main/nofp
209# CFLAGS: -mthumb -march=armv8-m.main -mfloat-abi=soft
210DEFAULTTUNE_virtclass-multilib-libv8mmainnofp = "armv8mmainnofp"
211
212AVAILTUNES += "armv8mmainnofp"
213PACKAGE_EXTRA_ARCHS_tune-armv8mmainnofp = "${TUNE_PKGARCH_tune-armv8mmainnofp}"
214BASE_LIB_tune-armv8mmainnofp = "lib/thumb/v8-m.main/nofp"
215TUNE_FEATURES_tune-armv8mmainnofp = "arm"
216TUNE_CCARGS_tune-armv8mmainnofp = "-mthumb -march=armv8-m.main -mfloat-abi=soft"
217TUNE_PKGARCH_tune-armv8mmainnofp = "armv8mmaint"
218
219
220# thumb/v8-m.main+fp/softfp
221# CFLAGS: -mthumb -march=armv8-m.main+fp -mfloat-abi=softfp
222DEFAULTTUNE_virtclass-multilib-libv8mmainfpsoftfp = "armv8mmainfpsoftfp"
223
224AVAILTUNES += "armv8mmainfpsoftfp"
225PACKAGE_EXTRA_ARCHS_tune-armv8mmainfpsoftfp = "${TUNE_PKGARCH_tune-armv8mmainfpsoftfp}"
226BASE_LIB_tune-armv8mmainfpsoftfp = "lib/thumb/v8-m.main+fp/softfp"
227TUNE_FEATURES_tune-armv8mmainfpsoftfp = "arm"
228TUNE_CCARGS_tune-armv8mmainfpsoftfp = "-mthumb -march=armv8-m.main+fp -mfloat-abi=softfp"
229TUNE_PKGARCH_tune-armv8mmainfpsoftfp = "armv8mmainfpt"
230
231# thumb/v8-m.main+fp/hard
232# CFLAGS: -mthumb -march=armv8-m.main+fp -mfloat-abi=hard
233DEFAULTTUNE_virtclass-multilib-libv8mmainfphard = "armv8mmainfphard"
234
235AVAILTUNES += "armv8mmainfphard"
236PACKAGE_EXTRA_ARCHS_tune-armv8mmainfphard = "${TUNE_PKGARCH_tune-armv8mmainfphard}"
237BASE_LIB_tune-armv8mmainfphard = "lib/thumb/v8-m.main+fp/hard"
238TUNE_FEATURES_tune-armv8mmainfphard = "arm"
239TUNE_CCARGS_tune-armv8mmainfphard = "-mthumb -march=armv8-m.main+fp -mfloat-abi=hard"
240TUNE_PKGARCH_tune-armv8mmainfphard = "armv8mmainfpthf"
241
242
243# thumb/v8-m.main+dp/softfp
244# CFLAGS: -mthumb -march=armv8-m.main+fp.dp -mfloat-abi=softfp
245DEFAULTTUNE_virtclass-multilib-libv8mmaindpsoftfp = "armv8mmaindpsoftfp"
246
247AVAILTUNES += "armv8mmaindpsoftfp"
248PACKAGE_EXTRA_ARCHS_tune-armv8mmaindpsoftfp = "${TUNE_PKGARCH_tune-armv8mmaindpsoftfp}"
249BASE_LIB_tune-armv8mmaindpsoftfp = "lib/thumb/v8-m.main+dp/softfp"
250TUNE_FEATURES_tune-armv8mmaindpsoftfp = "arm"
251TUNE_CCARGS_tune-armv8mmaindpsoftfp = "-mthumb -march=armv8-m.main+fp.dp -mfloat-abi=softfp"
252TUNE_PKGARCH_tune-armv8mmaindpsoftfp = "armv8mmainfpdpt"
253
254
255# thumb/v8-m.main+dp/hard
256# CFLAGS: -mthumb -march=armv8-m.main+fp.dp -mfloat-abi=hard
257DEFAULTTUNE_virtclass-multilib-libv8mmaindphard = "armv8mmaindphard"
258
259AVAILTUNES += "armv8mmaindphard"
260PACKAGE_EXTRA_ARCHS_tune-armv8mmaindphard = "${TUNE_PKGARCH_tune-armv8mmaindphard}"
261BASE_LIB_tune-armv8mmaindphard = "lib/thumb/v8-m.main+dp/hard"
262TUNE_FEATURES_tune-armv8mmaindphard = "arm"
263TUNE_CCARGS_tune-armv8mmaindphard = "-mthumb -march=armv8-m.main+fp.dp -mfloat-abi=hard"
264TUNE_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 @@
1# This is specific to baremetal toolchains only.
2#
3# Some of the operations we want to do are different then regular Yocto
4# Project SDK workflows, so wrap baremetal toolchain items in a custom
5# override:
6
7MACHINEOVERRIDES_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 @@
1require conf/multilib.conf
2require conf/machine/include/microblaze/arch-microblaze.inc
3require conf/machine/include/baremetal-tc.conf
4
5# ILP request an alternative machine dictionary
6INHERIT += "xlnx-standalone"
7PACKAGEQA_EXTRA_MACHDEFFUNCS .= '${@bb.utils.contains("TUNE_FEATURES", "64-bit", " xlnx_mb64_dict", "", d)}'
8
9# GNU hash style not supported
10TARGET_LINK_HASH_STYLE = ""
11
12# Define all of the multilibs supproted by this configuration
13MULTILIB_GLOBAL_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
14
15MULTILIBS += "multilib:libbs"
16MULTILIBS += "multilib:lible"
17# Can't be 'libm...' or failures happen
18MULTILIBS += "multilib:libmbm"
19MULTILIBS += "multilib:libmbmmh"
20
21MULTILIBS += "multilib:liblem"
22MULTILIBS += "multilib:liblemmh"
23MULTILIBS += "multilib:libbsle"
24MULTILIBS += "multilib:libbsm"
25MULTILIBS += "multilib:libbsmmh"
26MULTILIBS += "multilib:libbslem"
27MULTILIBS += "multilib:libbslemmh"
28MULTILIBS += "multilib:lib64le"
29MULTILIBS += "multilib:lib64lem"
30MULTILIBS += "multilib:lib64lemmh"
31MULTILIBS += "multilib:lib64bsle"
32MULTILIBS += "multilib:lib64bslem"
33MULTILIBS += "multilib:lib64bslemmh"
34
35# Base configuration
36# CFLAGS:
37DEFAULTTUNE = "microblaze"
38
39AVAILTUNES += "microblaze"
40BASE_LIB_tune-microblaze = "lib"
41TUNE_FEATURES_tune-microblaze = "microblaze bigendian"
42PACKAGE_EXTRA_ARCHS_tune-microblaze = "${TUNE_PKGARCH}"
43
44
45# bs
46# CFLAGS: -mxl-barrel-shift
47DEFAULTTUNE_virtclass-multilib-libbs = "microblazebs"
48
49AVAILTUNES += "microblazebs"
50BASE_LIB_tune-microblazebs = "lib/bs"
51TUNE_FEATURES_tune-microblazebs = "microblaze bigendian barrel-shift"
52PACKAGE_EXTRA_ARCHS_tune-microblazebs = "${TUNE_PKGARCH}"
53
54
55# le
56# CFLAGS: -mlittle-endian
57DEFAULTTUNE_virtclass-multilib-lible = "microblazele"
58
59AVAILTUNES += "microblazele"
60BASE_LIB_tune-microblazele = "lib/le"
61TUNE_FEATURES_tune-microblazele = "microblaze"
62PACKAGE_EXTRA_ARCHS_tune-microblazele = "${TUNE_PKGARCH}"
63
64
65# m
66# CFLAGS: -mno-xl-soft-mul
67# Can't be 'libm...' or failures happen
68DEFAULTTUNE_virtclass-multilib-libmbm = "microblazem"
69
70AVAILTUNES += "microblazem"
71BASE_LIB_tune-microblazem = "lib/m"
72TUNE_FEATURES_tune-microblazem = "microblaze bigendian multiply-low"
73PACKAGE_EXTRA_ARCHS_tune-microblazem = "${TUNE_PKGARCH}"
74
75
76# m/mh
77# CFLAGS: -mno-xl-soft-mul -mxl-multiply-high
78# Can't be 'libm...' or failures happen
79DEFAULTTUNE_virtclass-multilib-libmbmmh = "microblazemmh"
80
81AVAILTUNES += "microblazemmh"
82BASE_LIB_tune-microblazemmh = "lib/m/mh"
83TUNE_FEATURES_tune-microblazemmh = "microblaze bigendian multiply-high"
84PACKAGE_EXTRA_ARCHS_tune-microblazemmh = "${TUNE_PKGARCH}"
85
86
87# le/m
88# CFLAGS: -mlittle-endian -mno-xl-soft-mul
89DEFAULTTUNE_virtclass-multilib-liblem = "microblazelem"
90
91AVAILTUNES += "microblazelem"
92BASE_LIB_tune-microblazelem = "lib/le/m"
93TUNE_FEATURES_tune-microblazelem = "microblaze multiply-low"
94PACKAGE_EXTRA_ARCHS_tune-microblazelem = "${TUNE_PKGARCH}"
95
96
97# le/m/mh
98# CFLAGS: -mlittle-endian -mno-xl-soft-mul -mxl-multiply-high
99DEFAULTTUNE_virtclass-multilib-liblemmh = "microblazelemmh"
100
101AVAILTUNES += "microblazelemmh"
102BASE_LIB_tune-microblazelemmh = "lib/le/m/mh"
103TUNE_FEATURES_tune-microblazelemmh = "microblaze multiply-high"
104PACKAGE_EXTRA_ARCHS_tune-microblazelemmh = "${TUNE_PKGARCH}"
105
106
107# bs/le
108# CFLAGS: -mxl-barrel-shift -mlittle-endian
109DEFAULTTUNE_virtclass-multilib-libbsle = "microblazebsle"
110
111AVAILTUNES += "microblazebsle"
112BASE_LIB_tune-microblazebsle = "lib/bs/le"
113TUNE_FEATURES_tune-microblazebsle = "microblaze bigendian barrel-shift"
114PACKAGE_EXTRA_ARCHS_tune-microblazebsle = "${TUNE_PKGARCH}"
115
116# bs/m
117# CFLAGS: -mxl-barrel-shift -mno-xl-soft-mul
118DEFAULTTUNE_virtclass-multilib-libbsm = "microblazebsm"
119
120AVAILTUNES += "microblazebsm"
121BASE_LIB_tune-microblazebsm = "lib/bs/m"
122TUNE_FEATURES_tune-microblazebsm = "microblaze bigendian barrel-shift multiply-low"
123PACKAGE_EXTRA_ARCHS_tune-microblazebsm = "${TUNE_PKGARCH}"
124
125
126# bs/m/mh
127# CFLAGS: -mxl-barrel-shift -mno-xl-soft-mul -mxl-multiply-high
128DEFAULTTUNE_virtclass-multilib-libbsmmh = "microblazebsmmh"
129
130AVAILTUNES += "microblazebsmmh"
131BASE_LIB_tune-microblazebsmmh = "lib/bs/m/mh"
132TUNE_FEATURES_tune-microblazebsmmh = "microblaze bigendian barrel-shift multiply-high"
133PACKAGE_EXTRA_ARCHS_tune-microblazebsmmh = "${TUNE_PKGARCH}"
134
135
136# bs/le/m
137# CFLAGS: -mxl-barrel-shift -mlittle-endian -mno-xl-soft-mul
138DEFAULTTUNE_virtclass-multilib-libbslem = "microblazebslem"
139
140AVAILTUNES += "microblazebslem"
141BASE_LIB_tune-microblazebslem = "lib/bs/le/m"
142TUNE_FEATURES_tune-microblazebslem = "microblaze barrel-shift multiply-low"
143PACKAGE_EXTRA_ARCHS_tune-microblazebslem = "${TUNE_PKGARCH}"
144
145
146# bs/le/m/mh
147# CFLAGS: -mxl-barrel-shift -mlittle-endian -mno-xl-soft-mul -mxl-multiply-high
148DEFAULTTUNE_virtclass-multilib-libbslemmh = "microblazebslemmh"
149
150AVAILTUNES += "microblazebslemmh"
151BASE_LIB_tune-microblazebslemmh = "lib/bs/le/m/mh"
152TUNE_FEATURES_tune-microblazebslemmh = "microblaze barrel-shift multiply-high"
153PACKAGE_EXTRA_ARCHS_tune-microblazebslemmh = "${TUNE_PKGARCH}"
154
155
156# m64/le
157# CFLAGS: -m64 -mlittle-endian
158DEFAULTTUNE_virtclass-multilib-lib64le = "microblaze64le"
159
160AVAILTUNES += "microblaze64le"
161BASE_LIB_tune-microblaze64le = "lib/m64/le"
162TUNE_FEATURES_tune-microblaze64le = "microblaze 64-bit"
163PACKAGE_EXTRA_ARCHS_tune-microblaze64le = "${TUNE_PKGARCH}"
164
165
166# m64/le/m
167# CFLAGS: -m64 -mlittle-endian -mno-xl-soft-mul
168DEFAULTTUNE_virtclass-multilib-lib64lem = "microblaze64lem"
169
170AVAILTUNES += "microblaze64lem"
171BASE_LIB_tune-microblaze64lem = "lib/m64/le/m"
172TUNE_FEATURES_tune-microblaze64lem = "microblaze 64-bit multiply-low"
173PACKAGE_EXTRA_ARCHS_tune-microblaze64lem = "${TUNE_PKGARCH}"
174
175
176# m64/le/m/mh
177# CFLAGS: -m64 -mlittle-endian -mno-xl-soft-mul -mxl-multiply-high
178DEFAULTTUNE_virtclass-multilib-lib64lemmh = "microblaze64lemmh"
179
180AVAILTUNES += "microblaze64lemmh"
181BASE_LIB_tune-microblaze64lemmh = "lib/m64/le/m/mh"
182TUNE_FEATURES_tune-microblaze64lemmh = "microblaze 64-bit multiply-high"
183PACKAGE_EXTRA_ARCHS_tune-microblaze64lemmh = "${TUNE_PKGARCH}"
184
185
186# m64/bs/le
187# CFLAGS: -m64 -mxl-barrel-shift -mlittle-endian
188DEFAULTTUNE_virtclass-multilib-lib64bsle = "microblaze64bsle"
189
190AVAILTUNES += "microblaze64bsle"
191BASE_LIB_tune-microblaze64bsle = "lib/m64/bs/le"
192TUNE_FEATURES_tune-microblaze64bsle = "microblaze 64-bit barrel-shift"
193PACKAGE_EXTRA_ARCHS_tune-microblaze64bsle = "${TUNE_PKGARCH}"
194
195
196# m64/bs/le/m
197# CFLAGS: -m64 -mxl-barrel-shift -mlittle-endian -mno-xl-soft-mul
198DEFAULTTUNE_virtclass-multilib-lib64bslem = "microblaze64bslem"
199
200AVAILTUNES += "microblaze64bslem"
201BASE_LIB_tune-microblaze64bslem = "lib/m64/bs/le/m"
202TUNE_FEATURES_tune-microblaze64bslem = "microblaze 64-bit barrel-shift multiply-low"
203PACKAGE_EXTRA_ARCHS_tune-microblaze64bslem = "${TUNE_PKGARCH}"
204
205
206# m64/bs/le/m/mh
207# CFLAGS: -m64 -mxl-barrel-shift -mlittle-endian -mno-xl-soft-mul -mxl-multiply-high
208DEFAULTTUNE_virtclass-multilib-lib64bslemmh = "microblaze64bslemmh"
209
210AVAILTUNES += "microblaze64bslemmh"
211BASE_LIB_tune-microblaze64bslemmh = "lib/m64/bs/le/m/mh"
212TUNE_FEATURES_tune-microblaze64bslemmh = "microblaze 64-bit barrel-shift multiply-high"
213PACKAGE_EXTRA_ARCHS_tune-microblaze64bslemmh = "${TUNE_PKGARCH}"
214