diff options
| author | Mark Hatle <mark.hatle@xilinx.com> | 2020-01-30 12:17:59 -0800 |
|---|---|---|
| committer | Mark Hatle <mark.hatle@xilinx.com> | 2020-01-31 16:05:01 -0800 |
| commit | 669b0410a23d61417d52ba50bf24a751436c0a21 (patch) | |
| tree | f67ad917529325e0888e764ceda08d8c40482c17 /meta-xilinx-bsp/classes | |
| parent | 3a6f68ef34561ae3003cfbfd82d8b175e33e830a (diff) | |
| download | meta-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.bbclass | 16 |
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. | ||
| 2 | def 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. | ||
| 10 | def 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 | ||
