aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@xilinx.com>2021-03-05 08:54:52 -0800
committerMark Hatle <mark.hatle@xilinx.com>2021-03-05 10:45:18 -0800
commitbab70c9b09106a9d2b1f168f7beff010dc4d44dc (patch)
tree3d16307e51ec12de970291b6ce9550fb0f02832c
parent2b71a5526730d915106405a71a7bcf515c68fbb1 (diff)
downloadmeta-xilinx-bab70c9b09106a9d2b1f168f7beff010dc4d44dc.tar.gz
meta-xilinx-bab70c9b09106a9d2b1f168f7beff010dc4d44dc.tar.bz2
meta-xilinx-bab70c9b09106a9d2b1f168f7beff010dc4d44dc.zip
Further adjustments for embeddedsw so it works with meta-xilinx-tools
Ensure that plm-firmware can run for any microblaze & versal configuration. Ensure that psm-firmware can run for any microblaze & versal configuration. Ensure that pmu-firmware can run for any microblaze & zynqmp configuration. In each case, use EXTRA_OEMAKE to set the bsp_make_vars instead of individual references. This allows meta-xilinx-tools to disable this. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc11
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware.inc12
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2020.2.bb10
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_git.bb10
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc12
5 files changed, 32 insertions, 23 deletions
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc
index 49e6e452..57e577ea 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware.inc
@@ -6,7 +6,8 @@ PROVIDES = "virtual/plm"
inherit xlnx-embeddedsw deploy
COMPATIBLE_HOST = "microblaze.*-elf"
-COMPATIBLE_MACHINE = "microblaze-plm"
+COMPATIBLE_MACHINE = "none"
+COMPATIBLE_MACHINE_versal = ".*"
S = "${WORKDIR}/git"
B = "${S}/lib/sw_apps/versal_plm/src"
@@ -32,19 +33,21 @@ def bsp_make_vars(d):
s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"]
return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s])
+EXTRA_OEMAKE = "${@bsp_make_vars(d)}"
+
do_compile() {
# the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc
# properly. So do its job manually. Preparing the includes first, then libs.
for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
- oe_runmake -C $(dirname $i) -s include ${@bsp_make_vars(d)}
+ oe_runmake -C $(dirname $i) -s include
done
for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
- oe_runmake -C $(dirname $i) -s libs ${@bsp_make_vars(d)}
+ oe_runmake -C $(dirname $i) -s libs
done
# --build-id=none is required due to linker script not defining a location for it.
# Again, recipe-systoot include is necessary
- oe_runmake CC="${CC}" CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include"
+ oe_runmake CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include"
}
do_install() {
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware.inc
index f77976e0..01d05a9b 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware.inc
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware.inc
@@ -5,7 +5,8 @@ PROVIDES = "virtual/pmu-firmware"
inherit xlnx-embeddedsw deploy
COMPATIBLE_HOST = "microblaze.*-elf"
-COMPATIBLE_MACHINE = "microblaze-pmu"
+COMPATIBLE_MACHINE = "none"
+COMPATIBLE_MACHINE_zynqmp = ".*"
S = "${WORKDIR}/git"
B = "${S}/lib/sw_apps/zynqmp_pmufw/src"
@@ -31,19 +32,21 @@ def bsp_make_vars(d):
s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"]
return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s])
+EXTRA_OEMAKE = "${@bsp_make_vars(d)}"
+
do_compile() {
# the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc
# properly. So do its job manually. Preparing the includes first, then libs.
for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
- oe_runmake -C $(dirname $i) -s include ${@bsp_make_vars(d)}
+ oe_runmake -C $(dirname $i) -s include
done
for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
- oe_runmake -C $(dirname $i) -s libs ${@bsp_make_vars(d)}
+ oe_runmake -C $(dirname $i) -s libs
done
# --build-id=none is required due to linker script not defining a location for it.
# Again, recipe-systoot include is necessary
- oe_runmake CC="${CC}" CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include"
+ oe_runmake CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include"
}
do_install() {
@@ -51,6 +54,7 @@ do_install() {
}
PMU_FIRMWARE_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
+PMU_FIRMWARE_BASE_NAME[vardepsexclude] = "DATETIME"
do_deploy() {
install -Dm 0644 ${B}/executable.elf ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.elf
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2020.2.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2020.2.bb
index 81eaf1ae..93c8bafc 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2020.2.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2020.2.bb
@@ -23,26 +23,26 @@ do_compile() {
# First process the sequential items
for i in $(cat seq.mak); do
echo Include Seq: $i
- oe_runmake -C $(dirname $i) -s include ${@bsp_make_vars(d)}
+ oe_runmake -C $(dirname $i) -s include
done
for i in $(cat seq.mak); do
echo Libs Seq: $i
- oe_runmake -C $(dirname $i) -s libs ${@bsp_make_vars(d)}
+ oe_runmake -C $(dirname $i) -s libs
done
# the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc
# properly. So do its job manually. Preparing the includes first, then libs.
for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
echo Include: $i
- oe_runmake -C $(dirname $i) -s include ${@bsp_make_vars(d)}
+ oe_runmake -C $(dirname $i) -s include
done
for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
echo Libs: $i
- oe_runmake -C $(dirname $i) -s libs ${@bsp_make_vars(d)}
+ oe_runmake -C $(dirname $i) -s libs
done
# --build-id=none is required due to linker script not defining a location for it.
# Again, recipe-systoot include is necessary
echo Construct: executable
- oe_runmake executable.elf ${@bsp_make_vars(d)} CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include"
+ oe_runmake executable.elf CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include"
}
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_git.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_git.bb
index fe4dcf5f..2fc69cbe 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_git.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_git.bb
@@ -26,26 +26,26 @@ do_compile() {
# First process the sequential items
for i in $(cat seq.mak); do
echo Include Seq: $i
- oe_runmake -C $(dirname $i) -s include ${@bsp_make_vars(d)}
+ oe_runmake -C $(dirname $i) -s include
done
for i in $(cat seq.mak); do
echo Libs Seq: $i
- oe_runmake -C $(dirname $i) -s libs ${@bsp_make_vars(d)}
+ oe_runmake -C $(dirname $i) -s libs
done
# the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc
# properly. So do its job manually. Preparing the includes first, then libs.
for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
echo Include: $i
- oe_runmake -C $(dirname $i) -s include ${@bsp_make_vars(d)}
+ oe_runmake -C $(dirname $i) -s include
done
for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
echo Libs: $i
- oe_runmake -C $(dirname $i) -s libs ${@bsp_make_vars(d)}
+ oe_runmake -C $(dirname $i) -s libs
done
# --build-id=none is required due to linker script not defining a location for it.
# Again, recipe-systoot include is necessary
echo Construct: executable
- oe_runmake executable.elf ${@bsp_make_vars(d)} CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include"
+ oe_runmake executable.elf CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include"
}
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc
index 25db5bf4..05b9a9b5 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware.inc
@@ -6,8 +6,8 @@ PROVIDES = "virtual/psm-firmware"
inherit xlnx-embeddedsw deploy
COMPATIBLE_HOST = "microblaze.*-elf"
-COMPATIBLE_MACHINE = "microblaze-psm"
-
+COMPATIBLE_MACHINE = "none"
+COMPATIBLE_MACHINE_versal = ".*"
S = "${WORKDIR}/git"
B = "${S}/lib/sw_apps/versal_psmfw/src"
@@ -33,19 +33,21 @@ def bsp_make_vars(d):
s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"]
return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s])
+EXTRA_OEMAKE = "${@bsp_make_vars(d)}"
+
do_compile() {
# the Makefile in ${B}/../misc/Makefile, does not handle CC, AR, AS, etc
# properly. So do its job manually. Preparing the includes first, then libs.
for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
- oe_runmake -C $(dirname $i) -s include ${@bsp_make_vars(d)}
+ oe_runmake -C $(dirname $i) -s include
done
for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
- oe_runmake -C $(dirname $i) -s libs ${@bsp_make_vars(d)}
+ oe_runmake -C $(dirname $i) -s libs
done
# --build-id=none is required due to linker script not defining a location for it.
# Again, recipe-systoot include is necessary
- oe_runmake CC="${CC}" CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include"
+ oe_runmake CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include"
}
do_install() {