summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@xilinx.com>2021-12-18 14:41:27 -0800
committerMark Hatle <mark.hatle@xilinx.com>2022-01-14 11:23:13 -0800
commitae3497cd03cdd096730b7e797cadf3b7bcfbdb90 (patch)
tree2294d7ca832dafc2c882166eb27848a9326ed6af
parentdd1af54374ae9e96cebef306730c1f26d89d9e30 (diff)
downloadmeta-xilinx-ae3497cd03cdd096730b7e797cadf3b7bcfbdb90.tar.gz
Microblaze: Make microblaze-generic arch dynamic to configuration
Adjust configurations, and users of the generic configuration. The TUNE must be set BEFOER the inclusion, otherwise there is no way to dynamicly generate the correct MACHINE_ARCH. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
-rw-r--r--meta-xilinx-bsp/conf/machine/include/soc-tune-include.inc7
-rw-r--r--meta-xilinx-bsp/conf/machine/include/xilinx-microblaze.inc7
-rw-r--r--meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf5
-rw-r--r--meta-xilinx-bsp/conf/machine/microblaze-generic.conf15
-rw-r--r--meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf4
-rw-r--r--meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf4
-rw-r--r--meta-xilinx-bsp/conf/machine/ml605-qemu-microblazeel.conf6
-rw-r--r--meta-xilinx-bsp/conf/machine/s3adsp1800-qemu-microblazeeb.conf6
8 files changed, 35 insertions, 19 deletions
diff --git a/meta-xilinx-bsp/conf/machine/include/soc-tune-include.inc b/meta-xilinx-bsp/conf/machine/include/soc-tune-include.inc
index 810ad9e9..539879d4 100644
--- a/meta-xilinx-bsp/conf/machine/include/soc-tune-include.inc
+++ b/meta-xilinx-bsp/conf/machine/include/soc-tune-include.inc
@@ -1,13 +1,16 @@
1DEFAULTTUNE ??= "armv8a"
2
1# Unfortunately various tunefiles don't include each other, so create 3# Unfortunately various tunefiles don't include each other, so create
2# a list of things to require based on the DEFAULTTUNE setting. 4# a list of things to require based on the DEFAULTTUNE setting.
3TUNEFILE[cortexr5] = "conf/machine/include/arm/armv7r/tune-cortexr5.inc" 5TUNEFILE[cortexr5] = "conf/machine/include/arm/armv7r/tune-cortexr5.inc"
4TUNEFILE[cortexa9thf-neon] = "conf/machine/include/arm/armv7a/tune-cortexa9.inc" 6TUNEFILE[cortexa9thf-neon] = "conf/machine/include/arm/armv7a/tune-cortexa9.inc"
7TUNEFILE[armv8a] = "conf/machine/include/arm/arch-armv8a.inc"
5TUNEFILE[cortexa53] = "conf/machine/include/arm/armv8a/tune-cortexa53.inc" 8TUNEFILE[cortexa53] = "conf/machine/include/arm/armv8a/tune-cortexa53.inc"
6TUNEFILE[cortexa72] = "conf/machine/include/arm/armv8a/tune-cortexa72.inc" 9TUNEFILE[cortexa72] = "conf/machine/include/arm/armv8a/tune-cortexa72.inc"
7TUNEFILE[cortexa72-cortexa53] = "conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc" 10TUNEFILE[cortexa72-cortexa53] = "conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc"
8TUNEFILE[microblaze] = "conf/machine/include/microblaze/tune-microblaze.inc" 11TUNEFILE[microblaze] = "conf/machine/include/xilinx-microblaze.inc"
9 12
10# Default to arch-armv8a.inc 13# Default to arch-armv8a.inc
11TUNEFILE = "${@ d.getVarFlag('TUNEFILE', d.getVar('DEFAULTTUNE')) if d.getVarFlag('TUNEFILE', d.getVar('DEFAULTTUNE')) else 'conf/machine/include/arm/arch-armv8a.inc'}" 14TUNEFILE = "${@ d.getVarFlag('TUNEFILE', d.getVar('DEFAULTTUNE')) or 'conf/machine/include/arm/arch-armv8a.inc'}"
12 15
13require ${TUNEFILE} 16require ${TUNEFILE}
diff --git a/meta-xilinx-bsp/conf/machine/include/xilinx-microblaze.inc b/meta-xilinx-bsp/conf/machine/include/xilinx-microblaze.inc
new file mode 100644
index 00000000..d0252e79
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/include/xilinx-microblaze.inc
@@ -0,0 +1,7 @@
1# To avoid the require overriding previous defaults we use the override to make this the default
2TUNE_FEATURES_save := "${TUNE_FEATURES:tune-microblaze}"
3
4require conf/machine/include/microblaze/tune-microblaze.inc
5
6# Reset the default value back to what it was previously set to...
7TUNE_FEATURES:tune-microblaze := "${TUNE_FEATURES_save}"
diff --git a/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf b/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf
index 097ca084..36cdc1e5 100644
--- a/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf
+++ b/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf
@@ -3,10 +3,9 @@
3#@DESCRIPTION: Machine support for Xilinx KC705 Embedded Kit. 3#@DESCRIPTION: Machine support for Xilinx KC705 Embedded Kit.
4# 4#
5 5
6require conf/machine/include/microblaze/tune-microblaze.inc 6TUNE_FEATURES:tune-microblaze ?= "microblaze v11.0 barrel-shift reorder pattern-compare multiply-high divide-hard"
7require conf/machine/include/machine-xilinx-default.inc
8 7
9TUNE_FEATURES:tune-microblaze += "v11.0 barrel-shift reorder pattern-compare multiply-high divide-hard" 8require conf/machine/microblaze-generic.conf
10 9
11MACHINE_FEATURES = "" 10MACHINE_FEATURES = ""
12 11
diff --git a/meta-xilinx-bsp/conf/machine/microblaze-generic.conf b/meta-xilinx-bsp/conf/machine/microblaze-generic.conf
index af119f5f..6dfa9997 100644
--- a/meta-xilinx-bsp/conf/machine/microblaze-generic.conf
+++ b/meta-xilinx-bsp/conf/machine/microblaze-generic.conf
@@ -2,11 +2,22 @@
2#@NAME: microblaze-generic 2#@NAME: microblaze-generic
3#@DESCRIPTION: Generic microblaze defaults to little-endian v11.0 barrel-shift pattern-compare reorder divide-hard multiple-high support 3#@DESCRIPTION: Generic microblaze defaults to little-endian v11.0 barrel-shift pattern-compare reorder divide-hard multiple-high support
4 4
5require conf/machine/include/microblaze/tune-microblaze.inc 5# Set the default for a modern full feature microblaze...
6TUNE_FEATURES:tune-microblaze ?= "microblaze v11.0 barrel-shift pattern-compare reorder divide-hard multiply-high"
7DEFAULTTUNE ?= "microblaze"
8
9require conf/machine/include/soc-tune-include.inc
6require conf/machine/include/machine-xilinx-default.inc 10require conf/machine/include/machine-xilinx-default.inc
11require conf/machine/include/machine-xilinx-qemu.inc
7require conf/machine/include/xilinx-board.inc 12require conf/machine/include/xilinx-board.inc
8 13
9TUNE_FEATURES:tune-microblaze = "microblaze v11.0 barrel-shift pattern-compare reorder divide-hard multiply-high" 14# The default MACHINE_ARCH is dynmic for microblaze, since the architecture is not fixed
15# Based on core bitbake.conf
16DEF_MACHINE_ARCH = "${@[d.getVar('TUNE_PKGARCH'), d.getVar('MACHINE')][bool(d.getVar('MACHINE'))].replace('-', '_')}"
17# Enable a dynamic machine_arch
18MB_MACHINE_ARCH = "${@[d.getVar('TUNE_PKGARCH'), d.getVar('TUNE_PKGARCH') + '-generic'][bool(d.getVar('MACHINE'))].replace('-', '_')}"
19
20MACHINE_ARCH = "${@['${MB_MACHINE_ARCH}', '${DEF_MACHINE_ARCH}']['microblaze-generic' != "${MACHINE}"]}"
10 21
11MACHINE_FEATURES = "" 22MACHINE_FEATURES = ""
12 23
diff --git a/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf b/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf
index 415a61c2..96b4e6d1 100644
--- a/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf
+++ b/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf
@@ -2,6 +2,6 @@
2#@NAME: microblazeel-v11.0-bs-cmp-mh-div-generic 2#@NAME: microblazeel-v11.0-bs-cmp-mh-div-generic
3#@DESCRIPTION: microblazeel-v11.0-bs-cmp-mh-div 3#@DESCRIPTION: microblazeel-v11.0-bs-cmp-mh-div
4 4
5require conf/machine/include/microblaze-generic.conf 5TUNE_FEATURES:tune-microblaze ?= "microblaze v11.0 barrel-shift pattern-compare reorder divide-hard multiply-high"
6 6
7TUNE_FEATURES:tune-microblaze = "microblaze v11.0 barrel-shift pattern-compare reorder divide-hard multiply-high" 7require conf/machine/microblaze-generic.conf
diff --git a/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf b/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf
index 5d6ea8ab..cf83acf8 100644
--- a/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf
+++ b/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf
@@ -2,6 +2,6 @@
2#@NAME: microblazeel-v11.0-bs-cmp-ml-generic 2#@NAME: microblazeel-v11.0-bs-cmp-ml-generic
3#@DESCRIPTION: microblazeel-v11.0-bs-cmp-ml 3#@DESCRIPTION: microblazeel-v11.0-bs-cmp-ml
4 4
5require conf/machine/include/microblaze-generic.conf 5TUNE_FEATURES:tune-microblaze ?= "microblaze v11.0 barrel-shift reorder pattern-compare multiply-low"
6 6
7TUNE_FEATURES:tune-microblaze = "microblaze v11.0 barrel-shift reorder pattern-compare multiply-low" 7require conf/machine/microblaze-generic.conf
diff --git a/meta-xilinx-bsp/conf/machine/ml605-qemu-microblazeel.conf b/meta-xilinx-bsp/conf/machine/ml605-qemu-microblazeel.conf
index 49c007a2..a16c707b 100644
--- a/meta-xilinx-bsp/conf/machine/ml605-qemu-microblazeel.conf
+++ b/meta-xilinx-bsp/conf/machine/ml605-qemu-microblazeel.conf
@@ -2,11 +2,9 @@
2#@NAME: ml605-qemu-microblazeel 2#@NAME: ml605-qemu-microblazeel
3#@DESCRIPTION: MicroBlaze QEMU machine support ('petalogix-ml605' model) 3#@DESCRIPTION: MicroBlaze QEMU machine support ('petalogix-ml605' model)
4 4
5require conf/machine/include/microblaze/tune-microblaze.inc 5TUNE_FEATURES:tune-microblaze ?= "microblaze v8.50 barrel-shift reorder pattern-compare divide-hard multiply-high fpu-hard"
6require conf/machine/include/machine-xilinx-default.inc
7require conf/machine/include/machine-xilinx-qemu.inc
8 6
9TUNE_FEATURES:tune-microblaze += "v8.50 barrel-shift reorder pattern-compare divide-hard multiply-high fpu-hard" 7require conf/machine/microblaze-generic.conf
10 8
11MACHINE_FEATURES = "" 9MACHINE_FEATURES = ""
12 10
diff --git a/meta-xilinx-bsp/conf/machine/s3adsp1800-qemu-microblazeeb.conf b/meta-xilinx-bsp/conf/machine/s3adsp1800-qemu-microblazeeb.conf
index c68d6ab5..12621357 100644
--- a/meta-xilinx-bsp/conf/machine/s3adsp1800-qemu-microblazeeb.conf
+++ b/meta-xilinx-bsp/conf/machine/s3adsp1800-qemu-microblazeeb.conf
@@ -2,11 +2,9 @@
2#@NAME: s3adsp1800-qemu-microblazeeb 2#@NAME: s3adsp1800-qemu-microblazeeb
3#@DESCRIPTION: MicroBlaze QEMU machine support ('petalogix-s3adsp1800' model) 3#@DESCRIPTION: MicroBlaze QEMU machine support ('petalogix-s3adsp1800' model)
4 4
5require conf/machine/include/microblaze/tune-microblaze.inc 5TUNE_FEATURES:tune-microblaze ?= "microblaze v8.00 bigendian barrel-shift pattern-compare multiply-low"
6require conf/machine/include/machine-xilinx-default.inc
7require conf/machine/include/machine-xilinx-qemu.inc
8 6
9TUNE_FEATURES:tune-microblaze += "v8.00 bigendian barrel-shift pattern-compare multiply-low" 7require conf/machine/microblaze-generic.conf
10 8
11MACHINE_FEATURES = "" 9MACHINE_FEATURES = ""
12 10